Visual Basic Net

March 6, 2018 | Author: Jose Luis Paucar Charca | Category: Computer Program, Programming Language, Microsoft Visual Studio, Basic, C Sharp (Programming Language)
Share Embed Donate


Short Description

Download Visual Basic Net...

Description

REGLAS DEL CÓDIGO

Page 1 of 321

¡Hola! ¡Bienvenido a Reglas del Código! Estas a punto de emprender una aventura de aprendizaje a campo traviesa.

Microsoft.

Acompaña a Nikki y a Cliff mientras manejan la camper en el rally de carretera Reglas del Código. Sus buenos amigos, Jen y Dirk, también participan – ¡y tú estás invitado! El rally de carretera tiene 12 ciudades de destinos. Para terminar el rally, Nikki y Cliff deben viajar a cada destino en un orden particular. Durante el trayecto te enseñarán a programar en Visual Basic .Net usando Visual Studio .Net de

En este viaje aprenderás mucho de Nikki y Cliff. Ambos son guerreros del código Visual Basic .Net. Ellos te pondrán en camino presentándote la programación con Visual Studio .Net y antes de que te des cuenta escribirás tu primer programa, el tradicional Hello World. Ese es tan solo el principio. Pronto diseñarás formatos, añadirás elementos como botones y cuadros de texto y configurarás sus propiedades. Entonces comienza la diversión. Nikki y Cliff te enseñarán las bases de la programación: cómo usar variables, instrucciones de decisión, bucles y funciones. Les darás vida a los formatos y botones. Y entonces estarás programando. ¿Emocionado? Entonces ¡vámonos! Esta es una lista de todos los destinos a los que viajarás en el rally de carretera Reglas del Código.            

Everywhere, Wisconsin (programación y programadores) Ideal, Illinois (Visual Studio .Net y tu primer programa) Pseudo, Pennsylvania (planeación y diseño del programa) Formsville, Virginia (formatos) Proper, Georgia (propiedades) XY, Arkansas (variables) Switchboard, Oklahoma (operadores) Whatif, Texas (instrucciones condicionales) IfElse, New Mexico (instrucciones condicionales complejas) Def Valley, California (bucles definidos) Whatever, Colorado (bucles indefinidos) Function, South Dakota (funciones)

Cuando llegues a cada destino, el comité del rally Reglas del Código te someterá a una pequeña prueba para que puedas presumir lo que has aprendido en el trayecto. También tendrán algunos retos interesantes para que los codifiques. Estos son proyectos que querrás mostrarle a tus amigos. ¿Listo? ¡Vamonos!. Plan del curso Unidad 0: Reglas del Código • Conducir la camper • El Mapa de ruta y los destinos • Los aparatos electrónicos de Nikki Unidad 1: La programación se encuentra en todo • Los programas en la vida cotidiana Page 2 of 321

• • • • •

Lo que hacen los programadores ¿Qué es un programa? Opciones de lenguajes de programación Sintaxis del lenguaje de programación Sintaxis de Visual Basic.Net

Unidad 2: Visual Studio .Net e IDE • Visual Studio.Net • Iniciar Visual Studio • Usar Visual Studio.Net • Página de inicio de IDE • Mi perfil • Crear un proyecto nuevo • Ventana de proyecto nuevo • Ventana de diseño de formato • Ventana de cuadro de herramientas • Mover y redimensionar un botón • Agregar un código al botón • Crear tu solución • Creación exitosa • Creación fallida • Iniciar tu programa • Desplegar el cuadro de mensaje • La ventana de salida • Guardar tu proyecto • Archivos y carpetas de solución para Visual Basic Unidad 3: Pseudo-código • Tipos de instrucciones de código • ¿Qué es un pseudo-código? • Comentarios de código • Pseudo-código como comentario • Sangría y espacio en blanco Unidad 4: Formatos • Aplicaciones de Windows • Diseño del formato • Uso del formato • Propiedades del formato • Controles y propiedades del formato • Desencadenar eventos • Cuadros de mensaje Unidad 5: Propiedades y métodos • Propiedades • Dónde inicia el código • Leer propiedades con el código • Configurar propiedades con el código

Page 3 of 321

• • •

IntelliSense y notación de punto Métodos Llamar métodos con el código

Unidad 6: Asignaciones y variables • Asignaciones • Tipos • Tipos primitivos • ¿Qué son las variables? • ¿Por qué usar variables? • Declarar variables • ¿Dónde declaras las variables? • Inicializar las variables • Usar las variables • Entenderse con las variables • Otros tipos de variables Unidad 7: Operadores • Operadores • Operadores aritméticos • Operadores de cadena • El operador Not • Usar operadores en instrucciones de asignación • Operadores aritméticos en acción • El operador Not y los operadores concatenados en acción • Depuración del código • Entrar al código Unidad 8: If sencillo • Tomar decisiones • Lógica booleana • Operadores booleanos • Operadores de comparación • Ejecutar un código condicional • Instrucciones If…Then • Más de una instrucción If…Then • Más de una oración condicional • Opción múltiple • Operadores booleanos en el código Unidad 9: If complejo • Ampliación de If….Then • Instrucciones If…Then anidados • Condiciones contrarias • If…Then…Else • Entrar a una instrucción If…Then…Else • Instrucciones If en C# y J# • Operadores booleanos y operadores de comparación en C# y J# Page 4 of 321

• Unidad 10: Bucles finitos • Bucles • For…Next • Entrar a un bucle For…Next • Mil problemas de suma • Sacar la basura • Bucles dentro de bucles • Letrero de salida • Instrucciones For…Next en C# y J# Unidad 11: Bucles infinitos • Bucles infinitos • Bucle Do While… • Entrar al Bucle Do While… • Bucle Do Until… • Bucles en acción • Formatos de bucle alternos • Salir de ‘Do’ • Bucles indefinidos en J# y C# Unidad 12: Funciones • ¿Qué son las subs? • Escribir tus propias subs • Usar tu propia sub • Escribir y usar subs con argumentos • Escribir tus propias funciones • Usar tus propias funciones • Subs y funciones integradas • Algunas funciones de cadena • Generador de números aleatorios • Funciones de conversión • Subrutinas y funciones en J# y

Page 5 of 321

Lista de tareas de Reglas del Código No. de tarea 01 Ejercicio 01 01 01 02 02 02

Ejercicio 02 Reto Ejercicio 01 Ejercicio 02 Reto

03 Ejercicio 01 03 Ejercicio 02 03 Reto

04 Ejercicio 01 04 Ejercicio 02 04 Reto 05 Ejercicio 01 05 Ejercicio 02 05 06 06 06

Reto Ejercicio 01 Ejercicio 02 Reto

Titulo de la tarea

Descripción Mencionar por lo menos cuatro ejemplos que Computación demuestran que las computadoras forman parte cotidiana de la vida cotidiana. El uso de Internet o de otros recursos determina el salario inicial de los profesionistas de la Trabajos de tecnología de la información en tu localidad. informática Ninguno No hay Reto para la unidad 01. Hello World Escribir un programa llamado Hello World. Mi nombre es Escribir un programa llamado Mi Nombre es. Comida rápida Desplegar imágenes de comida rápida. Empacar para el Escribir un seudo código para describir los pasos viaje requeridos para empacar para tu viaje. Escribir un seudo código para describir los pasos Lavar los trastes requeridos para lavar los trastes Contar el número de peces de cada color, luego Pecera calcular que porcentaje representa cada uno. Crear un formato y ajustar las propiedades del objeto colocado en el formato usando la ventana. Propiedades para que puedas aprender Quién es quién más acerca de tus compañeros de viaje. El precio de la Ayudar a los clientes a evaluar el precio de su Pizza pizza. Gato Completar el programa para el juego Gato. Arco iris Crear un arco iris. Medidor de Ajustar un control de desplazamiento usando el viaje código. Ocultar y mostrar imágenes de flores usando el Flores código. Pedazo de Pi Mostrar el numero Pi en diferentes formatos. Rana saltarina Escribir un programa de juego de Rana saltarina. Bicho Encontrar 10 errores en un programa.

Page 6 of 321

No. de tarea 07 Ejercicio 01 07 Ejercicio 02 07 Reto 08 Ejercicio 01 08 Ejercicio 02

Titulo de la tarea

Descripción

Costo de la gasolina Depurar un programa Calculadora de volumen

Calcular el costo de la gasolina. Usar herramientas de depuración de Visual Studio.NET. Calcular el volumen de un cubo y de una esfera.

Ideas de regalos Programación de una encuesta de aptitudes

Contar conejos

Sugerir ideas de regalo para los vendedores. Escribir un programa de encuesta para ayudar a otros alumnos a decidir si deben tomar un curso de programación. Escribir un juego de Arcade donde se trate de hacer clic sobre un objetivo móvil. Calcular las puntuaciones de cuatro jugadores de golf. Juego del cuadrado mágico. Construir un cuadro mágico de 3 x 3. Dejar que la computadora lance una moneda varias veces. ¿Cuánto podría crecer la población de conejos si vivieran para siempre?

Números primos Roth IRA

Calcular números primos. Escribir una calculadora de Roth IRA.

Tiro al blanco

Tratar de dar en el blanco en tiro con arco. Contar lanzamientos de moneda idénticos consecutivos. Calcular un promedio de calificaciones. Convertir las unidades canadienses de medida a americanas y viceversa. Con base en el número de vocales en la pregunta, generar una respuesta aleatoria. El gato persigue al ratón hasta que lo atrapa o el ratón escapa.

08 Reto 09 Ejercicio 01 09 Ejercicio 02

Zap Puntuaciones de golf

09 10 01 10 02 10 11 01 11 02 11 12 01 12 02

Lanzar la moneda

Reto Ejercicio Ejercicio Reto Ejercicio Ejercicio Reto Ejercicio Ejercicio

12 Reto

Cuadrado mágico

En seguida Calculadora GPA Canadiense Adivinador El gato y el ratón

Page 7 of 321

Seguimiento de tareas del estudiante de Reglas de código No. de tarea 01 01 01 02 01 02 01 02 02 02 03 01 03 02 03 04 01 04 02 04 05 01 05 02 05 06 01 06 02 06 07 01 07 02 07 08 01 08 02 08 09 01

Ejercicio Ejercicio Exámen Ejercicio Ejercicio Exámen Ejercicio Ejercicio Exámen Ejercicio Ejercicio Exámen Ejercicio Ejercicio Exámen Ejercicio Ejercicio Exámen Ejercicio Ejercicio Exámen Ejercicio Ejercicio Exámen Ejercicio

Titulo de la tarea Computación cotidiana

Fecha compromiso

Trabaja? Ninguno

Hello World MiNombreEs

Comida rápida

Empacar para el viaje Lavar los trastes Pecera

Quién es quién El precio de la pizza Gato

Arco iris Medidor de viaje Flores

Pedazo de Pi Salta rana Splat

Gas Cost Depurar un programa

Calculadora de volumen

Ideas para regalos

Encuesta de aptitudes de programación Zap Resultados de golf

Page 8 of 321

Completado

09 02 09 10 01 10 02 10 11 01 11 02 11 12 01 12 02 12

Ejercicio Exámen Ejercicio Ejercicio Exámen Ejercicio Ejercicio Exámen Ejercicio Ejercicio Exámen

Cuadrado mágico Volado

Contar conejos Números primos Roth IRA

Blanco En fila

Calculadora GPA

Conversión canadiense El adivino

El gato y el ratón

Page 9 of 321

Temas en el camino a Everywhere: Los programas en la vida cotidiana Lo que hacen los programadores ¿Qué es un programa? Opciones de lenguajes de programación Sintaxis del lenguaje de programación Sintaxis de Visual Basic.NET Llegada a Everywhere

Unidad 1 - Everywhere, Wisconsin

Pág. 10 de 321

Los programas en la vida cotidiana Voy a dejar que Cliff maneje primero para que tengamos la oportunidad de conocernos mejor. ¿Ya te conté que mi padrastro es programador? Solo que no escribe programas para las PC, sino unos que se usan para control de robots en una planta que fabrica máquinas de escribir. ¡Una vez tuvo un error en su programa y los robots hicieron todas estas máquinas de escribir sin las teclas de las letras Q, W, E, R, T e Y!

Es sorprendente ver cuantas cosas a nuestro alrededor contienen programas y es todavía más sorprendente cuantas se han diseñado o probado por medio de programas de computadora. No sólo las calculadoras, los robots y las computadoras usan programas. Muchos aparatos y artículos de entretenimiento e incluso coches son programables.

Unidad 1 - Everywhere, Wisconsin

Pág. 11 de 321

Código integrado Diseño habilitado por código Diseño de la carrocería

Aire acondicionado

Costuras de las llantas

Horno de micro ondas

Esta camper, por ejemplo. Contiene como un millón de elementos que probablemente fueron diseñados en una computadora. Es probable que la forma aerodinámica fue modelada y probada en un túnel de viento simulado en una computadora. Los asientos, la cocina y las camas probablemente fueron diseñados en una computadora y después ajustados en un modelo tridimensional de la camper. Y tal vez, algunas de las partes fueron hechas por robots controlados por computadora como los de la fábrica de mi padrastro.

Hay mucho más, como el sistema de posicionamiento global, el microondas, y el estéreo en la camper. Todos se pueden programar y ajustar por medio de un control remoto. Esto significa que contienen programas para controlar lo que efectúan cuando oprimes un botón. Estos programas están permanentemente grabados en los procesadores que contienen las tarjetas electrónicas, pero primero alguien tuvo que escribirlos. Además, piensa en la música electrónica que compone Dirk. Independientemente de que sea buena o mala, toda se realiza en una computadora. Incluso escribió un programa para guardar todas las versiones de sus letras cursis para que no se le olvide ninguna de sus grandes ideas. Lo bueno acerca de los programas es que se usan para resolver todo tipo de problemas y llevar a cabo toda clase de actividades. En la actualidad casi todos usan una computadora en el trabajo y en el hogar para escribir cartas, hacer hojas de cálculo y bases de datos, y llevar el control de una cuenta bancaria. Casi todos los negocios usan programas para llevar un registro de sus movimientos financieros, sus clientes y de todo lo que fabrican o compran. Muchos de los programas se usan para almacenar y recuperar información, filtrarla, y presentarla de diferentes maneras. Y muchos se escriben para investigar problemas difíciles como la inteligencia artificial, el calentamiento global, y la genética. Además hay todo tipo de programas especializados que se usan para diseñar partes, dibujar gráficos, o para juegos; es probable que para cualquier cosa que se te ocurre existe un programa. Y ni hablar de los programas de Internet, en línea, y de realidad virtual. Lo increíble es que hay personas que escriben programas sólo por diversión. Un profesor que tenía en la preparatoria escribió un programa que creaba automáticamente nuestra tarea de matemáticas. Su hermana escribió un programa que compone versos haiku y que los traduce al islandés. Leí un artículo de un hombre que construyó un robot Lego y lo programó para que Unidad 1 - Everywhere, Wisconsin

Pág. 12 de 321

armara el cubo de Rubik. No se por qué lo hizo, tal vez fue sólo para demostrarse que lo podía hacer. Quiero programar video juegos tridimensionales en línea e interactivos, o tal vez escribir programas de actuaría para analizar las estadísticas de mortalidad para una compañía de seguros.

Recomendación para el profesor Lego y el cubo de Rubik http://jpbrown.i8.com/cubesolver.html

Creo que tengo un ejercicio sobre programación de computadora en mi organizador personal.

Computación cotidiana En este ejercicio explorarás algunas formas en las que la programación es parte de la vida cotidiana. El archivo 01_proveit01_files tiene instrucciones para este ejercicio y cualquier archivo de apoyo que necesites.

01 Ejercicio 01 cotidiana

Computación

Enlista por lo menos 4 ejemplos que demuestran que las computadoras forman parte de la vida cotidiana. No uses los ejemplos que se encuentran en este curso, piensa en aplicaciones diferentes.

Lo que hacen los programadores Sabes, mucha gente cree que los programadores son esos chicos y chicas ‘cerebritos’ que se Unidad 1 - Everywhere, Wisconsin

Como cuando empecé con mi grupo, tuve que decidir qué instrumentos usar, quiénes serían los músicos, qué canciones y en Pág.tocaríamos 13 de 321 dónde tocaríamos.

sientan frente a la computadora y tecleen códigos mientras comen pizza fría y toman refrescos cafeínados toda la noche. Aunque ese es la profesión de mis sueños, hay mucho más que eso detrás de un programador.

Los buenos programas no se hacen de la noche a la mañana. Se requiere mucha planeación cuidadosa y trabajo de diseño para crear un programa de computación que haga lo que se supone que debe hacer. También debe ser fácil de modificar, libre de errores y simple de usar. Para grandes proyectos de programación puede haber equipos de cientos de programadores bien capacitados, organizados y administrados. Entonces, aunque escribir un código es parte del trabajo de un programador, él o ella también hacen muchas otras cosas: • • • • • • • • • • • • • • • • • • • •

deciden qué hará el programa; diseñan la interfase del usuario; deciden qué lenguaje de programación usar; diseñan la arquitectura del programa y como funcionarán en conjunto partes del mismo; establecen los estilos de codificación y de diseño; deciden quién escribirá el código para las partes del programa; administran el programa de desarrollo y llevan un registro de cuanto tiempo les toma escribir el código; capacitan a los programadores para usar herramientas de desarrollo; configuran y administran las computadoras y la red que usan los programadores; ¡¡¡Escriben el código!!! documentan el código; diseñan la base de datos para almacenar información que el programa necesita o crea; manejan el diseño artístico y de gráficos; manejan la entrada de información a la base de datos; prueban el código para asegurarse de que funcione; empacan el código para que poder instalarlo en la computadora o servidor del usuario; toman decisiones respecto a características nuevas; Recomendación para el resuelvan los errores encontrados por los usuarios; profesor capacitan a los usuarios para usar el programa; escriben la documentación y material de Los elementos en la lista capacitación para el programa. representan múltiples opciones

Como puedes ver, "escribir el código" es sólo una de las muchas actividades de los programadores. Mi organizador personal tiene otro ejercicio acerca de los trabajos de programación.

Unidad 1 - Everywhere, Wisconsin

de carrera. Algunos son sobresalientes para escribir códigos; otros, para decidir qué código tiene que escribirse. Algunos son mejores para probar que el código escrito funcione perfectamente. Y algunos administran los esfuerzos de todos estos profesionales de la computación.

Pág. 14 de 321

Trabajos de programación En este ejercicio investigarás los salarios iniciales de los programadores y otros profesionales de la computación. El archivo 01_proveit02_files tiene instrucciones para este ejercicio y cualquier archivo de apoyo que necesites.

01 Ejercicio 02

Trabajos de informática

Con la ayuda del Internet u otros recursos, determina el salario inicial para los profesionistas de informática en tu área. Compara los salarios para varias categorías tales como Programador, Analista de Sistemas, Desarrollador de Páginas Web, etc.

¿Qué es un programa? Un programa de computación está conformado por líneas de código escritas en un lenguaje de programación parecido al inglés. Para escribir un programa puedes escoger entre varios lenguajes de diferentes capacidades según las necesidades de tu programa. Una vez que termines de escribir el programa, este se compila en un lenguaje que la computadora puede comprender y ejecutar. Puedes escribir muchos tipos diferentes de programas con el mismo lenguaje de programación. Por ejemplo, puedes escribir un programa que juegue gato, otro que muestre imagines en forma de presentación, y otro que muestre la orbita de un cohete alrededor de un planeta y todo con el mismo lenguaje. El código que tú escribes es lo que distingue a estos programas y les da su funcionalidad.

Dicho código define lo que el programa hará. Determina que ocurre cuando oprimas un botón o seleccionas un elemento de una lista. Tu código representa la "inteligencia" del programa; define cómo éste tomará Unidad 1 - Everywhere, Wisconsin

Pág. 15 de 321

decisiones, cuántas veces realizará una acción, y qué cálculos realizará. Puedes escribir un código para hacer cálculos matemáticos, escribir texto, responder a acciones del usuario, recabar datos, o desplegar información. Escribir un código puede ser un reto pero también es divertido y satisfactorio. Cuando aprendes un lenguaje de programación, aprendes un medio nuevo que te permite expresar tu creatividad, explorar, resolver problemas, y jugar. Es muy similar al trabajo con otros medios como el barro, el metal o las matemáticas.

Unidad 1 - Everywhere, Wisconsin

Pág. 16 de 321

Opciones de lenguaje de programación Mi abuelo podía hablar cuatro idiomas: japonés, español, swahili e inglés, además de un quinto idioma cuando se volvió totalmente loco. Los lenguajes de computación son muy parecidos a los idiomas hablados. Puede que no suenen o se vean exactamente igual pero esencialmente se usan para lo mismo: dar instrucciones a una computadora sobre como resolver un problema.

Ve esto: En Canadá hay dos idiomas oficiales, pero en los dos esta señal dice ¡DETENGA SU COCHE!

¿Sabías que se están creando nuevos lenguajes de programación todo el tiempo? Durante los pasados 50 años se han desarrollado muchos lenguajes diferentes. Al igual que los idiomas hablados, algunos ya no se usan. Otros han evolucionado en su forma y han estado en uso durante 20 ó 30 años.

Un lenguaje de programación nuevo se crea tomando las mejores características de uno o más lenguajes existentes, y combinándolas. Los lenguajes de programación de hoy reflejan los avances en el equipo de computación y la evolución de los programas anteriores.

Los primeros lenguajes de programación tenían que programarse en términos que la computadora pudiera comprender. Esto significaba escribir programas usando solamente unos y ceros. ¡Qué tedioso! Finalmente se crearon programas llamados compiladores que convertían el código, escrito en un idioma que se parece más al inglés, en los unos y ceros que la computadora podía comprender. Casi todos los lenguajes de programación modernos son compilados. Es decir, están escritos en lenguajes de programación similares al inglés y que después se compilan o cambian a un código que la máquina puede leer. En el transcurso de los años se han creado diferentes lenguajes de programación para resolver problemas específicos. FORTRAN, por ejemplo, fue desarrollado para resolver problemas numéricos y realizar cálculos. Las siglas FORTRAN quieren decir ‘lenguaje de traducción de fórmulas’ (FORmula TRANslating language). COBOL quiere decir ‘lenguaje común orientado a los negocios’ (Common Business-Oriented Language) y fue desarrollado primordialmente para aplicaciones de negocios en las que tenían que procesarse grandes cantidades de datos no numéricos. LISP, que quiere Unidad 1 - Everywhere, Wisconsin

Pág. 17 de 321

decir ‘Lenguaje de procesamiento de lista’ (ListProcessing language) fue desarrollado para investigar la inteligencia artificial. Los lenguajes nuevos han evolucionado desde ese entonces con una o más ventajas primarias en comparación con los anteriores. A continuación algunos ejemplos: • • • • •

C: código rápido y eficiente Java: independencia de plataforma BASIC: facilidad de uso Visual Basic: diseño de interfase de usuario por medio de formatos Perl: manipulación de texto

Cuando inicias un proyecto nuevo de programación tienes que definir qué lenguaje vas a usar. ¿Tiene el lenguaje la funcionalidad que necesitas? ¿Es de fácil programación? ¿Ya lo conoces? ¿Ya está instalado en tu computadora?

Mi lenguaje favorito es Visual Basic.NET. Es poderoso y fácil de usar. Se que a Cliff le gusta Visual Basic.NET también. A Jen le gusta el programa J# (se pronuncia J sharp), el cual tiene sus raíces en el lenguaje de programación Java. Dirk está aprendiendo C# (se pronuncia C sharp) el cual tiene sus orígenes en los lenguajes de programación C y C++. En este viaje aprenderás Visual Basic.NET, pero Jen y Dirk también te enseñarán algunas cosas acerca de J# and C#. No está de más conocer más que un solo lenguaje de programación!

Unidad 1 - Everywhere, Wisconsin

Pág. 18 de 321

Sintaxis del lenguaje de programación Si viajas por el mundo tal vez necesites encontrar a alguien que hable inglés. En cualquier idioma hay un modo de preguntar "¿habla inglés?" Por ejemplo: Inglés: Do you speak English? Alemán: Sprechen Sie Englisch? Español: ¿Habla inglés? Portugués: Você fala inglês? Lenguaje de niños: ¿Ha-fa bla-fas in-fin gle-fes?

En los ejemplos anteriores, no sólo las palabras son diferentes, su organización es distinta también: los sustantivos, verbos y objetos no tienen el mismo orden. La palabras y su organización constituyen la sintaxis del lenguaje. La sintaxis define las reglas para hacer una oración correcta en el idioma dado.

Al igual que los idiomas, cada lenguaje de programación tiene su propia sintaxis, la cual es el vocabulario, gramática, elección de palabras y estructura que lo constituye. La sintaxis define las reglas para escribir líneas correctas de código y combinar estas líneas en un programa válido.

Por ejemplo, todos los lenguajes de programación modernos pueden ejecutar una orden "If..then..else". Una tal orden es una forma en la que un programa puede elegir basándose en la información que tiene. Mira, déjame enseñarte algunos ejemplos de códigos en mi computadora portátil que demuestran la sintaxis de las órdenes "If..then..else" en Visual Basic.NET, C# y J#. En este punto no te preocupes por su significado, o por comprender el código, sólo busca las similitudes y diferencias que definen su sintaxis.

Unidad 1 - Everywhere, Wisconsin

Pág. 19 de 321

En Visual Basic. NET If x >5 Then MessageBox.Show (“Soy mayor que 5”) Else MessageBox.Show (“No soy mayor que 5”) End If. En C#: If (x >5) { MessageBox.Show (“Soy mayor que 5”); } Else { MessageBox.Show (“No soy mayor que 5”); } En J#: If (x >5) { MessageBox.Show (“Soy mayor que 5”); } Else { MessageBox.Show (“No soy mayor que 5”); } ¿Te diste cuenta de que J# y C# usan el…

Unidad 1 - Everywhere, Wisconsin

Pág. 20 de 321

Aprender un lenguaje de programación consiste en aprender su sintaxis, estructura, y reglas. Tienes que aprender la puntuación del lenguaje, así como qué palabras son "reservadas", porque sólo se usan como comandos para el lenguaje. Las palabras reservadas, también conocidas como palabras clave, tienen un significado especial y por lo general una funcionalidad especial asociada a ellas: le dicen al programa qué hacer. Por ejemplo, las palabras "If" y "Else" son palabras reservadas en la mayoría de los lenguajes de programación. Se usan para crear órdenes de código que toman decisiones. Cuando aprendes un lenguaje de programación debes aprender su sintaxis y también su funcionalidad y capacidades. Recuerda que no todos los lenguajes pueden hacer todo. Sin embargo, todos los que son modernos tienen características y funcionalidad en común que siempre podemos esperar encontrar.

Unidad 1 - Everywhere, Wisconsin

Pág. 21 de 321

Sintaxis de Visual Basic.NET Visual Basic.NET es un lenguaje poderoso y fácil de aprender. Conforme aprendes a programar en Visual Basic.NET, conocerás las palabras reservadas, la estructura, y los objetos fundamentales que constituyen el lenguaje. Primero tienes que comprender algunos de los elementos básicos de la sintaxis del lenguaje. Hice una breve lista de algunos elementos clave de la sintaxis en Visual Basic.NET: • • • •

Las líneas de código no tienen un indicador de fin de línea como un punto y coma (;) Las líneas de comentario inician con un apóstrofe (') Las llaves { y } no se usan para contener bloques de código Visual Basic.NET NO diferencia entre mayúsculas y minúsculas. Escribir MyCase es exactamente lo mismo que escribir myCase o MYCASE.

Oye, Dirk, ¿Cuáles son algunas de las diferencias sintácticas clave en C#?

Bueno, en C# cada línea termina con un punto y coma. Además, los bloques de código están contenidos entre llaves, { y }. Una línea de comentario inicia con dos diagonales // y C# sí diferencia entre mayúsculas y minúsculas. MyCase es diferente de myCase y de MYCASE. Oigan, no se olviden de J#. J# y C# comparten la misma sintaxis básica. Por ejemplo, J# usa un punto y coma para indicar el fin de una línea de código y los bloques de código se ponen entre llaves. Las líneas de comentario en J# inician con // y J# también diferencia entre mayúsculas y minúsculas. Recomendación para el profesor

Visual Basic es un buen primer lenguaje para aprender ya que es más benévolo que la mayoría. El tamaño de la letra no importa. Las líneas de código no necesitan marcarse de manera especial. La estructura es más bien intuitiva.

Unidad 1 - Everywhere, Wisconsin

Pág. 22 de 321

Llegada a Everywhere Bienvenido a Everywhere, Wisconsin. Tienes que contestar la pequeña prueba para prepararte para el Comité del rally. En el curso impreso la prueba no es interactiva. En la versión en línea de este curso la computadora revisa las respuestas. Aquí la tienes. ¡Suerte!

Una diferencia importante entre los diferentes lenguajes de programación es: Sintaxis Traducción Ortografía

¿Qué hace la compilación de un programa?

Hay miles de lenguajes de computación distintos porque: Los científicos de la computación tienen que mantenerse ocupados.

Cada uno se ha creado para resolver problemas específicos. Cada marca de computadora requiere un lenguaje único

Por lo general un lenguaje de computadora está constituido por:

Reune datos en un agrupamiento interno

Tablas de traducción

Asocia objetos de formato con la página del código.

Líneas de código escritas en un lenguaje de programación similar al inglés

Convierte el texto escrito por un programador en un código que la computadora puede entender

Símbolos matemáticos creados por computadoras

Unidad 1 - Everywhere, Wisconsin

Pág. 23 de 321

Temas en el camino a Ideal: Visual Studio.NET y el IDE Iniciar Visual Studio Crear un proyecto nuevo Ventana de proyecto nuevo Ventana de diseño de formato Ventana de cuadro de herramientas Agregar un código a un botón Construir tu solución Iniciar tu programa Archivos y carpetas de soluciones

Unidad 2 - Ideal, Illinois

Pág. 24 de 321

Visual Studio.NET y el IDE Hola, ¿cómo te va hasta ahora? ¿Pudiste contestar todas las preguntas del comité del rally? Puede ser que sean más difíciles conforme avancemos, pero para ese entonces también sabrás más. Estoy seguro de que no tendrás problemas. Nikki va a manejar por un rato para que yo te pueda explicar algunas cosas durante el camino hacia nuestro siguiente emocionante destino: Ideal, Illinois.

Durante el trayecto te voy a enseñar lo que necesitarás para pasar la prueba de manejo de IDE. El IDE son las siglas en inglés de ‘Ambiente de Desarrollo Integrado’ proporcionado por Visual Studio.NET de Microsoft. Lo usarás para escribir tu primer programa de Visual Basic.NET. Puedes usarlo para escribir programas en otros lenguajes también.

Después de que aprendas sobre IDE y pases el examen de manejo, estarás listo para manejar también y ayudarnos con las pruebas del rally. Después de todo, no queremos que alguien más maneje todo el tiempo ¿o sí? No sería muy divertido.

Unidad 2 - Ideal, Illinois

Pág. 25 de 321

Visual Studio.NET ¿Sabías que es posible escribir un código de computación usando un simple procesador de palabras como el bloc de notas o Microsoft Word? Eso, claro, si quieres hacer las cosas de la manera más complicada. En su lugar, la mayoría de los programadores como Nikki y yo usamos herramientas de software para ayudarnos a desarrollar programas con más facilidad. Y eso es lo que vas a hacer tú también, usando Visual Studio.NET de Microsoft. Visual Studio.NET Microsoft es una herramienta de desarrollo que ayuda a escribir programas en varios lenguajes de programación .NET diferentes. Por ejemplo, cuando agregues un botón a un formato, Visual Studio.NET automáticamente agrega algún código para este botón. Es obvio que Visual Studio.NET no puede escribir todo el código; después de todo, no sabe lo que se supone que tu programa va a hacer. Sin embargo, puede reducir la cantidad de código que tienes que escribir y el tiempo necesario para hacerlo. Visual Studio.NET te facilita la vida también de otros modos. Automáticamente colorea tu código según su significado. Por ejemplo, los comentarios siempre están en verde y las palabras claves en azul. Incluso los errores en sintaxis están subrayados con una línea roja ondulante. Esto te ayuda a identificar y corregir errores antes de que operes tu código.

Visual Studio.NET te ayuda a mantener tu código organizado al almacenarlo en archivos independientes. De esta manera puedes dividir tu código en unidades funcionales. Por ejemplo, un archive independiente será usado para almacenar el código para cada uno de tus formatos. Visual Studio.NET facilita la compilación y operación de tu programa con sólo hacer clic unas cuantas veces en el ratón. Puedes usar sus funciones auxiliares de depuración para buscar errores en tu programa y desplegar información mientras se ejecuta tu programa. Lo mejor de todo es que, Visual Studio.NET te permite desarrollar programas en muchos lenguajes distintos, conocidos como los lenguajes .NET. Usas la misma interfaz familiar de Visual Studio.NET para cada uno. Los lenguajes .NET incluidos en Visual Studio.NET son: • • • • •

Visual Basic.NET C# (se pronuncia C sharp) J# (se pronuncia J sharp) C++ ( se pronuncia C plus plus) ASP.NET (creación de páginas web)

Unidad 2 - Ideal, Illinois

Pág. 26 de 321

Durante nuestro viaje a nuestro próximo destino, te mostraré como usar Visual Studio.NET para escribir tu primer programa. Usarás Visual Basic.NET como tu lenguaje de programación primario durante este viaje, pero también te mostraremos ejemplos del código C# y J# a lo largo del camino. Prepárate porque vas a escribir tu primer programa.

Iniciar Visual Studio Para iniciar Visual Studio: 1. 2. 3. 4.

Oprime el botón de inicio Selecciona Programas Selecciona la carpeta Microsoft Visual Studio.Net 2003 Selecciona la aplicación Microsoft Visual Studio.Net 2003

También hay un icono en mi Escritorio que yo puedo usar para abrir Visual Studio. El icono es una forma rápida de iniciar Visual Studio.NET, sólo haz doble clic sobre él.

Recuerda, la ubicación de Visual Studio puede variar de una computadora a otra. Si estás usando una computadora en la escuela o la computadora de alguien más, Visual Studio puede encontrarse en un lugar distinto. Pregúntale a tu profesor o al representante del departamento de cómputo, si no puedes encontrar el modo de abrir Visual Studio.NET.

Unidad 2 - Ideal, Illinois

Recomendación para el profesor

Asegúrese de mostrarles a sus alumnos el método que se usa en su escuela para ubicar y abrir Visual Studio. Los alumnos sin experiencia previa tal vez tengan dificultad al inicio para navegar hacia la ubicación correcta.

Pág. 27 de 321

Usar Visual Studio.NET Ahora te voy a explicar los pasos para crear tu primer programa Visual Basic.NET usar Visual Studio.NET. Ya debes tener Visual Studio.NET abierto. Sigue los pasos conforme te los indico. No sólo lee; ¡haz lo que estás leyendo!

Página de inicio IDE La primera página que debes ver cuando abres Visual Studio.NET es la página de inicio. La pestaña Proyectos es seleccionada de manera predeterminada. Por lo general, verías una lista de Proyectos existentes. Dado que probablemente esta sea la primera vez que usas Visual Studio.NET, no habrá nada en la lista. La pestaña Mi perfil es donde puedes personalizar Visual Studio.NET para que se adapte a tu estilo de trabajo. 1. Haz clic en la pestaña Mi perfil.

Unidad 2 - Ideal, Illinois

Pág. 28 de 321

Mi Perfil Mi perfil es donde puedes seleccionar qué tipo de desarrollador eres y personalizar tu configuración de estudio de Visual Studio.NET.

1. Selecciona Desarrollador Visual Studio de la lista desplegable de perfiles. 2. Revisa que las configuraciones predeterminadas sean Esquema de teclado: [Ajuste por omisión] Configuración de la ventana: Visual Studio Predeterm. Filtro de ayuda: sin filtro 3. Selecciona Ayuda interna para la configuración Mostrar ayuda. 4. Selecciona Mostrar página de inicio para la configuración de Al inicio. 5. Selecciona la pestaña Proyectos en la parte superior de la Página de inicio para continuar.

Unidad 2 - Ideal, Illinois

Pág. 29 de 321

Crear un proyecto nuevo Ahora que haz terminado la configuración del ambiente Visual Studio.NET, exploraremos la pestaña de Proyectos. Puedes iniciar un nuevo proyecto o abrir un proyecto existente desde esta pestaña. Para abrir un proyecto existente debes hacer clic en el botón Abrir proyecto en la parte inferior de la pantalla. Después de que creas tu primer proyecto, aparecerá en la lista de proyectos existentes. Para abrir un proyecto existente, selecciona el proyecto de la lista y haz clic en Abrir proyecto.

Te voy a enseñar a crear un proyecto nuevo para el programa Hello World; después escribiremos el programa. Hello World es el primer programa típico que escribe la mayoría de los programadores. El objetivo es crear un recuadro de mensaje que diga "Hello World."

1. Haz clic en el botón Proyecto nuevo para crear un proyecto nuevo. Se abre la ventana de diálogo Proyecto nuevo.

Unidad 2 - Ideal, Illinois

Pág. 30 de 321

Ventana de Proyecto nuevo En la pestaña Proyecto nuevo verás que en el panel superior izquierdo llamado Tipo de proyectos, hay varios tipos de proyectos disponibles en Visual Studio.NET. Te presentaremos algunos de ellos en breve. El programa Hello World será una aplicación de Windows (las reglas del código sólo usarán aplicaciones de Windows, así es que ni siquiera hay que preocuparse por las otras plantillas). En esta pestaña no sólo seleccionarás el tipo de proyecto y la plantilla sino también los nombres de proyecto y las ubicaciones de archivos para los proyectos guardados. 1. Selecciona Proyectos de Visual Basic como Tipo de proyecto.

2. Selecciona Aplicaciones de Windows como plantilla. 3. Teclea el nombre

HelloWorld para el proyecto (los nombres de archivo no llevan espacios). 4. Selecciona una ubicación para guardar tu proyecto. 5. Haz clic en el botón ‘OK’. El proyecto nuevo se abrirá, desplegando un formato llamado Form1.vb en el lado izquierdo de la pantalla y el Explorador de soluciones en el lado derecho. Súper, ¿no?

Se creará un directorio llamado “HelloWorld” (que elegiste para guardar tu archivo) y el proyecto HelloWorld quedará guardado en el directorio.

Recomendación para el profesor

Cada escuela tiene sus propias reglas acerca de la ubicación para guardar los proyectos de los alumnos. Sea muy específico al describir las reglas de la escuela. Cada proyecto debe quedarse en su propia carpeta.

Unidad 2 - Ideal, Illinois

Pág. 31 de 321

Ventana de diseño de formato La mayoría de las veces construirás aplicaciones de Windows que inician con un formato. Éstos son la parte del programa que el usuario ve. Podrás poner objetos en el formato, como botones y cajas de texto. Cuando se hace clic en un botón, el código se ejecutará para realizar el proceso requerido para ese botón.

Un formato en blanco puede verse en la ventana principal en el lado izquierdo de la pantalla. Esta se llama ventana de diseño de formato (llamada Form1.vb [Design]). El Explorador de soluciones puede verse en el lado derecho. El formato no tiene botones o cuadros de texto en este punto. Después habrá tiempo para ponerse creativo con los formatos. Por ahora, déjame mostrarte un par de cosas sencillas que hacer.

Unidad 2 - Ideal, Illinois

Pág. 32 de 321

Puedes cerrar cualquier ventana en Visual Studio.NET al hacer clicwindow en la “x”inubicada close any en la esquina superior Visual Studio.NET by derecha de la ventana. clicking on the "X" located Puedes abrir right la mayoría in the upper corner de las ventanas de Visual of the window. You can Studio.NET, en Ver’ en el open most Visual Menú principal y seleccionar Studio.NET la ventana windows apropiadaby del going to View on the Main menú.

Menu and selecting the appropriate window from Puedes ocultarla de manera the menu. al hacer clic en el automática

icono de tachuela ubicado en la derecha Youesquina can autohide anyde la ventana. Cuando ocultas una window by clicking on the ventana de manera thumbtack (pushpin) icon automática, esta desaparece located in the upper right y aparecerá una barra de corner of the window. tareas en la orilla derecha de When you autohide a la pantalla que muestra window, it disappears. A pestañas para la ventana taskbar will appear along oculta. Si mueves el cursor the right edge of the sobre la pestaña, la ventana screenaparecerá. showing tabs for oculta La función de auto-ocultar una the hidden window.esIf you excelente manera de ahorrar move the cursor over the espacio pantalla si tienes tab, the de hidden window una ventana con un will slide into view. código mayor. Si pulsas el icono de Autohide is a great way to tachuela otra vez, se save screen space so you deshabilitará el comando have a larger code auto-ocultar.

window. If you click the pushpin icon again, autohide will be disabled.

Recomendación para el profesor

Aliente a los alumnos a usar el comando auto-ocultar en todas las ventanas. Esto hace visible una mayor área de la página del código y reduce los errores de codificación.

Unidad 2 - Ideal, Illinois

Pág. 33 de 321

Ventana de Cuadro de herramientas Gran parte de las funciones de Visual Studio.NET se accesa al abrir y cerrar diferentes ventanas. Por ejemplo, para colocar botones y cuadros de texto en el formato, abrirás la ventana de Cuadro de herramientas, la cual muestra todos los elementos diferentes que puedes colocar en el formato, tales como botones, botones de radio, cuadros de texto, listas desplegables, etc. Aquí es donde crearás formatos que se verán geniales. 1. Selecciona Ver de la barra del Menú principal 2. Selecciona Cuadro de herramientas y abre esta ventana.

3. Haz doble clic en Botón para añadir un botón al formato (El botón que añadiste puede estar escondido detrás del Cuadro de herramientas; la moveremos en un instante)

Unidad 2 - Ideal, Illinois

Pág. 34 de 321

Mover y redimensionar un botón Ahora que haz añadido un botón a un formato, te voy a enseñar qué fácil es mover o redimensionarlo. 1. Haz clic en el botón y arrástralo al centro del formato.

2. Mueve el cursor sobre uno de los cuadros blancos (estos son los puntos de redimensionamiento).

3. Mientras mantienes presionado el botón izquierdo del ratón, arrastra el punto de redimensionamiento para estirar o reducir el tamaño del botón.

Fue fácil ¿no? Ahora vas a añadir el código al botón para hacer que haga algo cuando el usuario lo oprime.

Unidad 2 - Ideal, Illinois

Pág. 35 de 321

Agregar un código al botón Cuando creamos el botón, Visual Studio.NET automáticamente agrega varias líneas de código a la ventana de código. Ve el siguiente ejemplo. Public Class Form1 Inherits System.Windows.Forms.Form Window Forms Designer Generated Code Private Sub Botón 1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button 1.Click End Sub

Recomendación para el profesor

Muchos ejemplos de código en el curso son una sola línea en Visual Basic pero ésta se ajusta cuando se despliega en el curso. Para continuar una línea de código en una segunda línea en Visual Basic, finaliza la primera línea con un espacio seguido por un guión bajo ( _ ).

Parece que está en chino, ¿verdad? Pero no te preocupes, te ayudaremos a traducir conforme avancemos. Por ahora sólo encuentra el ‘Button 1_Click’. Esta parte del código se usa cuando el usuario hace clic en el botón. Si hacemos clic ahora, no pasa nada. Necesitamos decirle a nuestra aplicación qué hacer cuando se oprima el botón. De eso trata la programación. ¿Estás listo para comenzar? 1. Después de hacer doble clic en ‘Button 1’, se abre la ventana de código 2. Haz clic en la línea en blanco arriba de ‘End Sub’ 3. Introduce la siguiente línea de código exactamente como se muestra a continuación

Unidad 2 - Ideal, Illinois

Pág. 36 de 321

MessageBox.Show("Hello, World.")

Esta línea de código se ejecuta cuando el usuario oprima el botón en el formato.

Crear tu solución Es hora de crear tu solución. Aquí es donde el código que tú y Visual Studio.NET han escrito se compila en instrucciones que la computadora puede comprender. 1. Selecciona Crear de la barra del Menú principal 2. Selecciona Crear solución del menú desplegable

Recomendación para el profesor

Las versiones de Visual Basic anteriores a .NET no requerían que se seleccione Crear antes de la ejecución. .NET siempre requiere que se seleccione Crear.

Unidad 2 - Ideal, Illinois

Pág. 37 de 321

Creación exitosa Una vez que termina la operación Crear, la ventana de salida se abre y despliega un mensaje, el cual indica si tu creación fue exitosa o si hubo errores. Si la creación fue exitosa, verás el siguiente mensaje en la ventana de salida:

------ Build started: Project: HelloWorld, Debug .NET -----Preparing resources... Updating references... Performing main compilation... Building satellite assemblies...

Configuration:

---------------------- Done ---------------------Build: 1 succeeded, 0 failed, 0 skipped

Unidad 2 - Ideal, Illinois

Pág. 38 de 321

Creación fallida Supongamos que en vez de introducir MessageBox, cometiste un error e introdujiste mMessageBox. La ventana de salida arroja un mensaje de error que se ve así. ------ Build started: Project: HelloWorld, Configuration: Debug .NET -----Preparing resources... Updating references... Performing main compilation... C:\VBNETProjects\HelloWorld\Form1.vb(59) : error BC30451: Name 'mMessageBox' is not declared. Building satellite assemblies... ---------------------- Done ---------------------Build: 0 succeeded, 1 failed, 0 skipped

Cuando puede, Visual Basic también subraya la ubicación del error. Al hacer doble clic en el mensaje de error, el cursor señala el error. Además se abre una ventana de lista de tareas que te mostrará los errores específicos.

Si tu creación contiene errores, regresa y revisa que hayas escrito la línea de código para el botón exactamente como se muestra. Después sigue los pasos para crear la solución que te mostramos antes.

Unidad 2 - Ideal, Illinois

Pág. 39 de 321

Iniciar tu programa Tu programa ahora está compilado sin errores. Estás a punto de convertirte en un programador. Llegó la hora de ejecutar tu primer programa.

1. Selecciona Depurar de la barra de Menú principal 2. Selecciona Iniciar del menú desplegable. (Tu formato se despliega y en el se encuentra el botón que agregaste.) 3. Haz clic en el botón. Ya sabía que lo harías.

Recomendación para el profesor

Cuando se selecciona ‘Iniciar’, Visual Basic efectúa Crear antes de la ejecución. Si hay errores de creación, el sistema pregunta al alumno si quiere ejecutar el programa de todos modos. La respuesta correcta es NO. Si el alumno intenta ejecutar el programa, no podrá hacerlo.

Unidad 2 - Ideal, Illinois

Pág. 40 de 321

Desplegar el cuadro de mensaje Cuando haces clic en el botón, un cuadro de mensaje aparece desplegando el texto "Hello World". Después de todo, eso es lo que le dijiste a tu programa que hiciera. ¡Felicidades! Haz ejecutado tu primer programa de Visual Basic.NET.

1. Haz clic en el botón OK para cerrar el cuadro de mensaje. (El cuadro de mensaje desaparece pero tu formato sigue ahí. Puedes hacer clic en el botón otra vez para mostrar el cuadro de mensaje por segunda vez.) 2. Haz clic en la "X" en el extremo superior derecho de tu formato para cerrar tu programa.

Unidad 2 - Ideal, Illinois

Pág. 41 de 321

La ventana de salida Una vez que el programa finaliza, se muestra la información de depuración. Tienes que avanzar hacia abajo para ver toda la información.

Recomendación para el profesor

Los alumnos principiantes no usarán la información de depuración. Se menciona aquí para que no se sorprendan cuando vean esta información.

Guardar tu proyecto Es hora de guardar tu proyecto. Esta parte es como cualquier otro programa de Windows.

1. Escoge Seleccionar archivo de la Barra de Menú principal 2. Selecciona Guardar todo del Menú desplegable 3. Para salir de Visual Studio.NET, selecciona Archivo de la Barra de Menú principal 4. Selecciona Salir del Menú desplegable

Puedes intentarlo tú solo. Tengo un Prove-It en mi organizador personal para ti. Recomendación para el profesor

Visual Basic guardará automáticamente el proyecto cada vez que se efectúe Unidad Crear. 2 - Ideal, Illinois

Pág. 42 de 321

02 Ejercicio 01

Hello World

Escribe un programa llamado HelloWorld. Repite los pasos mostrados en el curso. Despliega un cuadro de mensaje que diga “Hello, World”.

Unidad 2 - Ideal, Illinois

Hello World

Escribe un programa llamado Hello World. Despliega un cuadro de mensaje que diga “Hello World”. El archivo 02_proveit01_files contiene las instrucciones para este Ejercicio y cualquier archivo de apoyo que pudieras necesitar.

Pág. 43 de 321

Archivos y carpetas de solución Cuando creas una aplicación de Visual Basic, se crean muchos archivos. Necesitas saber qué archivos se han creado y lo que significan algunos de ellos. Ve la imagen de la pantalla a continuación para ver una organización típica de archivos y carpetas.

Con Windows Explorer navega a la ubicación donde almacenaste tu proyecto HelloWorld. Expande esta carpeta y veras que se ha creado una carpeta para el proyecto llamado HelloWorld. Expande la carpeta HelloWorld para ver los archivos creados por Visual Studio.NET para tu proyecto. Debes ver los siguientes archivos: HelloWorld.sln es el archivo de solución que mantiene un registro de todas las otras partes de la solución. Una solución puede hacer referencia a múltiples proyectos, pero tu solución HelloWorld contiene sólo uno llamado HelloWorld.vbproj. El archivo HelloWorld.sln es al que se hace referencia cuando abres un proyecto existente.

El archivo Form1.vb contiene el formato y su código asociado. Haz doble clic en la carpeta papelera para expandirla. Contiene el archivo de código ejecutable Visual Basic llamado HelloWorld.exe. Este archivo puede ejecutarse en otra computadora aún si no dispone de Visual Studio.NET.

Unidad 2 - Ideal, Illinois

Para ejecutar un archivo ejecutable en otra computadora, ésa debe contar con ciertos archivos que permitirán la ejecución de la aplicación .NET. Estos archivos ya están instalados en las computadoras con el sistema operativo Windows XP. Pueden descargarse e instalarse en computadoras con otros sistemas operativos.

Pág. 44 de 321

Llegada a Ideal Ahora que haz terminado de leer el Manual del conductor de IDE, es hora de tomar el examen de manejo. Haz el Ejercicio “MyNameIs” para demostrar que estás listo para salir a circular.

02 Ejercicio 02 MiNombreEs Escribe un programa llamado MiNombreEs. Este programa es muy similar al programa HelloWorld mostrado en el curso. Crea un nuevo proyecto llamado MiNombreEs. En la página de Inicio selecciona el botón Proyecto nuevo. Tal vez necesites cerrar la ventana de salida para verlo. O, puedes ir a Archivo / Nuevo / Proyecto. En Form1 coloca un botón y un cuadro de texto. Deja los nombres del botón y del cuadro como sus nombres predeterminados.

Haz doble clic en Botón 1 para abrir la página del código. En el subprograma Botón 1_Click, introduce esta línea del código:

Hello World Escribe un programa llamado MiNombreEs. Despliega un cuadro de mensaje que diga “mi nombre es”. El archivo 02_proveit02_files contiene las instrucciones para este ejercicio y cualquier archivo de apoyo que pudieras necesitar.

TextBox1.Text = "tu nombre"

Reemplaza tu nombre con tu nombre. Asegúrate de que aparezcan las comillas. Crea e inicia tu programa.

Una vez que funcione correctamente, muéstraselo a tu instructor. Unidad 2 - Ideal, Illinois

Pág. 45 de 321

02 Reto

Comida rápida

Ya que al parecer nos estamos deteniendo en cada restaurante de comida rápida que vemos, vamos a divertirnos con un programa.

Ya sabes como agregar un botón a un formato, crear una aplicación y ejecutarla. La plantilla 02_challenge_template es una aplicación completa, salvo que necesita cuatro botones llamados Botón 1 – Botón 4.

Comida rápida En este reto debes agregar botones a un formato de comida rápida. El archivo 02_challenge_files contiene las instrucciones para este trabajo y todos los archivos de apoyo que necesites.

Recomendación para el profesor

El alumno añade botones a un programa existente donde éstos se quitaron, pero donde el programa en sí está completo.

El formato debe verse como sigue una vez que hayas agregado los botones. Crea la aplicación. Después escoge Depurar / Iniciar sin depurar, o puedes escoger Depurar / Iniciar. ¿Qué ocurre cuando haces clic en cada botón?

Cuando funcione correctamente, muéstraselo a tu instructor.

Unidad 2 - Ideal, Illinois

Pág. 46 de 321

Extensión / Desviación En una unidad posterior te mostraremos como cambiar el texto en un botón. ¿Puedes descubrir tú solo como cambiar el texto del botón usando la ventana Propiedades? Bienvenido a Ideal. Aquí hay otra pequeña prueba para prepararte para el comité del rally. En el curso impreso la prueba no es interactiva. En la versión en línea de este curso la computadora revisa las respuestas. Aquí la tienes. ¡Suerte!

Unidad 2 - Ideal, Illinois

Pág. 47 de 321

En Visual Studio, las soluciones pueden contener uno o más proyectos; éstos pueden contener formatos, y los formatos objetos y códigos. Cierto Falso

¿Qué ventana se usa para colocar objetos en un formato? Propiedades Cuadro de herramientas Salida

Unidad 2 - Ideal, Illinois

Antes de ejecutar un programa debes: Crear Depurar Explorar recursos

Visual Studio puede personalizarse para cada usuario en: La página de proyectos La página de recursos en línea La página de perfil

Pág. 48 de 321

Temas en el camino a Pseudo: Tipos de instrucciones de código ¿Qué es un pseudo código? Comentarios de código Pseudo código como comentario Sangría y espacio en blanco Llegada a Pseudo

Unidad 03 – Pseudo, Pennsylvania

Pág. 49 de 321

Tipos de órdenes de código Cliff hizo un excelente trabajo al presentar Visual Studio.NET. ¿No te pareció fantástico escribir tu primer programa? Se que no haz escrito muchos códigos todavía, pero lo harás más adelante. Por ahora quiero mostrarte como planear y organizar tu programa incluso antes de que comiences a escribir el código.

¿Sabías que puedes escribir un programa antes de que sepas un lenguaje de computación? Muchos programadores escriben sus programas en un "pseudo código" primero y después los traducen a un lenguaje real de programación. Esto les ayuda a determinar el flujo lógico del programa y lo que tienen que hacer. El pseudo código consiste de instrucciones sencillas escritas en inglés (o tu idioma nativo) las cuales explican lo que el programa tiene que hacer. Una vez escrito el pseudo código es más fácil escribir el código real. El pseudo código brinda una estructura o lineamiento para el programa.

Antes de que te enseñe como usar un pseudo código, quiero mostrarte algunos de los tipos de instrucciones básicas que constituyen un programa de computación. Todos los lenguajes de programación usan los mismos tipos de instrucción de código básicos, aunque la sintaxis para escribirlos sea diferente en cada lenguaje. Cuando se combina, estas instrucciones básicas te permiten escribir programas muy complejos. ¿Recuerdas la línea de código que introdujiste para el botón en el programa Hello World? Era: MessageBox.Show("Hello, World.")

Este código despliega información para el usuario. Es un tipo de instrucción básica conocido como alerta, mensaje, o instrucción. Todos los lenguajes de programación tienen un tipo de instrucción básica similar usado para brindarle información al usuario, aunque la sintaxis dependerá del lenguaje. Hay otros tipos de instrucciones fundamentales que usan todos los lenguajes de programación. Unidad 03 – Pseudo, Pennsylvania

Pág. 50 de 321

A continuación te muestro unos ejemplos.

Las variables son usadas para almacenar información tales como números o texto. Representan información o resultados de cálculos. Las instrucciones de asignación establecen lo que está almacenado en una variable. El valor puede ser un número, texto, otra variable o un valor calculado.

Las instrucciones de comparación se usan para comparar un valor o variable con un número, u otro valor o variable. Hacen una pregunta cuya respuesta siempre es "cierto" o "falso". Las instrucciones de decisión se usan para elegir. El proceso de decisión se basa en una comparación. Si la respuesta a la comparación es "cierto", entonces se realiza la primera elección, si es "falso", la segunda. Las instrucciones de decisión a menudo se denominan instrucciones de ramificación porque el flujo del programa puede ir ya sea en una dirección o en otra.

¡Es fantástico estar aquí esta noche! Le decía al encargado de seguridad en la entrada que si estoy en la ciudad y es noche de aficionados me encontrarán en este escenario.

Las instrucciones de bucle se usan para hacer cosas una y otra vez. Las instrucciones de bucle reducen la cantidad de código que tienes que escribir cuando tu programa está realizando la misma acción repetidamente.

Conforme aprendas a programar, aprenderás a usar estas instrucciones básicas para que tu programa haga lo que tú quieres que haga. Para poder usar Visual Basic.NET (o cualquier otro lenguaje de programación) tu trabajo será aprender la sintaxis particular requerida por el lenguaje de programación para escribir y usar estas instrucciones básicas.

Unidad 03 – Pseudo, Pennsylvania

Pág. 51 de 321

¿Que es un pseudo código? Como ya lo dije antes, los programadores a menudo escriben sus programas en pseudo código. La palabra pseudo significa "en lugar de". Por ejemplo, algunos autores usan un pseudónimo en lugar de su nombre real. Un pseudo código no está escrito en un lenguaje real de programación sino que consiste de instrucciones sencillas que describen lo que el programa va a hacer. Podrías escribir un pseudo código en inglés, español, latín o cualquier otro idioma, porque una computadora ni siquiera tiene que leer o comprender tu pseudo código. Éste tiene que ser claro para que tú y otros programadores lo entiendan, porque brinda el marco o instrucciones para escribir el código real de tu programa. Tu pseudo código se escribe usando los diferentes tipos de instrucciones básicas: asignación, comparación, decisión, etc.

Una gran ventaja de diseñar tu propio programa usando un pseudo código es que no tienes que preocuparte acerca de qué lenguaje de programación vas a usar. Primero, encuentra la lógica y estructura usando el pseudo código. Después "traduce" tu pseudo código al lenguaje de programación que quieres usar.

Recomendación para el profesor

El concepto principal en esta unidad es que el programador debe planear qué código escribir antes de iniciar la codificación en sí.

Unidad 03 – Pseudo, Pennsylvania

Pág. 52 de 321

Déjame darte un ejemplo de como usar el pseudo código para diseñar un programa. Digamos que quisiera escribir un programa para calcular el costo promedio de la gasolina en dólares por galón para todo nuestro viaje. ¿Qué tendría que hacer el programa? Para contestar esta pregunta, diseñaré el programa usando un pseudo código. Estos son los pasos que mi programa tendría que hacer para calcular el costo promedio de la gasolina durante nuestro viaje: 1.

2.

3. 4.

Sumar todo el dinero que pagamos para la gasolina y asignar este monto a una variable (total en dólares) Sumar el número total de galones de gasolina que usamos y asignar este monto a una segunda variable (total de galones) Tomar la primera variable (total en dólares) y dividirla entre la segunda variable (total de galones) y asignar el resultado a una tercera variable (dólares por galón). Desplegar un mensaje que da el costo promedio en dólares por galón.

El pseudo código claramente muestra lo que mi programa necesitará hacer. Ahora puedo escribir el código para realizar las tareas delineadas en el pseudo código.

Unidad 03 – Pseudo, Pennsylvania

Pág. 53 de 321

Déjame darte un ejemplo distinto con más pasos. Puede ser para un robot programable que cambia llantas. 1. 2. 3. 4. 5.

6. 7.

8. 9. 10.

11. 12.

Determinar que llanta está Poner llanta nueva. ponchada. (instrucción de Colocar de nuevo las tuercas y comparación) apretarlas. Determinar el tamaño de la llanta Colocar el tapón. ponchada (instrucción de comparación) Si hay una llanta de refacción del tamaño correcto entonces proceder; de otro modo, conseguir la refacción en una tienda de llantas. (instrucción de comparación y decisión) Levantar la camper usando un gato hidráulico. Quitar el tapón con un desarmador para exponer las tuercas. Quitar las tuercas usando una llave de cruz hasta haber removido todas. (instrucción de bucle) Remover la llanta ponchada. Colocar la llanta nueva. Colocar de nuevo y ajustar las tuercas usando una llave de cruz hasta que todas estén en su lugar. (instrucción de bucle) Colocar el tapón y ponerlo en su lugar con un martillo. Bajar el gato hidráulico.

En el pseudo código anterior hay una mezcla de instrucciones de asignación, de comparación, de decisión y de bucle. Por ejemplo, debes recordar el tamaño de la llanta ponchada; eso es una instrucción de asignación. Debes comparar el tamaño de la llanta ponchada con el tamaño de las llantas que tienes en existencia; esa es una instrucción de comparación. Una instrucción de decisión se usa con la instrucción de comparación. Si tienes una llanta del tamaño correcto, entonces procede, o visita la tienda de llantas. Colocar y apretar las tuercas puede verse como un proceso de bucle. Necesitas repetir cada proceso un número de veces hasta que se hayan quitado todas las tuercas y después hasta que se hayan apretado de nuevo.

Unidad 03 – Pseudo, Pennsylvania

Pág. 54 de 321

¿Por qué no intentas escribir un pseudo código usando mi organizador personal?

03 Ejercicio 01

Empacar para el viaje

Escribe en pseudo código los pasos requeridos para empacar lo que vas a llevar para tu viaje. Tu solución debe tener por lo menos siete pasos. Si cada paso comienza con una instrucción condicional, no entendiste el pseudo código. Recomendación para el profesor

Es sorprendente cuántos alumnos escriben un pseudo código que consiste en el 100% de instrucciones condicionales en vez de contener una mezcla de acciones y acciones condicionales. Un pseudo código sin instrucciones condicionales también es correcto.

Unidad 03 – Pseudo, Pennsylvania

Empacar para el viaje En este ejercicio deberás escribir un pseudo código explicando los pasos que sigues para empacar lo que vas a llevar para tu viaje El archivo 03_proveit01_files contiene las instrucciones para este ejercicio y cualquier archivo de apoyo que pudieras necesitar.

Pág. 55 de 321

Comentarios de código Los lenguajes de programación modernos, incluyendo Visual Studio.NET, permiten añadir comentarios a tu código. Éstos no se compilan como parte de tu programa y no se ejecutan cuando corres tu programa. Los comentarios son una forma útil de documentar tu código. Te ayudan a recordar lo que hace. También ayudan a otros programadores a comprenderlo.

Siempre debes comentar tu código. Los comentarios son muestra de un buen programador. Un buen programador se toma el tiempo para comprender y documentar a fondo el código que ha escrito. Debes agregar comentarios a tu código cuando haces un cambio o añades una función. También haz comentarios sobre partes de tu código que son difíciles de comprender o que realizan un cálculo particularmente difícil o complejo.

Haz comentarios respecto a tu código pero no demasiados. Estas tratando de documentar tu código, no de escribir una novela.

Recomendación para el profesor

Hay muchas razones para examinar el código en sí que los alumnos escriben en vez de ver simplemente el resultado de ejecutar el programa. • • •

Incítelos a hacer comentarios

Motive buenos nombres de datos

Detecte si un alumno está copiando el código de otro. Copiar es fácil y es tentador. Busque similitudes de técnica, ya que puede aplicarse la función de Encontrarreemplazar a los nombres de variables para disfrazar el código.

Unidad 03 – Pseudo, Pennsylvania

Pág. 56 de 321

En Visual Basic.NET comenzarás una línea de comentario con una sola comilla ('). Cualquier línea de código que inicia con una sola comilla se interpreta como un comentario y no será compilada o ejecutada cuando se corre el programa. Lo siguiente es un ejemplo de un comentario en Visual Basic.NET

'Función agregada para calcular el promedio de millas por galón.

Oye, podrás usar una sola comilla para los comentarios en Visual Basic.NET, pero en C# y J#, usamos una doble diagonal (//) al principio de nuestras líneas de comentario. Por ejemplo,

//Función agregada para calcular el promedio de millas por galón.

Unidad 03 – Pseudo, Pennsylvania

Pág. 57 de 321

Los comentarios tienen otra función importante además de documentar tu código. Dado que no se ejecutan, pueden usarse como un método para evitar que ciertas líneas del código se ejecuten. Esto se llama "comentar para excluir” una línea de código. Comentar para excluir es un método que puede usarse para ayudarte a encontrar errores en tu código. Si tienes un error en tu programa, puedes marcar líneas o bloques completos de código como si fueran comentarios para evitar su ejecución hasta que el error deje de ocurrir. El último código que marcaste de esta manera es probablemente donde está ocurriendo el error. Es muy útil, ¿no? Ahora te daré un ejemplo de comentar para excluir un código. Date cuenta de que hay tres líneas de código. La segunda línea se comenta para excluirla poniendo una sola comilla en su inicio. Por lo tanto, no se ejecutará, pero la primera y tercera líneas sí.

MessageBox.Show("Soy de" 'MessageBox.Show("una ciudad fantástica llamada") MessageBox.Show("San Francisco.")

Unidad 03 – Pseudo, Pennsylvania

Pág. 58 de 321

Pseudo código como comentario Y ahora, un uso más del may versátil comentario. Estoy seguro que te mueres por saber. Puedes usar los comentarios para diseñar y arreglar tu programa. Es fácil. Ya escribiste el pseudo código que describe lo que tu código va a hacer. Aprovéchalo. Copia y pega tu pseudo código en tu programa y pon una sola comilla al principio de cada línea de tu pseudo código para convertirla en comentario. Ahora, escribe el código real de Visual Basic.NET bajo cada línea de pseudo código y tu programa no sólo estará completo, sino que también tendrá comentarios. Así de simple. He aquí un ejemplo basado en el pseudo código que escribí para calcular la cantidad promedio en dólares por galón de gasolina para nuestro viaje. Nota que el pseudo código proporciona los comentarios. 'Suma todo el dinero que pagamos de gasolina y asigna este monto a una variable (total de dólares) Dim totalDollars As Double totalDollars = 88.76 + 100.8 + 120.3 'suma el total de galones de gasolina que usamos y asigna este monto a una segunda variable (total de galones) Dim totalGallons As Double totalGallons = 49.3 + 55.5 + 46.3 'Toma la primera variable (total de dólares), divídela entre la segunda variable (total de galones) y asigna el resultado a una tercera variable (dólares por galón). Dim dollarsPerGallon As Double dollarsPerGallon = totalDollars / totalGallons 'Despliega un mensaje dando el costo promedio en dólares por galón. MessageBox.Show (dollarPerGallon)

Unidad 03 – Pseudo, Pennsylvania

Pág. 59 de 321

Sangrías y espacios en blanco Aunque tal vez no comprendas todo el código Visual Basic.NET, quiero que veas un par de cosas. En primer lugar puedes ver que todos los comentarios inician con una sola comilla. El color del texto del comentario es verde. Esto facilita distinguirlos del resto del código. En segundo lugar, fíjate que se agregó una línea en blanco antes de cada comentario. Esta línea en blanco divide los comentarios y el código en grupos de acuerdo a su función. Las líneas en blanco hacen la lógica de tu programa clara y tu programa, de fácil comprensión. En la mayoría de los casos Visual Basic.NET agrega automáticamente espacios en blanco y sangrías para hacer que tu código sea más fácil de leer. Sin embargo, puedes añadir espacios en blanco adicionales y sangrías como tú quieras. Mi opinión al respecto es que los uses para hacer tu código y comentarios más fáciles de leer. A Visual Basic.NET y a los demás lenguajes .NET no les importan las líneas en blanco o las sangrías. De hecho las ignoran cuando se compila el programa. Aunque a Visual Basic.NET no le importen, estas líneas en blanco y las sangrías les facilitan a los demás leer tu código. (Y tú eres la persona que más se beneficiará de ello.)

Por omisión, Visual Basic.NET aplica la sangría de manera automática a tus instrucciones de código basado en la sintaxis de tu código. Aunque puedes inhabilitar la aplicación automática de sangría, se recomienda que la uses.

Recomendación para el profesor

Aliente el uso de líneas en blanco entre los bloques de código. Esto beneficia tanto al alumno como al profesor.

Unidad 03 – Pseudo, Pennsylvania

Pág. 60 de 321

03 Ejercicio 02

Lavar los trastes

Tengo otro Ejercicio en mi organizador personal para que lo resuelvas una vez que termines de lavar los trastes.

La camper tiene una cocina que usamos cuando no hay un restaurante de sushi o comida Cajun cerca. Cocinar significa trastes sucios que lavar. La camper no tiene un lavavajillas automático. Escribe un pseudo código explicando los pasos necesarios para lavar los trastes. Si no tienes experiencia en el tema, tendrás que investigar al respecto.

Lavar los trastes En este ejercicio escribirás un pseudo-código explicando los pasos que sigues para lavar los trastes El archivo 03_proveit02_files contiene las instrucciones para este ejercicio y cualquier archivo de apoyo que pudieras necesitar.

Tu solución debe tener por lo menos siete pasos.

Unidad 03 – Pseudo, Pennsylvania

Pág. 61 de 321

03 Reto

Pecera

¿Ves la pecera en el aparador de esa tienda de mascotas? Rápido, antes de que cambie el semáforo. Contemos los peces de cada color para calcular el porcentaje que cada uno representa.

En realidad, tengo el programa que hace eso. Encuentra el archivo FishTank.sln. Haz doble clic en él para abrir Visual Studio.NET. Ve a la página del código. Tu tarea es ver la página del código, y luego copiar todos los comentarios en un documento de Word o de texto.

La pecera En este Reto estudiarás los comentarios en el programa de la pecera El archivo 03_challenge_files contiene las instrucciones para este Reto y todos los archivos de apoyo que pudieras necesitar.

¿El resultado se ve como pseudo código?

Entrégale la lista de comentarios a tu instructor.

Extensión / Desviación ¿Hay demasiados comentarios? ¿Demasiado pocos? ¿Por qué?

Unidad 03 – Pseudo, Pennsylvania

Pág. 62 de 321

Llegada a Pseudo Ya que estamos por llegar a Pseudo, PA tienes que contestar otra pequeña prueba del rally. Te puede ayudar contestar algunas de las preguntas que hará el comité del rally.

¿Cuál de las siguientes instrucciones se usa para algo varias veces? Instrucción de comparación Instrucción de bucle Instrucción de asignación

Un pseudo-código es:

Un lenguaje de programación Instrucciones sencillas que describen lo que el programa va a hacer El nombre del autor

Unidad 03 – Pseudo, Pennsylvania

Los errores de programa pueden evitarse al incluir lo siguiente en tu programa Comentarios Espaciado Ambos

Las instrucciones de decisión Involucran una comparación

Realizan una acción cuando una comparación es cierta y otra falsa ambas

Pág. 63 de 321

Controles y propiedades de formato

Temas en el camino a Formsville: Aplicaciones de Windows Diseño del formato Uso del formato Propiedades del formato Controles y propiedades del formato Desencadenar eventos Cuadros de mensajes Entrando a Formsville

Unidad 04 – Formsville, Virginia

64

Controles y propiedades de formato

Aplicaciones de Windows Nos dirigimos a uno de mis lugares favoritos: ¡Formsville, Virginia! Antes, Formsville era un lugar muy aburrido. No había gran cosa que ver, pero ciertamente había mucho papeleo que hacer. Tenías que llenar un formato de 10 páginas tan sólo para pasar por el pueblo.

En la actualidad, Formsville es fantástica. Hay tantas cosas emocionantes que hacer que podrías pasar un año entero en Formsville y no ver todo ni tampoco aburrirte. Para mí, Formsville es una de las principales razones por las que hice este viaje.

¿Te acuerdas que en el camino a Ideal usaste Visual Studio para escribir tu primer programa? Una de las primeras cosas que tuviste que decidir fue qué tipo de proyecto querías crear y escogiste una aplicación de Windows. Una aplicación de Windows es un tipo de programa que tiene una interfase de usuario que brinda un formato para que tu usuario interactúe con el programa. No todos los programas tienen una interfase de usuario, algunos se ejecutan una sola vez o en segundo plano y no requieren ninguna información de introducción del usuario una vez que se abrieron. Mmmmm. Es un tanto aburrido, si me preguntas.

Unidad 04 – Formsville, Virginia

65

Controles y propiedades de formato

Diseño del formato A mí me gustan los juegos, y eso significa acción interactiva, por lo que todos los programas que escribo son aplicaciones de Windows. Las aplicaciones de Windows usan formatos para que diseñes lo que el usuario ve y como interactúa con tu programa.

Cuando creas por primera vez una aplicación de Visual Basic de Windows, Visual Studio agrega automáticamente un formato llamado Form1.vb a tu proyecto. Agregas "controles de formato" tales como botones, etiquetas, cuadros de texto, listas desplegables, etc. al formato para brindar formas para que el usuario interactúe con tu programa. Digamos que tu aplicación tiene un "formato de llanta ponchada" para introducir la información acerca de una llanta ponchada. He aquí una descripción de los controles que necesitas en el formato de llanta ponchada y lo que hacen: • •

• • • •

En un cuadro de texto, introduce el número de las placas del coche. De un grupo de botones de selección selecciona el que indica qué llanta está ponchada (la frontal izquierda, la frontal derecha, la trasera izquierda, la trasera derecha) Utiliza una casilla para indicar que este es un "trabajo urgente" De un combobox selecciona el tamaño de la llanta Haz clic en un botón que busque en el inventario de las llantas En un cuadro de texto despliega una lista de las llantas disponibles incluyendo el fabricante, número de modelo, tamaño, número de inventario y costo.

Así que el formato de llanta ponchada tiene dos cuadros de texto, cuatro botones de selección, una lista desplegable, una casilla de verificación, y un botón. Puedes organizarlos en el formato en muchas formas diferentes y es ahí donde la diversión y al creatividad comienza.

Unidad 04 – Formsville, Virginia

66

Controles y propiedades de formato

Para mí, uno de los aspectos más agradables de la programación es el diseño del formato. Puedo decidir como se ve el formato y como se organizan sus controles. Los formatos son como un lienzo y sus controles la pintura. Pero tengo que ser cuidadoso también. Tengo que asegurarme de que el formato haga lo que se supone que tiene que hacer. Tiene que cumplir con los requisitos del programa. Tiene que ser fácil de usar y no puede tener elementos innecesarios. Cuando diseño un formato me pregunto continuamente: "¿Cuál es el objetivo de este formato? ¿Qué se supone que haga?"

También tengo que asegurarme de que el formato se vea bien, como yo. No puede estar lleno de colores extravagantes o molestos efectos visuales tales como textos cintilantes que distraen al usuario. Y los controles del formato tienen que organizarse de forma clara y lógica. Tengo que pensar en el orden en que el usuario introducirá la información e interactuará con el programa. Algunas veces tengo que notificar al usuario que no ha introducido toda la información requerida, o que parte de la información es errónea. Cuando estás diseñando tus formatos, tienes que pensar como un usuario y tratar de imaginar todas las formas posibles en las que un usuario puede interactuar con tu programa. Finalmente, cuando diseñas un formato, tienes que recordar que todas las aplicaciones de Windows tienen una apariencia y un ambiente estándar. Un usuario espera que tu aplicación siga ciertos lineamientos de diseño y se comporte de cierta manera. Por ejemplo, la primera elección del menú de una aplicación de Windows es "Archivo", y bajo "Archivo" se encontrará una elección de menú llamada "Salir" que el usuario selecciona para cerrar el programa.

Un usuario estaría muy sorprendido y molesto si hace clic en un botón llamado "Calcular resultados" y tu programa cambia el color del formato principal a rojo y traduce todos los títulos de los botones al latín.

Unidad 04 – Formsville, Virginia

67

Controles y propiedades de formato

Uso del formato

Recomendación para el profesor

Como sabes, cuando creas una nueva Form1.vb puede cambiarse de aplicación de Windows, Visual Studio agrega nombre con una denominación más automáticamente un formato llamado descriptiva. Esto es deseable para Form1.vb. Este es el formato principal, o las aplicaciones complejas. formato de inicio, de tu aplicación. Es lo primero que el usuario ve cuando abre tu programa. El formato principal es como un panel de control central. Desde aquí el usuario puede dirigirse a cualquier otra parte del tu programa. A menudo, una barra de menú o barra de herramientas se coloca a lo largo de la parte superior del formato principal para brindar medios de navegación a distintas partes de la aplicación.

Desde el formato principal el usuario selecciona los elementos del menú o hace clic en los botones que abren otros formatos. Estos formatos pueden ser para introducir o visualizar información o interactuar con el programa de otras maneras. Por lo general tienen un propósito específico, como visualizar la puntuación del boliche, introducir una lista de efectos secundarios o elegir configuraciones de programa. Después de que el usuario ha introducido o visualizado la información en uno de estos formatos, éste se cierra por lo general y regresa al formato principal. Aunque Visual Studio solo agrega Form1, tú puedes añadir a tu proyecto cuantos formatos requieras. Otro tipo de formato importante es el cuadro de mensaje. En realidad tú ya usaste este formato. En el programa HelloWorld usaste un cuadro de mensaje para desplegar las palabras "Hello World". Se usa para desplegar tu mensaje en un formato de diálogo común. Una vez que el usuario leyó el mensaje, cierra el cuadro de mensaje haciendo clic en el botón OK.

Comencemos. Vas a diseñar tu propio formato: un formato de llanta ponchada. Después agregarás algunos controles de formato y establecerás sus propiedades. Te mostraré como responden los controles de formato a acciones tales como hacer clic en un botón y volveremos a ver un formato integrado especial: nuestro viejo amigo el cuadro de mensajes. Recomendación para el profesor

Los alumnos estarán tentados a leer el material pero no a llevar a cabo realmente lo que está descrito en el texto. Se beneficiarán más cuando hagan realmente lo que dice el texto del curso, lo cual indica, confirma y refuerza que comprendieron el material del curso.

Unidad 04 – Formsville, Virginia

68

Controles y propiedades de formato

Propiedades del formato Cuando creas una aplicación nueva de Windows, Form1 se agrega automáticamente. Tiene un tamaño predeterminado de 300 por 300 píxeles. ¿Cómo sabía el tamaño de Form1?, te preguntarás. Bueno, hay una manera sencilla de verificarlo usando la ventana de propiedades. Lo que es más, puedes cambiar el tamaño del formato en la misma ventana. Te mostraré los pasos. Primero, tienes que crear una nueva aplicación de Windows llamada LlantaPonchada. Una vez creado el proyecto, pulsa una vez en Form1 para seleccionarlo. Oprime la tecla F4 para abrir la ventana de propiedades.

1. Ya que Form1 está seleccionada en este momento, la ventana de propiedades despliega las de Form1. Nota que el rubro Texto es resaltado por omisión.

2. Recorre la lista de propiedades de Form1 y ubica el rubro Tamaño. Nota que éste tiene un signo de más junto a él, lo que indica que puede expandirse para desplegar otras propiedades.

Unidad 04 – Formsville, Virginia

69

Controles y propiedades de formato

3. Haz clic en el signo de más ubicado junto a Tamaño. Se despliegan las propiedades Altura y Ancho. La altura de Form1 es de 300 y el ancho es de 300. Vamos a cambiar el tamaño de Form1.

4. Haz doble clic en Ancho para resaltar el valor del rubro (300). Oprime la tecla de retroceso para borrar este valor.

5. Introduce el número 450. Oprime la tecla Enter ¡listo! Acabas de cambiar el ancho del formato. Nota cómo el ancho del formato cambió en cuanto oprimiste la tecla Enter. Nota también cómo el valor del ancho ubicado junto al rubro tamaño se estableció al mismo tiempo.

Unidad 04 – Formsville, Virginia

70

Controles y propiedades de formato

Ahora, establezcamos la propiedad Color de fondo de Form1. El color de fondo es el color del formato y de los controles que están en él. En la ventana de propiedades, ve a Color de fondo de Form1. Haz clic en la palabra Control. Un botón de flecha hacia abajo aparecerá a la derecha; haz clic en él. Se abre una ventana de paleta de colores. Selecciona la pestaña Personalizar. Haz doble clic en el cuadro de color que quieres seleccionar. A mí me gusta el amarillo brillante. ¡Guau, mira ese formato ahora! Crea tu solución y comienza tu proyecto. Ve el nuevo y extravagante color de fondo de tu formato. Además, fíjate que éste ahora se llama "Formato de llanta ponchada" y ya no tiene forma cuadrada sino rectangular.

Ahora ya sabes como cambiar las propiedades de un formato usando la ventana de propiedades. Recorre las propiedades de Form1 y familiarízate con la lista. Ésta ventana te permite cambiar las propiedades del formato en el momento de diseñarlo. Como verás, la ventana de propiedades no es sólo para formatos. También te permite cambiar las propiedades de los botones, cuadros de texto y otros controles del mismo.

Unidad 04 – Formsville, Virginia

71

Controles y propiedades de formato

Controles y propiedades de formato Ahora eres un experto en agregar botones a los formatos, ¡pero eso es un tanto repetitivo! Puedes ver que la ventana de caja de herramientas tiene muchas otros controles de formato disponibles. Ahora voy a mostrarte como usar algunos de los más comunes y como configurar sus propiedades mas útiles. Comencemos con los títulos.

Etiquetas El control de formato Etiqueta se usa para etiquetar controles individuales o grupos de controles en tu formato. También se usa comúnmente para dar instrucciones o indicar el orden para introducir información en el formato.

Recomendación para el profesor

Todos los controles son objetos pero no todos los objetos son controles. Un objeto puede ser casi cualquier cosa menos una propiedad. Una propiedad es una característica de un objeto, como el ancho o el color.

Abre la ventana cuadro de herramientas y haz doble clic en el control de formato Etiqueta para agregar una etiqueta a tu formato. Arrástrala a una ubicación adecuada deteniendo el botón izquierdo del ratón y moviendo el ratón. Selecciona ‘Label1’ y abre la ventana de propiedades, la cual despliega una lista de propiedades del control de etiquetas. Mueva el cursor a Texto, haga doble clic para seleccionar el texto, y bórralo con la tecla de retroceso. Teclea las palabras Introducir licencia.

Cuadro de texto Un cuadro de texto puede usarse para desplegar información para el usuario o recabar información del usuario. En la ventana Cuadro de herramientas haz doble clic en el control de formato Cuadro de texto; se agrega ‘Textbox1’ a tu formato. Arrastra ‘Textbox1’ a la derecha de ‘Label1’, baja al rubro Texto, haz doble clic y presiona la tecla de retroceso para borrar el texto. Establece Sólo lectura a Falso para que el usuario pueda introducir texto en el cuadro de texto. Falso debe ser el valor predeterminado.

Unidad 04 – Formsville, Virginia

72

Controles y propiedades de formato

Los cuadros de texto a menudo se usan para desplegar una gran cantidad de información. Si el texto es realmente largo tal vez quieras agregar barras de desplazamiento al cuadro de texto. Agrega otro cuadro de texto a tu formato. Establece la propiedad Multilínea a Verdadero. Pon la altura a 100 píxeles y el ancho a 100 píxeles. Si Multilinea se establece a falso, no podrás cambiar la altura. Pon las barras de desplazamiento en Vertical y Solo lectura en verdadero para que el usuario no pueda introducir texto en el cuadro de texto.

Botones de selección Los botones de selección se usan para ofrecerle al usuario opciones. Éste puede seleccionar un solo botón de selección de un grupo de botones. Es como una prueba de opción múltiple. En la ventana Cuadro de herramientas haz doble clic en el control de formato de botón de selección. Se agrega el botón de selección RadioButton1 al formato. Selecciona RadioButton1 en tu formato, oprime el botón derecho del ratón y selecciona Copiar del menú. Haz clic en cualquier lugar en Form1, oprime el botón derecho del ratón, y selecciona Pegar del menú. Como por arte de magia, se agrega RadioButton2. Repite la operación Pegar para agregar RadioButton3 y RadioButton4. Selecciona RadioButton1 y abre la ventana de Propiedades. Escoge la propiedad Texto y cámbialo de "RadioButton1" a izquierdo, delantero. Cambia las propiedades de texto de los otros botones de selección: RadioButton2 a izquierdo, posterior, RadioButton3 derecho, delantero, RadioButton4 a "(derecho, posterior).

Casilla de verificación Un cuadro de texto puede usarse para desplegar información para el usuario o para recabar información del usuario. En la ventana Cuadro de herramientas, haz doble clic en control de formato de cuadro de texto. Se agrega Textbox1 a tu formato. Arrastra Textbox1 a la derecha de Label1. Selecciona la propiedad Texto, pulsa dos veces, y oprime la tecla de retroceso para borrar el texto. Establece Sólo lectura a Falso para que el usuario pueda introducir texto en el cuadro de texto. Falso debe ser el valor predeterminado. Las casillas de verificación también se usan ofrecerle al usuario opciones. Un usuario puede seleccionar una o más casillas de verificación de un grupo. En la ventana Cuadro de herramientas haz doble clic en el control de formato de casilla de verificación. Se agrega CheckBox1 al formato. Abre la ventana de propiedades y cambia Texto’ a "Rush Job" (trabajo urgente.) Unidad 04 – Formsville, Virginia

73

Controles y propiedades de formato

ComboBox Una combobox brinda una lista de opciones para el usuario. Al seleccionar un elemento de la lista, éste se despliega en la combobox. En la ventana Cuadro de herramientas, haz doble clic en el control de formato Combobox; se agrega ComboBox1 al formato. Abre la ventana de Propiedades y cambia Texto a Escoge tamaño de llanta. Ve a elementos y haz clic en la palabra Colección. Un botón de elipsis (botón con tres puntos en él) aparece a la derecha. Haz clic en el botón ellipsis y se abre una ventana en donde puedes introducir una lista de elementos que aparecerán en la combobox. Debes colocar cada elemento de la lista en una línea independiente. Después de haber introducido un elemento, haz clic en Entrar para crear una línea nueva. En la ventana introduce 12, oprime Entrar, introduce 13, oprime Entrar, introduce 14; oprime Entrar e introduce 15. Haz clic en el botón ‘OK’ para cerrar la ventana.

Botones de comando Un cuadro de texto puede usarse para desplegar información para el usuario o para recabar información del mismo. En la ventana Cuadro de herramientas haz doble clic en el control de formato Cuadro de texto; se agrega Textbox1 a tu formato. Arrastra Textbox1 a la derecha de Label1. Ve a la propiedad Texto, haz doble clic y oprime la tecla de retroceso para borrar el texto. Pon Sólo lectura en Falso para que el usuario pueda introducir texto en el cuadro de texto. Falso debe de ser el valor predeterminado. Agrégale un botón a tu formato. Pon en la propiedad Texto "Conseguir llantas”. Cambia el color de fondo a rojo. Ve a la propiedad Fuente. Haz clic en Fuente para desplegar el botón de elipsis. Haz clic en el botón de elipsis para desplegar Paleta de fuentes. En la paleta de fuentes, cambia el estilo de fuente a Negrita. Haz clic en ‘OK’ para cerrar la paleta de fuentes.

Crea tu solución y comienza el proyecto. Haz clic en los varios controles de formato que agregaste. ¿Qué ocurre cuando haces clic en la combobox? ¿Qué ocurre cuando escoges uno de los botones de selección, un botón de selección diferente, la casilla de verificación? Introduce algún texto en el cuadro de texto junto a la etiqueta Introducir licencia. Nota que el otro cuadro de texto es gris y que no puedes introducir texto en él. Haz clic en la "X" en el extremo superior derecho para cerrar tu aplicación. Unidad 04 – Formsville, Virginia

74

Controles y propiedades de formato

¿Te diste cuenta de que acabas de crear el "formato de llanta ponchada"? Durante el trayecto aprendiste varios tipos de controles de formato y sus propiedades. Para convertirlo en un formato de trabajo real, falta agregar el código Visual Basic.NET al formato y los controles de formato. Asegúrate de familiarizarte con las varias Recomendación para el propiedades de cada control de formato que agregaste. Puedes reorganizar los controles profesor de formato para hacer el formato más claro El alumno debe usar la ventana de y fácil de usar. Puedes agregar títulos que propiedades para revisar las le digan al usuario para qué se utilizan los propiedades de cada control. diferentes controles y dar instrucciones sobre qué tipo de información se necesita. ¿Cómo crees que deben organizarse los controles en el formato? ¿Qué control debe estar al principio y cuál al final?

Unidad 04 – Formsville, Virginia

75

Controles y propiedades de formato

Un formato y muchos objetos de formato tienen las mismas propiedades. Algunas de las más comunes son: • Color de fondo • Habilitado • Color frontal • Ubicación • Nombre • Tamaño (altura, ancho) • Texto • Visible

En J# y C# el diseño de formato es exactamente igual que en VB.NET. Se facilita gracias a Visual Studio.NET. Sólo abrimos el Cuadro de herramientas y arrastramos los controles de formato hacia el formato. Después abrimos la ventana de propiedades y las configuramos.

Unidad 04 – Formsville, Virginia

76

Controles y propiedades de formato

04 Ejercicio 01

Quién es quién

¿Te gustaría saber más acerca de la gente con la que estás viajando? En este punto del viaje debes demostrar que puedes crear un formato y ajustar las propiedades de los objetos colocados en el formato usando la ventana de propiedades. Si creas el formato correctamente, usando el código suministrado, aprenderás más acerca de tus compañeros de viaje.

Puedes obtener el código de base 04_ proveit_01_template code (solución) de tu instructor o del sitio de internet del curso si es que lo estás tomando en línea. Coloca la solución en una carpeta individual. Debes tener dos carpetas (papelera, objetos) y 7 archivos.

Quién es quién Debes crear un formato para desplegar las biografías de Nikki, Cliff, Jen, Dirk y DJ Vu. Tendrás el código Visual Basic.NET. El archivo 04_proveit01_files contiene las instrucciones para este ejercicio y cualquier archivo de apoyo que pudieras necesitar. Haz clic en el botón Descargar para descargar el archivo.

Abre Visual Studio.NET, selecciona Proyecto existente, y navega al archivo llamado WhosWho.sln. Como alternativa puedes usar Mi PC para navegar a WhosWho.sln, haz doble clic en él, y el archivo WhosWho abrirá en Visual Studio.NET.

Tu tarea es agregar objetos del cuadro de herramientas para que el formato se vea así. También deberás actualizar elementos en la ventana de propiedades como se describe a continuación.

Unidad 04 – Formsville, Virginia

77

Controles y propiedades de formato

1. Haz clic una vez en el formato para resaltarlo y después usa la ventana de propiedades para cambiar el nombre del formato a ‘Whoswho’.

2. Coloca dos casillas de verificación en el formato. Deja los nombres predeterminados como CheckBox1 y CheckBox2. Cambia las propiedades de Texto a Mostrar imagen y Mostrar biografía. 3. Coloca cinco botones de selección en el formato. Cambia las propiedades de texto a Nikki, Cliff, Dirk, Jen, y DJ Vu. Deja los nombres como RadioButton1 – RadioButton5.

4. Coloca un cuadro de texto llamado TextBox1.

5. Coloca un control de cuadro de imagen llamado PictureBox1. Usa la ventana de propiedades para configurar la altura a 160 y el ancho a 140. Estos se cambian al pulsar el signo de más en el tamaño.

6. Coloca un cuadro de texto llamado TextBox1. Debes hacer varios cambios en las propiedades. El orden en el que realizas los cambios es importante. Quieres que el recuadro sea lo suficientemente grande para mostrar varias líneas de biografía. Visual Basic no te permitirá ajustar la altura de un cuadro de texto hasta que colocas PRIMERO la propiedad Multilínea en Verdadero. Visual Basic sabe que si sólo tienes una línea no hay razón para tener un cuadro largo. Ahora ajusta la altura del cuadro a 120. Finalmente, coloca las barras de desplazamiento vertical en caso de que haya más líneas de biografía de las que pueden caber en el cuadro. 7. Coloca un botón de comando llamado Button1. Ajusta la propiedad Texto a Salir.

Una vez que hayas creado tu formato, crea la solución. Si no hay errores de creación, escoge Depurar / Iniciar para ejecutar tu programa. Si tu programa funciona correctamente, muéstraselo a tu instructor. Recomendación para el profesor

El alumno coloca objetos en un programa parcialmente terminado. No debe escribe ningún código.

Unidad 04 – Formsville, Virginia

78

Controles y propiedades de formato

Desencadenar acciones Las acciones son producidas por acciones del usuario. Por ejemplo, cuando un usuario oprima un botón, selecciona un elemento de un combobox, o cambia el texto en un cuadro de texto, se produce un evento. Los eventos del usuario al hacer clic una o dos veces en un control o mover el cursor hacia un control o fuera de él también generan eventos. Tú usas estos eventos para ejecutar el código VB.NET asociado con ellos. El código VB.NET produce que tu programa haga lo que se supone que tiene que hacer. Cuando escribiste la aplicación HelloWorld, hiciste doble clic en el botón y la ventana de código se abrió para que pudieras introducir el código en la acción Button1_Click. La acción Button1_Click es el evento predeterminado para un botón. Cada control de formato tiene un evento predeterminado. Cuando estás en modo de diseño, haz doble clic en el control de formato y la ventana de código se abrirá para el evento predeterminado. Por ejemplo: • • • • •

Para un botón el evento predeterminado es hacer clic en él. Para un cuadro de texto el evento predeterminado es Cambio de texto. Para un botón de selección el evento predeterminado es marcado cambiado. Para una casilla de verificación , el evento predeterminado es Marcado cambiado) Para un ComboBox , el evento predeterminado es SelectedIndexChanged (Índice seleccionado cambiado.

Para mostrarte cómo funciona esto, les agregaremos algunos códigos a los eventos predeterminados de los controles de formato del "formato de llanta ponchada". El código mostrará un cuadro de mensaje que despliega el tipo de control que envió la acción. En modo de diseño, haz doble clic en cada uno de los controles de formato que agregaste. La ventana de código se abrirá para la acción predeterminada de cada control. Pega la siguiente línea de código en cada de sección de evento. MessageBox.Show(sender.GetType.Name)

Crea tu solución e inicia tu proyecto. Haz clic en los varios elementos del formato, cambia el texto en el cuadro de texto y selecciona un elemento del ComboBox. Para cada control se desencadena el evento predeterminado y se despliega el cuadro de mensaje mostrando el tipo de control que envió el evento. Unidad 04 – Formsville, Virginia

79

Controles y propiedades de formato

Si el formato de llanta ponchada fuera parte de una aplicación real, agregarías un código a las acciones predeterminadas para brindarle la funcionalidad que requiere tu programa. Por ejemplo, cuando haces clic en el botón Conseguir las llantas, se desplegará en el cuadro de texto una lista de llantas disponibles. Recomendación para el profesor

Puede suceder que un alumno haga doble clic en el control equivocado, como una etiqueta, creando un código de evento por clic. Por lo general, cuando un alumno borra un código innecesario, no hay problema. A veces, VB crea un código además del código de evento por clic. Ese código también debe borrarse para completar un proceso de creación. Una creación marcará el error para que sea fácil de encontrar.

Unidad 04 – Formsville, Virginia

80

Controles y propiedades de formato

En C# y J# los controles de formato tienen los mismos eventos que en VB.NET. Esto se debe al marco .NET; y Visual Studio lo facilita.

Cuadros de mensaje A menudo descubrirás que tu programa necesita entablar un dialogo con el usuario. El programa tal vez le requiera enviar un mensaje, recabar su respuesta, o recibir la información de entrada del mismo. De hecho, estos tipos de dialogo son tan comunes que Visual Studio.NET incluye un cuadro de mensaje para manejarlos. En el programa que escribiste, usaste una línea de código que desplegó un cuadro de mensaje. MessageBox.Show("Hello, World.")

El cuadro de mensaje es un tipo de formato que está integrado en VB.NET. No tienes que agregar un cuadro de mensaje a tu proyecto para usarlo. Todo lo que tienes que hacer es usar el método de Mostrar () e incluir el texto que quieres que el cuadro de mensaje muestre. La sintaxis para usar el cuadro de mensaje es: Nota que el mensaje que quieres desplegar debe estar incluido en comillas dobles. Oye, ve el código para un cuadro de mensaje en C#. Es el mismo que en J# también. { MessageBox.Show("Hello World"); }

Unidad 04 – Formsville, Virginia

81

Controles y propiedades de formato

Los controles de formato tienen más de un evento predeterminado. La mayoría de los controles de formato tienen una docena de eventos. Por ejemplo, el cuadro de texto tiene las siguientes acciones: • Cambio de texto (evento predeterminado) • Hacer clic • Hacer doble clic • Entrada de ratón • Salida de ratón • ¡y muchos más! Para ver todos los eventos para un control de formato, selecciona el control. Haz clic con el botón derecho y selecciona Ver código del menú emergente. La ventana de código se abre. En la parte superior de la misma ves dos listas desplegables. La que está en el lado derecho enlista todos los eventos de control. Los eventos en negritas tienen código asociado con ellos.

En C# y J# los controles de formato tienen los mismos eventos que en VB.NET. Esto se debe al marco .NET; y Visual Studio lo facilita.

Unidad 04 – Formsville, Virginia

82

Controles y propiedades de formato

Cuadros de mensajes A menudo descubrirás que tu programa requiere entablar un dialogo con el usuario. El programa tal vez tenga que enviar un mensaje al usuario, recabar la respuesta del usuario, o recibir la información de entrada del usuario. De hecho, estos tipos de dialogo son tan comunes que Visual Studio.NET incluye un objeto de cuadro de mensaje para manejarlos. En el primer programa que escribiste, usaste una línea de código que desplegó un cuadro de mensaje. MessageBox.Show("Hello, World.")

El cuadro de mensaje es un tipo de formato que está integrado en VB.NET. No tienes que agregarlo a tu proyecto para usarlo. Todo lo que tienes que hacer es usar el método de Mostrar() e incluir el texto que quieres que el cuadro de mensaje muestre. La sintaxis para usar el cuadro de mensaje es: MessageBox.Show("Tu mensaje")

Nota que el mensaje que quieres mostrar debe incluirse en comillas dobles. Oye, ve el código para un cuadro de mensaje en C#. Es el mismo que en J# también.{ MessageBox.Show("Hello World"); }

Recomendación para el profesor

Un cuadro de mensaje tiene un formato más complejo que despliega botones que el usuario puede pulsar (Ej. si, no, cancelar). El programador puede revisar para ver que elección hizo el usuario. Los cuadros de mensaje complejo no se usan en este curso. Por ejemplo, Dim ElecciónUsuario como Integral ElecciónUsuario = MessageBox.Show ("pregunta aquí?", vbYesNo, "título aquí") Si ElecciónUsuario = vbYes entonces ‘ "si" código aquí o ‘ "no" código aquí Terminar condicional

Unidad 04 – Formsville, Virginia

83

Controles y propiedades de formato

Entrada a Formsville Buen trabajo en la creación de ese formato de llanta ponchada! Ahora ves porque me gusta tanto el diseño de formatos. Se que estás listo para Formsville. Intenta resolver estos Ejercicios, contesta la pequeña prueba, y estarás en camino de convertirte en un diseñador profesional de formatos.

04 Ejercicio 02

Precio de la Pizza

¿Qué sería un viaje en carretera sin pizza? Pizza palace en Formsville tiene un programa para ayudar a los clientes a evaluar el precio de su pizza. Apuesto a que puedes escribir el mismo programa. Bueno, puedes diseñar el formato de cualquier manera. Te daremos el código. Usa la plantilla 04_proveit02_template. Encuentra el archivo PizzaPrice.sln. Haz doble clic para abrir Visual Studio. Tu tarea es agregar objetos del Cuadro de herramientas para que el formato se vea así.

Precio de la pizza Crearás un formato para desplegar el precio de una pizza. Te damos el código de Visual Basic.NET. El archivo 04_proveit02_files tiene las instrucciones para este ejercicio y los archivos de apoyo que necesitarás. Haz clic en el botón ‘Download’ para descargar el archivo

Necesitas tres botones de selección, dos títulos y 8 casillas de verificación. Unidad 04 – Formsville, Virginia

84

Controles y propiedades de formato

No te olvides de cambiar el texto en la parte superior del formato. El programa cambiará el texto de ‘label2’.

Pizza Palace cobra $5 dólares por una pizza regular, $1 dólar más por cada carne adicional, y $0.50 centavos por cada ingrediente vegetal extra. Una pizza mediana cuesta 25% más y una grande 50% más que una regular. Una vez creado tu formato, crea la solución. Si no hay errores de creación, elige Depurar/iniciar para ejecutar tu programa. Si tu programa funciona correctamente, muéstraselo a tu instructor.

Extensión / desviación Muestra el precio formateado con apariencia de dinero. Visual Basic.NET tiene una función conveniente para esto. Coloque una variable dentro de la función FormatCurrency, como esta: FormatCurrency(miVariable) El resultado se ve como dinero. Agrega un cuadro de imagen con una imagen adecuada referente a la venta de pizza.

Recomendación para el profesor

La función ‘FormatCurrency’ opera en el contexto de la variable, no en el objeto mismo. El aplicar ‘FormatCurrency’ a un cuadro de texto no significa que éste siempre estará formateado. Sólo significa que el elemento en el cuadro de texto es formateado al momento en que se aplica la función. Si el contenido del cuadro de texto es reemplazado posteriormente, el formato desaparece, salvo que se aplique nuevamente al momento de la actualización.

Unidad 04 – Formsville, Virginia

85

Controles y propiedades de formato

04 Reto

Gato

Ya que casi todos en el viaje usan la computadora portátil, los juegos de computadora son una forma de pasar el tiempo cuando el paisaje es aburrido. Tu misión, si decides aceptarla, es escribir el clásico juego de gato usando Visual Basic.NET. Dirk encontró el código para el programa en un portal de internet poco conocido pero falta el código del formato. Debes “pintar” el formato para que corresponda al código. Si haces eso correctamente, tendrás un juego de gato listo para jugar. Tu instructor te dará el código de base 04_challenge_template code o lo obtendrás en el portal de internet si estás tomando el curso en línea. Coloca la solución en una carpeta individual. Debes tener dos carpetas (papelera, objeto) y 7 archivos.

Gato En este Reto debes crear el formato usado por el programa ‘Gato’. El código está incluido. Cuando pintes el formato correctamente, tendrás listo el juego llamado gato. El archivo 04_challenge_files tiene las instrucciones para este Reto y los archivos de apoyo que necesitarás. Haz clic en el botón Descargar para descargar el archivo. Después haz doble clic en el archivo para accesar las instrucciones y archivos necesarios.

Abre Visual Studio.NET, selecciona Proyecto existente, y navega al archive llamado TicTacToe.sln. Otra opción, es usar Mi PC para navegar hasta TicTacToe.sln, hacer doble clic en ella, y Visual Studio se abrirá.

Tu tarea es agregar objetos del Cuadro de herramientas para que el formato se vea así. También deberás actualizar elementos en la ventana de propiedades como se describe abajo. 1. Haz clic en el formato para enfocarlo. Cambia el título del formato a ‘Gato’.

2. Crea 9 títulos llamados Label1 a Label9. Organízalos para que Label1 se encuentre en el extremo superior izquierdo y Label9 esté en el extremo inferior Unidad 04 – Formsville, Virginia

86

Controles y propiedades de formato

derecho. Puedes ahorrar mucho tiempo haciendo un título, configurando las propiedades, y después copiando y pegando el titulo 8 veces más. Haz estos cambios en todos ellos: Altura Ancho Fuente Color de fondo Texto

48 48 Microsoft Sans Serif Negrita 36 Puede quedarse como el gris predeterminado Puede quedarse como el predeterminado

3. Crea un título llamado Label10 a continuación del 9 anterior. Altura Ancho Fuente Color de fondo Texto

25 175 Microsoft Sans Serif Negrita 16 Puede quedarse como el predeterminado Puede quedarse como el predeterminado

Recomendación para el profesor

Las letras ‘L’ grandes en la página previa representan la primera letra de un título que tiene una fuente grande.

4. Crea 3 títulos llamados ‘Label11’ al ‘Label13’. Cambia el texto a “X Gana” ó “O gana”, y “Empate”, como se muestra en el ejemplo. 5. Crea 3 cuadros de texto llamados ‘TextBox1’ al ‘TextBox3’. Colócalos junto a los títulos creados en el paso 4.

6. Crea un botón llamado Button1, como se muestra. Cambia este texto a “Jugar de nuevo”. 7. Crea un botón llamado Button2, como se muestra. Cambia su texto a “Fin”.

Una vez que hayas creado tu formato, crea la solución. Si no hay errores de creación, elige Depurar/iniciar para ejecutar tu programa. Si tu programa funciona correctamente, muéstraselo a tu instructor.

Unidad 04 – Formsville, Virginia

87

Controles y propiedades de formato

Extension / Desviación • •



Cambia el color de fondo del formato. Cambia la fuente de todos los botones, cuadros de texto, etc. a una fuente más legible, tal como Microsoft Sans Serif negrita 10. ¿Puedes cambiar las fuentes de todos los elementos al primero hacer clic en los elementos mientras detienes la tecla CTRL? Agrega cuadros de texto para los nombres de los jugadores.

Llegada a Formsville Ya que estamos por llegar a Formsville, VA tienes que contestar otra pequeña prueba del rally. Te puede ayudar contestar algunas de las preguntas que hará el comité del rally. ¡suerte! INTENTA LA PRUEBA DE NUEVO

¿Qué se usa en un formato para permitirle al usuario interactuar con tu programa? Controles Objetos

Tanto controles como objetos

Un formato y sus controles tienen: Profundidad

Propiedades

Ventanas hijas

Unidad 04 – Formsville, Virginia

¿Qué control puede usarse para desplegar y recabar información? Cuadro de texto Etiqueta

Botón de comando

En Visual Basic, ¿qué hacen los eventos? Cambian las propiedades de un cuadro de texto Actualizan la carpeta fuente Hacen que se ejecute el código

88

Temas en el camino a Proper Propiedades Dónde inicia el código Leer propiedades con el código Configurar propiedades con el código Métodos IntelliSense y notación de punto Llamar métodos con el código. Entrada a Proper

Unidad 05 – Proper, Georgia

89

Propiedades ¡Formsville fue muy divertido! Yo sé que es uno de los lugares favoritos de Cliff, él sabe mucho acerca del diseño de formatos y controles de formatos. El te enseñó como crear el formato de llanta ponchada. Incluso me enseñó algunas cosas acerca de configurar usando la ventana de propiedades.

Voy a manejar hacia nuestro siguiente destino: Proper, Georgia. ¿Alguna vez has ido? Es un lugar muy apropiado. Deberás tener muy buenos modales cuando lleguemos allá, durante el camino te enseñaré más cosas respecto a las propiedades, te enseñaré como leerlas y configurarlas usando el código Visual Basic.NET. Después de aprender sobre dichas propiedades, te enseñaré un poco acerca de los métodos y como accesarlos también.

Unidad 05 – Proper, Georgia

90

Dónde inicia el código Es divertido diseñar un formato y configurar los controles correspondientes usando la ventana de propiedades, pero esto es sólo el principio, la ventana de propiedades es muy fácil de usar, pero no es muy versátil. ¿Qué pasa si tu usuario desea cambiar el color de fondo del formato cuando está usando tu programa? ¿Qué pasa si necesita cambiar el tamaño o estilo de fuente? ¿Cómo sabe tu programa si un usuario ha marcado algún cuadro de verificación o ha hecho clic en un botón de opción en particular? Dado que tus usuarios no tendrán que accesar la ventana de propiedades cuando ejecutan tu programa, ¿Cómo podrían hacer estas cosas?

Bien, la respuesta es por medio del código Visual Basic.NET, con él puedes hacer todo esto y mucho más usando el código. Tú mismo escribes código para leer las propiedades de los controles de formato. Tú mismo escribes más códigos para configurar sus propiedades. Es así de simple y es muy poderoso. En mi opinión, es aquí donde empieza realmente la programación.

Usa la ventana de propiedades para configurar las propiedades iniciales de tu formato y los controles de formato cuando lo estás diseñado. Usa el código para cambiar las propiedades durante la ejecución del programa.

Unidad 05 – Proper, Georgia

91

¿A dónde va todo este código? Escribirás tu código en la página correspondiente de tu formato. En la mayoría de los casos lo colocarás en las secciones de eventos de tus controles de formato. ¿Recuerdas el botón clic por evento? Cuando un usuario realiza una acción, como la de pulsar un botón, el código que escribes para la sección de evento se ejecuta y la propiedad de un control de formato se lee o se configura. Cuando agregas un código a los eventos de los controles del formato, estás realizando los primeros pasos para convertir un formato en un programa funcional. ¿Recuerdas el formato de llanta ponchada que diseñaste? El formato no puede hacer nada hasta que le hayas agregado un código.

Para editar la sección de eventos predeterminada de un control, selecciona el control en tu formato y haz doble clic en él. La ventana de código se abre y el código de la sección de evento está listo para su edición. Puedes escoger una sección de evento diferente de una lista desplegable en el extremo superior derecho de la ventana de código.

A continuación te daré unos cuantos ejemplos de como leer las propiedades de los controles de formato usando el código Visual Basic.NET. Posteriormente te daré unos ejemplos de cómo configurarlas.

Unidad 05 – Proper, Georgia

92

Lectura de las propiedades con el código Vamos a ver algunos ejemplos reales respecto a la forma de leer propiedades con el código Visual Basic.NET. Para iniciar, te mostraré unos ejemplos de como leer algunas propiedades sencillas que normalmente se configuran usando la ventana de propiedades. Después de esto te daré unos ejemplos más de cómo leer algunas propiedades que los usuarios pueden cambiar cuando estén usando tu programa. Ahora, sigamos adelante.

Crea una nueva aplicación de Windows llamada Leer propiedades, abre el cuadro de herramientas y agrega un botón a Form1. Abre la ventana de propiedades y cambia la propiedad de Texto del ‘Button1’ a Leer texto. Haz doble clic en Button1 para editar el código de evento del botón de clic. Teclea este código: MessageBox.Show(Button1.Text) Crea e inicia tu aplicación. Haz clic en el botón Leer texto. Un cuadro de mensaje se abre y despliega el mensaje Leer texto lo cual es la propiedad de del texto de Button1. Ve esto: tu código leyó la propiedad de texto de Button1 y después desplegó su valor usando un mensaje. Esto es fantástico. Este es otro ejemplo. Agrega otro botón a Form1. Usa la ventana de propiedades para cambiar la propiedad de texto de Button2 a Tamaño del formato. Haz doble clic en el Button2 para editar el código de evento del botón de clic. Teclea la siguiente línea de código en el evento del clic de botón. MessageBox.Show(Form1.ActiveForm.Height & "," & Form1.ActiveForm.Width) Crea e inicia tu proyecto. Haz clic en el botón tamaño de formato. Un cuadro de mensaje despliega: 300,300 (o un valor aproximado, asumiendo que dejaste el formato en su tamaño original) tu código ha desplegado la altura y ancho de Form1, separado por una coma, lo cuál está muy bien y fue realmente sencillo.

¿Qué otras propiedades puede leer el código Visual Basic.NET? Bueno, en realidad, el código Visual Basic.NET puede leer todas las propiedades de un formato o control de formato, los cuales están en la lista de la ventana de propiedades. Tu código puede leer propiedades como altura y ancho, color de fondo, color frontal, y ubicaciones en los ejes ‘X’ e ‘Y’. Sin embargo, muchas de las propiedades desplegadas en la ventana de propiedades se configuran cuando diseñas el formato y no cambian cuando el programa se ejecuta. Por lo tanto, el hecho de leerlas con el código no es tan útil ni emocionante.

Unidad 05 – Proper, Georgia

93

Esa es A3, B2 y mi favorita, B9.

Lo que es realmente útil es leer las propiedades de los controles de formato que los usuarios pueden cambiar cuando usen tu programa, como el contenido de un cuadro de texto o el marcado de un cuadro de verificación. De esta manera tu programa obtiene información de tu usuario. ¿Qué número de placas introdujo Len? ¿Qué llanta está ponchada? ¿Qué tamaño de llanta escogió Cliff?

Aquí hay un ejemplo más práctico. Vamos a escribir un código que muestre si un cuadro de verificación está marcado o no. Abre el cuadro de herramientas y agrega un cuadro de verificación a Form1. Agrega un tercer botón a Form1. Abre la ventana de propiedades y cambia el texto del Button3 a verifícame. Haz doble clic en el Button3 para editar el código de evento de clic. Teclea la siguiente línea de código en el evento de clic:

MessageBox.Show(CheckBox1.Checke d)

Crea e inicia tu proyecto. Haz clic en el botón verifícame. ¿Qué despliega el cuadro de mensaje? Marca el cuadro de verificación y haz clic en el botón Verifícame otra vez. ¿Ahora qué despliega el cuadro de mensaje? Cada vez que haces clic en el botón, el cuadro de mensaje despliega la propiedad actual del cuadro de verificación. Debe decir cierto. Recomendación para el profesor

El alumno debe saber como leer y cambiar las propiedades usando el código, hasta que aprenda también las instrucciones condicionales, hay serias limitaciones sobre que tan interesante puede ser un programa.

Unidad 05 – Proper, Georgia

94

Ahora, como un ejemplo final. Te daré unos ejemplos de como leer y desplegar las palabras que un usuario teclea en un cuadro de texto.

Agrega un cuadro de texto a Form1. Abre la ventana de propiedades para asegurarte que la propiedad de ‘Read only’ esté configurada como falso. Configura el texto con Teclear aquí. Agrega un cuarto botón a Form1. Cambia el texto de Button4 a leer el texto. Haz clic en Button4 para editar el código del evento de clic. Teclea la siguiente línea de código. MessageBox.Show(TextBox1.Text) Crea e inicia tu proyecto. Haz doble clic en TextBox1 y oprime la tecla de retroceso para borrar el texto. Teclea un texto nuevo en TextBox1. Haz clic en el botón Leer texto. ¿Qué despliega el cuadro de mensaje? Cambia el texto en TextBox1 y haz clic en el botón Leer texto otra vez. ¿Qué ocurre? En J# y C# las propiedades de control de formato se leen igual que en Visual Basic.NET. Este es un ejemplo de código J# o C# que despliega el texto de un cuadro de texto: { MessageBox.Show(TextBox1.Text); } Salvo por los corchetes y el punto y coma al final de la línea, el código se ve igual que en Visual Basic.NET. También, en J# y C# TextBox1 inicia con ‘t’ minúscula. Los ejemplos que expuse anteriormente, demuestran cómo se usa el código Visual Basic.NET para leer propiedades de controles del formato. Pero eso sólo es una parte de la historia, porque el código Visual Basic.NET también se usa para configurar propiedades.

Unidad 05 – Proper, Georgia

95

Configuración de propiedades con código Es fantástico poder leer las propiedades de los controles mediante el código Visual Basic.NET. De este modo nuestro código puede capturar las configuraciones que hacen los usuarios cuando usan el programa. Tu programa puede realizar diferentes acciones o ejecutar un código diferente dependiendo de las configuraciones del usuario. ¿Es posible hacer lo contrario? ¿Qué pasa si yo quiero configurar las propiedades de algunos de los controles cuando el usuario está ejecutando el programa? Por ejemplo, si quiero tener marcado siempre el cuadro de verificación de trabajo urgente cuando el usuario inicia el programa. Quiero que el programa despliegue todos los tamaños disponibles de las llantas en un cuadro de texto cuando el usuario hace clic en el botón Conseguir las llantas. Quiero que la lista de tamaños de llantas disponibles se cargue automáticamente en la lista desplegable una vez que el usuario introduzca un número de placas del vehículo.

¡Por supuesto que el código Visual Basic.NET me permite hacer todo eso! Configurar las propiedades de controles es tan fácil como leerlas. Para configurar una propiedad usando el código Visual Basic.NET usamos una instrucción de asignación. ¿Recuerdas que hablamos de las instrucciones de asignación de camino a Pseudo, PA? Una instrucción de asignación configura a un elemento con otro. El código para una instrucción de asignación se ve como una ecuación sencilla con un signo de igualdad en ella. TextBox1.Text = "Code Rules" El lado derecho de la ecuación (la parte a la derecha del signo de igual) se evalúa primero. Después el lado izquierdo de la ecuación (la parte a la izquierda del signo de igual) se configura con este valor. Recomendación para el profesor

Recuerde continuamente a los alumnos que las asignaciones de lenguajes .Net, van de derecha a izquierda.

Un concepto muy importante es que todo lo que se encuentra a la derecha del signo de igual permanece sin cambios. El contenido de las variables del lado derecho es evaluado en un área de trabajo de Visual Basic y después es asignado a la variable en el lado izquierdo. Sólo la variable del lado izquierdo se cambia.

Unidad 05 – Proper, Georgia

96

Estos son algunos ejemplos sobre la forma de configurar propiedades usando el código Visual Basic.NET. El primer ejemplo configura el contenido de un cuadro de texto. Esta es una grandiosa forma de desplegar información para el usuario, puede usarse en vez de que siempre emerja un cuadro de mensaje. Inicia una nueva aplicación de Windows y dale el nombre de ‘ConfiguraPropiedades’. Agrega dos cuadros de texto y un botón a Form1. Usa la ventana de propiedades para configurar el texto del Button1 con Configurar texto. Configura el texto de TextBox1 y TextBox2 dejándolo en blanco, haciendo doble clic en sus propiedades de texto y oprimiendo la tecla de retroceso. Haz doble clic en Button1 para editar el código de evento del botón de clic. Agrega la siguiente línea de código: TextBox2.Text = TextBox1.Text Crea e inicia tu proyecto. Teclea texto en TextBox1 y haz clic el botón configurar texto. ¿Qué ocurre? Como puedes ver el texto en TextBox1 ha sido "copiado" en TextBox2. La propiedad de texto de TextBox2 se configura con el mismo valor de la propiedad de texto de TextBox1. El código Visual Basic.NET lee la propiedad de texto de TextBox1 y después configura la propiedad de texto de TextBox2 con este valor. Eso es práctico.

Vamos a agregar un código para que un cuadro de verificación esté seleccionado automáticamente y un segundo cuadro de verificación estará automáticamente sin seleccionarse cuando el usuario abra la aplicación. Agrega un cuadro de verificación a Form1 y configura su propiedad de texto con trabajo urgente usando la ventana de propiedades. Agrega un segundo cuadro de verificación a Form1 y configura su propiedad de texto con "Whenever" usando la ventana de propiedades. Haz doble clic en Form1 (no en CheckBox1 o CheckBox2) esto abre el código de evento de carga de Form1_Load para su edición. El código del evento de carga de formato se ejecuta cuando el formato se crea por primera vez y se despliega antes de que cualquier otro código de programa haya sido ejecutado. Agrega las siguientes líneas de código: CheckBox1.Checked = True CheckBox2.Checked = False Crea e inicia tu proyecto. ¿Cuál de las casillas de verificación está marcada? Tu código configuró automáticamente la propiedad de ‘checked’ para las dos casillas de verificación cuando se cargó el formato.

Unidad 05 – Proper, Georgia

97

El evento de carga de formato se usa a menudo para inicializar un programa. La inicialización configura ciertos valores antes de que el formato se despliegue para el usuario. Por ejemplo, podríamos agregar código al evento de carga de formato para configurar el tamaño del formato y su color de fondo así como seleccionar ciertos botones de opción antes de que se despliegue el formato.

Yo sé que el tamaño de llanta más común es el 14. Entonces, vamos a usar el código para elegir automáticamente 14 en nuestro cuadro combinado de tamaño de llanta. Primero, agrega un cuadro combinado al Form1. Usa la Ventana de propiedades para configurar sus elementos con 12, 13, 14,15, y 16. No olvides oprimir ‘Enter’ para crear una línea nueva para cada elemento en la lista. Haz doble clic en Form1 (no en ComboBox1) para editar el código de carga de formato. Agrega la siguiente línea de código: ComboBox1.SelectedItem = "14" Crea e inicia tu proyecto. ¿Qué elemento está seleccionado en el cuadro combinado? Pensemos que me equivoque, descubrí que el tamaño de llanta más común es 13. ¿Cómo cambiarías el código para seleccionar automáticamente 13 en el cuadro combinado? En J# y C# puedes configurar las propiedades igual que en Visual Basic.NET. El código a continuación muestra cómo configurar la propiedad de ‘verificada’ de una cuadro de verificación en C# o en J#. { checkBox1.Checked = True; }

05 Ejercicio 01

Arco iris

Unidad 05 – Proper, Georgia

98

Inspirado por un lindo arco iris que vimos desde el asiento frontal de la camper, nuestros compañeros decidieron ver quien podía imitar la vida con un programa artístico.

Tu tarea es demostrar que puedes manipular también las propiedades usando código VB real, y no solo la Ventana de propiedades. Abre Visual Studio.NET, selecciona Proyecto existente, y navega al archivo llamado Rainbow.sln. Alternativamente, puedes usar Mi PC para navegar a Rainbow.sln, hacer doble clic en él para abrir Visual Studio.NET.

Arco iris de colores. Diseñarás un formato que despliegue un arco iris de colores. Modificarás un código existente para hacer que el programa funcione y lo agregarás a las secciones de eventos de los controles de formato. El archivo 05_proveit01_files incluye las instrucciones para este Ejercicio y todos los archivos de apoyo que pudieras necesitar.

Tu tarea es agregar objetos del cuadro de herramientas para que el formato tenga esta apariencia. También actualizarás elementos en la ventana del código como se describe a continuaión.

1. Haz clic en el formato para centrarlo. Cambia la propiedad de texto del formato a Arco iris. 2. Crea un cuadro de imagen grande llamado ‘ImageBox1’. 3. Crea dos botones de comando llamados Button1 y Button2. Nombra Colores estándar al Button1. Nombra Personalizar colores al Button2.

Unidad 05 – Proper, Georgia

99

4. Haz doble clic en el Button1 para ver el código que ya te dimos. Verás que se dibujan siete colores del arco iris. Los siete se dibujan en negro. Tu tarea es cambiar los colores a los siete colores tradicionales del arco iris: rojo, naranja, amarillo, verde, azul, índigo, violeta. Por ejemplo, reemplaza este código: MyPen.Color = System.Drawing.Color.Black Con este código MyPen.Color = System.Drawing.Color.Red En cuanto se teclea el punto después de la palabra ‘Color’, Intellisense enlista todos los colores definidos. Al teclear una o dos letras de estos, te posiciona en la lista.

5. Haz doble clic en Button2 para ver el código que ya se te asignó. En vez de negro, escoge los siete colores que quieras. Una vez que hayas creado tu formato, crea la solución. Si no hay errores de creación, escoge Depurar/ Iniciar para ejecutar tu programa. Si tu programa funciona correctamente, muéstraselo a tu instructor. Prueba extra

Si quieres, puedes hacer cambios a los parámetros de Dibujar arco para la opción personalizar con el propósito de obtener otros resultados interesantes. Recomendación para el profesor

La función Dibujar arco es en realidad un óvalo circunscrito por un rectángulo invisible. Los parámetros especifican el tamaño del rectángulo, donde inicia el arco y hasta donde llega el arco. El hecho de cambiar los parámetros puede producir algunos efectos interesantes.

Unidad 05 – Proper, Georgia

100

IntelliSense y notación de punto Ahora sabes como escribir un código Visual Basic.NET para leer y configurar todas las propiedades de los formatos y los controles de formato. Sí, apuesto que puedo adivinar cuál es tu siguiente pregunta. Ya que cada formato y control tiene tantas propiedades, ¿cómo llevo un control de todas ellas? No es muy conveniente estar cambiando de la ventana de código a la Ventana de propiedades cada vez que necesitamos saber qué propiedad pertenece a un control en particular. ¿No hay otro modo más fácil?

El grupo y yo hemos tocado durante tanto tiempo que ya saben que voy a hacer a continuación

En efecto, sí lo hay. Se llama IntelliSense. Es una parte de Visual Studio. IntelliSense ahorra mucho tiempo cuando estás escribiendo un código en la ventana de código. IntelliSense sabe a qué control te refieres y sabe cuales son sus propiedades. Despliega una lista de propiedades y te permite escoger la que quieras usar. La propiedad más utilizada se resalta cuando la lista de IntelliSense se despliega. Por ejemplo, la propiedad de texto de un cuadro de texto se resalta inicialmente. Usa las flechas para encontrar la propiedad que quieras. Cuando oprimes la tecla de tabulador, agrega la propiedad a tu código. Con IntelliSense no tienes que memorizar todas las propiedades de todos los controles. ¡Te ahorra capturar mucha información! Yo lo uso todo el tiempo. Recomendación para el profesor

De ser posible, haga una demostración de Intellisense. Señale que en cuanto se pone el punto, las opciones aparecen. Si no aparecen opciones entonces es probable que la variable no esté definida o haya sido capturada con errores.

Unidad 05 – Proper, Georgia

101

Inicia una nueva aplicación de Windows llamada IntelliSense. Agrega un cuadro de texto y un botón a Form1. Haz doble clic en el botón para abrir el código de evento de clic para Button1. 1.

Teclea TextBox1 y oprime la tecla de punto (.). (No olvides el punto), en cuanto tecleas el punto, IntelliSense despliega una lista de propiedades para TextBox1, ya que esta es un cuadro de texto, esta lista es la misma para cualquier cuadro de texto que agregues a un formato. Por sistema la propiedad de verificado en la lista IntelliSense es la más usada. En este caso la propiedad de texto está predeterminada por el sistema.

2.

Ahora teclea la letra "R". IntelliSense encuentra la primera propiedad en la lista que inicie con la letra "R". Conforme escribes el nombre, IntelliSense encuentra la propiedad de que más se parezca a lo que escribiste.

3.

Usa la flecha de descenso para moverte en la lista y ubicar la propiedad de texto otra vez. Selecciona la propiedad de texto para resaltarla.

4.

Oprime la tecla de tabulador. ¡Mira lo que ocurre! La palabra ‘Text’ (texto) se agrega a tu código después de TextBox1. Ahora escribe ="Clifford". El código ahora debe decir: TextBox1.Text = "Clifford"

¿No fue fácil y rápido? IntelliSense ayuda a eliminar errores de captura y también de sintaxis. Es el mejor.

Unidad 05 – Proper, Georgia

102

Ya que todas las propiedades están resaltadas en la lista Intellisense, una recomendación aparece junto a ella. La recomendación te da información acerca de la propiedad de, como si se trata de una propiedad de sólo lectura que no puede configurarse. La recomendación también da información acerca de los parámetros de configuración de la propiedad, tales como una cadena (texto) o un entero.

Probablemente ya te diste cuenta de que hay un icono junto a cada uno de los elementos en la lista desplegada por IntelliSense. El icono que representa una propiedad es una mano señalando un elemento en una lista. El icono que representa un método es un cuadro púrpura o diamante púrpura. (En un minuto te explicaré los métodos.) Dependiendo del control, también puedes ver otros iconos correspondientes a los atributos de control adicionales. ¿Te diste cuenta de que tuviste que teclear el punto antes de que apareciera la lista de IntelliSense? Esto se debe a que Visual Basic.NET usa un tipo de sintaxis llamada Notación de punto, una vez que tecleas el nombre del control, como TextBox1, tienes que teclear un punto (.). Después tecleas el nombre de la propiedad. El punto es lo que conecta el control con su propiedad. Esta es la sintaxis básica para referir una propiedad de un formato o control usando notación de punto: FormName.FormProperty ControlName.ControlProperty Ya viste muchos ejemplos pero aquí hay otros más: TextBox1.Text CheckBox1.Checked Form1.ActiveForm.Height Nota que el punto (.) que une el control con su propiedad. En el último ejemplo, formato activo, es una propiedad de Form1 y altura es una propiedad de ActiveForm. Por lo tanto, se requieren dos puntos para unir las propiedades. IntelliSense sabe cuando una propiedad tiene una Unidad 05 – Proper, Georgia

103

propiedad propia. Cuando tengas dudas, teclea otro punto e IntelliSense desplegará una lista de propiedades disponibles. Si IntelliSense no despliega la lista, no hay propiedades adicionales y tendrás que retirar el último punto. O tal vez hayas escrito mal el nombre del control.

Cuando desarrollas aplicaciones C# y J# usando Visual Studio, IntelliSense también está disponible. Funciona igual que Visual Basic.NET. Solo teclea el nombre de tu control y después un punto (.). IntelliSense despliega una lista de propiedades y métodos disponibles. Debido a que J#, C# y Visual Basic.NET están basados en el marco de trabajo .NET, la lista de propiedades y métodos para un control es la misma para los tres lenguajes. Un cuadro de texto en C#, J# y Visual Basic.NET tiene las mismas propiedades y métodos.

Unidad 05 – Proper, Georgia

104

o, eso es so

Métodos

Probablemente ya te diste cuenta de que algunas de las propiedades en la lista desplegada por IntelliSense tienen un icono de diamante púrpura junto a ellas. Estas no son propiedades sino métodos. Las propiedades son características del control, tales como el color, número de asientos, libras de cromo y caballaje del motor son características de los autos. Los métodos tienen más similitud con las acciones del control, tales como girar a la derecha, parar, y acelerar hasta el fondo son acciones de los autos. Los métodos no pueden accesarse mediante la ventana de propiedades. Para desplegar los métodos debe usarse un código. Por ejemplo, la mayoría de los controles de formato tienen un método para ocultar y mostrar. Cuando usas el método ocultar de un control, el control deja de ser visible aunque está en el formato. Cuando usas el método mostrar, el control se hace visible. Algunos métodos te permiten producir una acción que normalmente sería realizada por un usuario. Por ejemplo, un botón tiene un método Hacer clic el cuál permite que tu código hacer clic en un botón, simulando la acción de un usuario.

Algunos métodos requieren que incluyas cierta información cuando los usas. Esta información afecta la forma en que se realiza el método y los resultados. Estos datos se llaman argumentos del método. Un método puede requerir uno o más argumentos. Algunos de ellos pueden ser opcionales. Por ejemplo, el método para mostrar el cuadro de mensaje usa una cadena de texto como argumento. Este argumento determina lo que despliega el cuadro de mensaje. Ya has usado el método para mostrar el cuadro de mensaje pero tal vez no te diste cuenta que estabas usando un método con un argumento. MessageBox.Show("Hola Mundo") En el código que está sobre el texto "Hello World" se encuentra un argumento del método para mostrar. El argumento determina lo que se despliega en el cuadro de mensaje. Recuerda, la diferencia principal entre las propiedades y los métodos es que éstos realizan una acción. Los métodos tienen que usarse partiendo del código y no pueden accesarse a partir de la Ventana de propiedades. Algunos métodos pueden requerir uno o más parámetros (argumentos) cuando se usan. Algunos métodos devuelven un valor que puedes usar en tu código.

Llamar métodos con el código La sintaxis para llamar un método es casi idéntica a la sintaxis de configuración o lectura de una propiedad. Usa la notación de punto para conectar el control de formato con su método. Algunos Unidad 05 – Proper, Georgia

105

métodos, como Button.Hide y Button.Show, no necesitan argumentos. Otros, como MessageBox.Show, necesitan un argumento para saber qué mostrar. La sintaxis para llamar un método es: ControlName.MethodName (argument1, argument2, etc.)

Recuerda que usaste el método mostrar del cuadro de mensaje cuando diste un argumento: MessageBox.Show(“Hello World”) Como puedes ver, una gran diferencia entre llamar un método y leer (o configurar) una propiedad es que no hay un signo de igual en el código empleado para llamar un método.

Ahora veamos algunos de mis métodos favoritos y como puedes usarlos partiendo del código. Te daré unos ejemplos de como ocultar y mostrar controles de formato, borrar el texto en un cuadro de texto y establecer la ubicación del cursor. Para empezar, inicia una aplicación nueva de Windows llamada Métodos. Agrega dos botones y un cuadro de texto a Form1. Cambia el texto de Button1 a "Show". Cambia el texto de Button2 a "Hide". En el evento de clic de Button1 agrega la siguiente línea de código. TextBox1.Show() En el evento de clic de Button2 agrega la siguiente línea de código. TextBox1.Hide() Crea e inicia tu aplicación. Haz clic en los botones "Show" y "Hide". Cada vez que haces clic en un botón estás usando un método del control del botón. Agrega un tercer botón a Form1. Configura el texto de Button3 con "Reset" agrega el siguiente código al evento de clic de Button3. TextBox1.ResetText() TextBox1.Focus() El método ResetText elimina el texto del cuadro de texto. El método ‘Focus’ coloca el cursor en el cuadro de texto. Crea e inicia tu aplicación. Teclea el texto en el cuadro de texto y haz clic en el botón ‘Reset’. El texto se elimina del cuadro de texto y el cursor se coloca automáticamente en el cuadro de texto, listo para teclear datos. Recomendación para el profesor

Una alternativa común para TextBox1.ResetText() es el no asignar nada TextBox1.Text = “” y el interior de las comillas está vacío.

Unidad 05 – Proper, Georgia

106

Como habrás adivinado, los métodos se usan en J# y C# igual que en Visual Basic.NET. Este es un código de J# que elimina el texto de un cuadro de texto y pone el cursor en el cuadro de texto. El código C# se ve exactamente igual. { TextBox1.ResetText(); TextBox1.Focus(); }

Unidad 05 – Proper, Georgia

107

Llegada a Proper Muy bien, aquí estamos en las almidonadas y perfectas afueras de Proper, Georgia. Aprendimos mucho durante el camino. Ahora puedes leer y configurar propiedades y usar métodos de controles de formato usando código Visual Basic.NET. Como viste, la mayor parte del código pasa a las secciones de eventos de los controles de formato. Para abrir el código para la sección de eventos sólo haz doble clic en el control, la ventana de código se abre y la sección de evento está lista para edición. Para leer o configurar una propiedad, o usar un método, teclea el nombre de un control y después teclea un punto (.). IntelliSense muestra una lista de propiedades y métodos disponibles para el control. Selecciona el que quieras y oprime la tecla de tabulador para agregarlo a tu código. Tenemos tiempo suficiente para un Ejercicio o dos y una prueba antes de que nos pongamos algo más elegante y vayamos al Peach 'n Bass Café. ¿Listo?

Unidad 05 – Proper, Georgia

108

05 Ejercicio 02

Medidor de viaje

El fantástico mapa de viaje inspiró a Nikki a preguntar si alguien podría escribir un programa que muestre el porcentaje del viaje que ha sido cubierto cuando lleguemos a cada ciudad. Tu tarea es demostrar que ya puedes manipular propiedades usando el código VB real, no sólo la Ventana de propiedades.

Abre Visual Studio.NET, selecciona Nuevo proyecto, y crea un proyecto llamado Medidor de viaje.

Tu tarea es agregar objetos del cuadro de herramientas para que el formato se vea así. También deberá actualizar los elementos en la ventana de código como se describe a continuación.

Medidor de avance del viaje Crea un formato que muestre un medidor que indique el avance del viaje de las reglas de código. Puedes agregar un código a los elementos del formato para hacer tu programa interactivo. El archivo 05_proveit02_files contiene las instrucciones y cualquier archivo de soporte que puedas necesitar.

1. Haz clic en el formato y cambia el nombre del formato a Medidor de viaje.

2. Crea 13 botones de opción. Que el ancho de cada botón sea 150 píxeles. Tal vez quieras usar la función copiar y pegar.

3. Alinéalos verticalmente y después sepáralos uniformemente. ¿Sabías que hay iconos en la barra de herramientas que pueden hacer eso? Coloca tu cursor en los botones de la barra de herramientas hasta que encuentres el que necesitas, y luego haz clic sobre él.

Fin

Unidad 05 – Proper, Georgia

109

4. Cambia el texto de los botones a: Inicio: Everywhere, WI Ideal, IL Pseudo, PA Formsville, VA Proper, GA XY, AR Switchboard, OK Whatif, TX Ifelse, NM Def Valley, CA Whatever, CO Function Junction, SD Final: Whatever, WI

5. Crea un botón llamado fin. Haz doble clic para obtener la página de código asociado. Coloca la palabra fin en el evento del clic de botón.

6. Coloca una barra vertical de desplazamiento en tu página. Tal vez tengas que recorrer el cuadro de herramientas usando el triángulo descendente. Por sistema, la barra de desplazamiento, inicia en cero y termina en 100 como predeterminada. Esto hace que el indicador de la barra de desplazamiento sea muy grueso. Para hacerlo más delgado, cambia el parámetro máximo para la barra de desplazamiento a 1000. 7. Ahora puedes escribir el código. Haz doble clic en el primer botón de opción. Coloca esta línea de código en el evento de clic. VScrollBar1.Value = 0 Este mueve el indicador de desplazamiento a la posición cero, para el rango de 0 – 1000. Para cada botón de opción, usa una línea de código similar, haciendo cada valor 83 veces mayor que el valor previo. El último valor debe ser 1000. Una vez creado tu formato, crea la solución. Si no hay errores de creación, elige Depurar / Iniciar para ejecutar tu programa. Si tu programa funciona correctamente, muéstraselo a tu instructor.

Unidad 05 – Proper, Georgia

110

05 Reto

Flores

Cuando pasamos por un campo de flores me pongo de buen humor. Creo que deberíamos tener un programa de flores.

En este reto crearás un formato para mostrar flores. Escribirás un código para hacer cambios en las propiedades del formato. El archivo 05_Challenge_files contiene las instrucciones para esta prueba y todos los archivos de apoyo que necesitas

Haz un formato como este:

1. Pon la propiedad de ‘Visible’ de los cuatro cuadros de imagen en falso.

2. Pon el estilo de orilla de los cuatro cuadros de imagen en 3D fijo.

3. Pon la propiedad de SizeMode de los cuatro cuadros de imagen en auto-dimensionar.

4. Configura la propiedad de cada cuadro de imagen con la imagen correspondiente en la carpeta de descarga.

5. Ve a la página de código. Justo arriba del código hay dos listas desplegables. De la lista desplegable izquierda, escoge Label1. Unidad 05 – Proper, Georgia

Recomendación para el profesor

Algunos alumnos configurarán ‘MouseHover’ para el cuadro de imagen. Las instrucciones hacen que el ratón se coloque sobre el111 título que tiene el nombre de la flor, no sobre la flor.

6. De la lista desplegable a la derecha, elige ‘MouseHover’.

7. En el evento Label1.Mousehover, pon la propiedad de ‘Visible’ de ImageBox1 en Cierto. Pon la propiedad de ‘Visible’ de los otros tres cuadros en falso. 8. Haz lo mismo para los otros tres títulos, haciendo los cambios correspondientes en los cuales las imagines son visibles y en los que no.

9. El resultado final es un programa que solo muestra una imagen a la vez cuando el ratón se mantiene sobre la descripción.

Una vez que tu programa funciona correctamente, muéstraselo a tu instructor. Extensión / desviación

Cuando una flor haya sido seleccionada, cambia el color de fondo del formato.

Unidad 05 – Proper, Georgia

112

Dado que ya vamos a llegar a Proper, GA tienes que resolver otra prueba del rally. Buena suerte.

Puedes usar un código de programa para: Leer propiedades de los controles Configurar las propiedades de los controles Ambas

¿Qué línea de código lee y despliega la propiedad de seleccionado de un botón de opción?

Unidad 05 – Proper, Georgia

Todas las instrucciones de asignación de Visual Basic: Van de izquierda a derecha Van de derecha a izquierda Van en cualquier dirección porque son iguales

¿Cómo haces que el código seleccione un cuadro de verificación ?

113

Temas en el camino a XY

XY Asignaciones Tipos Tipos primitivos ¿Qué son las variables? Variables de declaración Variables de inicialización El uso de variables Otro tipo de variables La llegada a XY

Unidad 06 – XY, Arkansas

Página 114 de 321

XY

Ahora nos estamos dirigiendo a XY, Arkansas. Es la ciudad natal del famoso jugador de basketball Al'Gebra. Mi exnovia vivía aquí. ¿Por qué ex-novia? Es que no nos entendíamos muy bien. Creo que era demasiado voluble.

En el camino a XY, te enseñaré algo acerca de los tipos de datos, como las cadenas de caracteres y enteros. Cuando configuras la propiedad de formato, debes estar seguro de que es el tipo correcto. La mayor parte del viaje hablaremos de las variables y cómo utilizarlas en tu código, el cuál utiliza variables para almacenar información de tipos diferentes. Las variables constituyen un bloque básico de creación para la escritura de un código. Yo estoy seguro que aprenderás rápido y comenzarás a basarte en las variables tanto como lo hacemos Nikki y yo para escribir un código.

Unidad 06 – XY, Arkansas

Página 115 de 321

Asignaciones Nikki nos hizo primero escribir un código en Visual Basic.NET que es realmente útil. Ahora ustedes saben cómo leer y

configurar las propiedades mediante un código. ¿Sabías que cuando asignas una propiedad estás utilizando una instrucción de asignación? Hablamos de ellas en el camino a Pseudo, PA. Las instrucciones de asignación asignan una cosa a otra. El código para una instrucción de asignación parece una simple ecuación que contiene un signo de igual.

TextBox1.Text = “Code Rules” Ahora rige esta instrucción de asignación. Algo que tú debes saber acerca de las instrucciones de asignación es que el lado derecho de la ecuación (la parte que se encuentra a la derecha del signo de igual) se evalúa primero. Después, el lado izquierdo de la ecuación (la parte que se encuentra a la izquierda del signo de igual) se asigna a este valor. Parece algo retrógrada, pero es así como funciona el programa. En la ecuación que se presenta a continuación, “Code Rules” se evalúa primero. Después TextBox1.Text se asigna a ese valor.

TextBox1.Text = “Code Rules”

Unidad 06 – XY, Arkansas

Página 116 de 321

Tipos Otra cosa que siempre debes tener en mente es que el la parte izquierda de la ecuación espera que su parte derecha sea de true type (texto, número, color, etc.) te lo explicaré mediante la siguiente línea de código como ejemplo:

TextBox1.Texto = “Code Rules Rocks” Aquí, el lado izquierdo de la ecuación es la propiedad de Texto de TextBox1, que sólo puedes asignarse al texto, de modo

que el lado derecho también debe ser texto. Si el lado derecho es un tipo diferente (que no sea texto), se produce un error cuando trata de construir el proyecto. Debido a que “Code Rules Rocks” es texto, y es lo que la propiedad de Texto está esperando, no ocurre ningún error.

El siguiente código no se compilará porque estamos tratando de configurar la propiedad de Texto que está esperando asignarse a ForeColor, que es un tipo de color.

TextBox1.Text = TextBox1.ForeColor 'resulta un error El siguiente código es correcto porque al lado derecho de la ecuación evalúa un tipo entero y a la Propiedad de altura sólo le puedes asignar un valor entero.

TextBox1.Height = 200 Este código es incorrecto porque incluye un decimal.

TextBox1.Height = 200.5 Recuerda, cuando estás utilizando instrucciones de asignación, el lado derecho de la ecuación debe ser del tipo correcto -- tiene que ser del tipo que lado izquierdo de la ecuación está esperando.

Recomendación para el profesor

Con frecuencia, Visual Basic convertirá exitosamente un tipo de datos mal correlacionado. No se puede garantizar una conversión exitosa así que se deben especificar los datos correctos para las variables como una costumbre para lograr una buena programación. J# y C# son más sensibles a errores de correlación.

Unidad 06 – XY, Arkansas

Página 117 de 321

Hasta aquí hemos usado “texto” como tipo. En el marco .NET todos los textos se llaman “cadena”. Cuando usas un código para definir una propiedad que requiere un tipo cadena, acuérdate te colocar el text en sí entre comillas. Button1.Text = “Click Here”

Hasta ahora hemos usado el “texto” como un tipo, en el marco de trabajo de .NET, se le denomina una “cadena”. Cuando estás usando un código para configurar una propiedad que requiere un tipo de cadena, debes recordar que dicho texto va entre comillas, así:

Button1.Text = “Click Here”

Unidad 06 – XY, Arkansas

Página 118 de 321

Tipos primitivos El entorno de .NET soporta a varios tipos básicos, a los cuáles se les conoce como primitivos. Tu ya has utilizado el tipo de cadena para asignar la propiedad de Texto de un botón. Ya has utilizado el tipo entero para asignar la Propiedad de altura de una forma. Incluso haz utilizado la Propiedad booleana (True o False), es decir verdadero o falso, respectivamente para configurar la Propiedad de Visible de un cuadro de texto.

Algunos de los tipos primitivos que se utilizan más comúnmente son: Cadena (texto), Entero (números enteros), Sencillo (números decimales) y Booleano (True o False), estos tipos primitivos son comunes en todos los lenguajes de programación de .NET, incluyendo Visual Basic.NET, C#, y J#. A continuación se presentan algunos ejemplos de valores que permitidos para cada uno de estos tipos primitivos: Tipo Cadena Entero

Ejemplo "Hello" 123

Sencillo Booleana

55.12 True

Comentario El texto debe estar entre comillas dobles Todos los números enteros sin puntos decimales Números con puntos decimales Sólo puede ser True o False

Recomendación para el profesor

La mayoría de los alumnos tienen problemas con el concepto de que un número, como el entero 1, el cuál no es lo mismo que el carácter de cadena “1”. El formato binario del entero es 00000001 y el formato binario del carácter de cadena 00110001, obviamente no son iguales. Visual Basic complica el asunto porque intenta realizar conversiones según sean necesarias. Por ejemplo, Dim A as Integer = 1 Dim B as string = “1” Si (A = B) Entonces

El código anterior regresa un valor de True a pesar del hecho que la representación interna es diferente.

Remind students not to directly do arithmetic using the Text property of a textbox.

Unidad 06 – XY, Arkansas

Página 119 de 321

Ve estos ejemplos de código de instrucciones de asignación los cuales muestran las propiedades de diferentes tipos: TextBox1.Texto="Smile" TextBox1.Visible=True TextBox1.Width = 1000

Cuando selecciones una propiedad o método de la lista del IntelliSense, también se desplegará un “tip” de ayuda, el cuál te dirá a que tipo de propiedad debe configurarse o qué tipo de argumentos de método debe ser: Button1.Text = “Presiona aqui”

¡Aquí hay algo interesante! Debido a que C# y J# también son lenguajes de .NET, tienen los mismos tipos primitivos como Visual Basic.NET--cadenas, enteros, sencillos, Booleanos y todos los demás.

Unidad 06 – XY, Arkansas

Página 120 de 321

¿Qué son las variables? Las variables son utilizadas por tu código para almacenar información que podrá necesitar en algún momento más

adelante. Las variables en el código son como las variables en las matemáticas. Se le asignan a un valor y pueden

utilizarse en lugar de éste. A las variables se les puede asignar un nuevo valor en cualquier momento.

En el código, tu programa utiliza a las variables para "recordar" la información. Si tu código no utilizó alguna variable,

entonces tu programa tendría que detenerse constantemente y pedirle al usuario que teclee la información cada vez que la necesite. Imagínate que tu programa requiriera saber la edad del usuario en tres momentos diferentes ¿No sería molesto si el programa tuviera que detenerse y solicitarle al usuario que la tecleara una y otra vez? Teclee su edad. Teclee su edad. Teclee su edad. Con la ayuda de las variables, tu programa solicitaría sólo una vez que el usuario teclee su edad, ésta se guardaría en una variable que el código utilizaría cada vez que el programa necesitara saberla.

Unidad 06 – XY, Arkansas

Página 121 de 321

¿Por qué utilizar las variables? Como pudiste ver, las variables nos ayudan a ahorrar tiempo real, reduciendo también el volumen de información que un usuario debe teclear. También nos ayudan a reducir los errores. Si tuviste que teclear un número de varias cifras una y otra vez, existe una mayor posibilidad de que en algún momento cometieras por lo menos un error.

Además de ahorrar información ingresada por usuarios, las variables se utilizan para otras cosas. Asimismo, se utilizan para llevar un control sobre los resultados calculados por el programa. Las variables se utilizan también para hacer

comparaciones que determinan el orden en el que se ejecuta el código. Se emplean también para contar cosas, como, por ejemplo, cuántas veces se ha realizado un cálculo.

Un componente fundamental en la programación es aprender cómo almacenar información en las variables, las cuáles se utilizan en todos los lenguajes de programación. Son absolutamente necesarias para realizar ciertos tipos de cálculos y llevara a cabo ciertas acciones en tu código.

Unidad 06 – XY, Arkansas

Página 122 de 321

Declaración de variables

Antes de que tu programa pueda utilizar una variable, debes declararla. Para declarar una variable debes escribir una línea de código que establece el nombre de la variable y le asigna un tipo específico. Debes declarar todas las variables en Visual Basic.NET. De todos modos es un buen ejercicio porque te hace pensar acerca de cómo se utilizará dicha variable y acerca de su tipo. Declarar tus variables acelera el tiempo de compilación y logra que el programa se ejecute más eficazmente. También evita que escribas mal el nombre de la variable cuando se utiliza en tu código. Para declarar una variable en código de Visual Basic.NET, utilizas una instrucción "Dim".

La instrucción Dim tiene la siguiente sintaxis: Dim VariableName As VariableType Aquí hay algunos ejemplos de cómo declarar variables de diferentes tipos. Dim MyName as String Dim MyWeight as Integer Dim PanComido como Booleana Dim DVDprice As Single La primera variable, MyName, se declara como variable de tipo Cadena. Esto significa que a la variable de MyName sólo puedes asignarle a una Cadena. La segunda variable, MyWeight, se declara como una variable de tipo Entero, es decir que sólo puede asignarse a un Entero. La variable PanComido sólo puede asignarse a al tipo Booleana y la variable de DVDprice sólo puede asignarse al tipo Sencillo.

Unidad 06 – XY, Arkansas

Página 123 de 321

Recomendación para el profesor Los nombres que elijas para tus variables son importantes. Los nombres de las variables deben ser descriptivos pero cortos. Debes abreviar solamente cuando sea necesario. Muchos programadores usan la convención de nombres estándar llamada “camel case”, de esta forma, cada palabra de la variable empieza con mayúscula, por ejemplo: CamelCase, MyName, MaximaVelocidadWinnwbago, LimiteVelocidadLocal. Visual Basic pone con mayúscula la primera letra. Mientras que J# y C# no lo hacen.

Los alumnos tienden a escoger nombres de variables que son ya sea lindos o no tienen sentido, o letras solas para ahorrarse la tecleada. Más tarde se les olvida lo que significan las variables, originando errores causados por haber utilizado un nombre equivocado. Además, cuando el alumno pide ayuda, la persona que le asiste no tiene ni idea de para qué se utilizan las variables.

Usted podrá considerar negarse a ayudar a un alumno que no asigne nombres con sentido para las variables.

Button1.Text=”Click Here”

En C# y J# declaras las variables de una manera un poco diferente. Primero, escribes el tipo de variable, después el nombre de la misma. De igual forma, los nombres de los tipos son ligeramente distintos. Por ejemplo, int se utiliza en lugar de Entero y decimal se utiliza en lugar de Sencillo. int val4; string MyName; decimal miPromediodeAciertos;

Unidad 06 – XY, Arkansas

Página 124 de 321

¿En dónde se declaran las variables? Puedes declarar las variables que quieras en tu código de Visual Basic.NET. Se pueden declarar como cualquiera de los

tipos permitidos por el entorno de .NET. Nikki y yo aplicamos una práctica de codificación estándar al escribir un código.

Declaramos todas nuestras variables al inicio de nuestro código. De esta manera sabemos en dónde buscarlas y fácilmente podemos ver de qué tipo son. También permite que nuestro código se quede limpio y organizado. Si necesitamos crear

otra variable al escribir nuestro código, regresamos al inicio del mismo y la declaramos junto con el resto de las variables. No declaramos variables nuevas a la mitad de nuestro código.

Puedes declarar las variables de modo que sean variables globales o variables locales. Hasta ahora, todo el código que

hemos escrito han estado en los manejadores de eventos de controles de forma --como el código de manejador de eventos para el botón de clic. Todas las variables que declaramos en el código del manejador de eventos han sido variables locales. A las variables locales sólo puedes leerlas o cambiarlas por medio del código del manejador de eventos en el que las

declaraste. Ningún otro manejador de eventos u otro código del formato puede tener acceso a ellas. Los valores de las

variables locales sólo se guardan cuando se están ejecutando en el código del manejador de eventos, después de que este se haya ejecutado, se pierden los valores de las variables locales. Un ejemplo de variable local es una variable que se declara en un evento de botón de clic.

Para declarar variables locales, configura la instrucción Dim en tu código del manejador de eventos esta variable debe declararse primero, antes de que escribas cualquier otro código. Aquí hay un ejemplo:

Private Sub Button1_Click(ByVal sender ByVal e As System.EventArgs) Handles Button1.Clickk Dim MyName as String MyName = "Bill" TextBox1.Text = MyName End Sub Hasta ahora, no hemos utilizado ninguna de las variables globales. Las variables globales se pueden leer o configurar por todo el resto de personas que manejen el código del formato. Las variables globales se pueden acceder por todos los manejadores de eventos y todo el resto del código del formato. Los valores en las variables globales se guardan mientras que el formato esté abierto. Un ejemplo de variable global es un contador que lleva un registro del número total de veces el que se ha hecho clic en cada uno de los botones.

As System.Object, Recomendación para el profesor

MyName se declara dentro de un Sub (subprograma). En cuanto se ejecuta la instrucción End Sub (finalizar subprograma), se borra MyName.

Para declarar las variables globales que se pueden utilizar por todos los códigos del formato, debes poner la instrucción Dim en el cuerpo del mismo. El mejor lugar para declarar variables globales en el código de una forma es justo después de la instrucción que dice:

Windows Form Designer generated code Esta línea de código está encerrada en un cuadro y tiene un signo de más a su izquierda. Declara sus variables justo después de esta línea. Ve este ejemplo:

Windows Form Designer generated Unidad 06 – XY, Arkansas

Página 125 de 321

code Dim TotalButtonClicks As Single La variable TotalButtonClicks es una variable global. TotalButtonClicks se puede leer o configurar por otro código del formato como, por ejemplo, el código en los manejadores de eventos.

Si declaras todas tus variables aquí en el cuerpo del formato, todas serán globales. Sus valores se puedes leer o configurar por todos los códigos del formato y los manejadores de eventos.

Unidad 06 – XY, Arkansas

Página 126 de 321

06 Ejercicio 01

Pedazo de Pi

Mi postre favorito en un restaurante es el pastel de manzana. Esto me hizo pensar en cómo el número Pi podrá aparecer en diferentes formatos. Pinte una forma como esta:

Pedazo de Pi

En este ejercicio verás el valor de Pi en los formatos de variable El 06_proveit01_files contiene instrucciones para este ejercicio y todos los archivos de soporte que puedas necesitar.

En el evento de botón de clic , define variables del tipo: Entero Sencillo Doble Cadena

Coloca el valor de Pi en cada variable utilizando la calculadora de Pi integrada de Visual Basic: Math.PI Sólo asigna Math.PI a cada una de las variables.

Asigna cada una de las variables al cuadro de texto apropiado.

Cuando tu programa funcione correctamente, muéstraselo a su instructor.

Unidad 06 – XY, Arkansas

Página 127 de 321

Iniciar las variables Una vez que una variable se haya declarado, puedes utilizarla en tu código. Una de las primeras cosas que deberá hacer tu código es asignar la variable a un valor inicial. Puedes asignar la variable a cualquier valor que desees mientras que sea el

tipo correcto. Sólo puedes asignar la variable a un valor que tenga el mismo tipo que la variable misma. Cuando asignas una variable a un valor, estás utilizando una instrucción de asignación. Vamos a ver algunos ejemplos.

Dim MyName as String MyName = "Paul Bunion" Dim MyWeight as Integer MyWeight = 128 Dim DrivingDistance As Single DrivingDistance = 12.8 La variable MyName se declara como tipo Cadena y se asigna a la cadena "Paul Bunion". La variable MyWeight se declara como tipo Entero y se asigna a 128, un valor entero. La variable de DrivingDistance se declara como tipo Sencillo y se asigna a 12.8, un valor decimal.

Aquí hay un buen método abreviado que puedes utilizar para declarar tu variable y asignar su valor inicial mediante una

sola línea de código. Esto asegura que la variable comience con un valor apropiado. El uso de una variable a la que no se ha asignado un valor inicial puede provocar una falla del programa.

Dim MyAge as Integer = 100 Inicializar una variable o asignar una variable a un valor se realiza de la siguiente manera en C# y J#: int myOrbit; myOrbit=123000;

Utilizar variables Ahora que has declarado tu variable y asignado su valor inicial, la puedes utilizar en tu código en dónde quieras emplear el valor que guardaste en ella. Ve estos ejemplos.

Dim MiNombre as String MiNombre = "Joe Cooker" MessageBox.Show(MiNombre)

Unidad 06 – XY, Arkansas

Página 128 de 321

¿Qué te imaginas que se desplegará en el MessageBox? Se desplegará Joe Cooker.

Dim MiNombre as String MiNombre = "Peter, Paul and Mary" TextBox1.Text = MiNombre Puedes cambiar el valor de una variable utilizando instrucciones de asignación adicionales. ¿Qué se desplegará en TextBox1?

Dim MiNombre as String MiNombre = "Bill" MiNombre = "Bob" MiNombre = "Ben" TextBox1.Texto = MiNombre ¿Qué nombre se desplegará en TextBox1? Si dijiste "Ben", estás en lo correcto, la variable MyName se asigna a Bill,

después Bob y al final Ben. Debido a que lo último a lo que se asignó MiNombre fue Ben, esto es lo que se desplegará en

TextBox1.

Incluso puedes asignar el valor de una variable a otra variable.

Dim MiNombre as String Dim TuNombre as String MiNombre = "Allen Ginsberg" TuNombre = MyName MessageBox.Show(TuNombre) Allen Ginsberg se desplegará en el Cuadro de Mensaje. Aqui está el mismo código en J# o C#. Puedes ver algunas similitudes y también ciertas diferencias. Ve cómo declaramos las variables; es un poco diferente que en Visual Basic. NET.

string MiNombre; string TuNombre; MiNombre = "Allen Ginsberg"; TuNombre = MiNombre; MessageBox.Show(TuNombre); Aquí hay un ejemplo que produce un error porque intentamos asignar una variable que fue declarada como un tipo a una variable de un tipo diferente. Este código no se compilará.

Dim MiNombre as String Dim DVDPrice As Single Unidad 06 – XY, Arkansas

Página 129 de 321

MiNombre = "Paul Bunion" DVDprice = MiNombre Recuerda, tus variables se declaran como un tipo específico. Sólo se les puedes asignar valores del mismo tipo.

Unidad 06 – XY, Arkansas

Página 130 de 321

Aumentar de velocidad con las variables Te platiqué acerca de los tipos de variables, porqué se utilizan las variables y cómo declarar y asignarlas. ¿Qué más hay acerca de ellas? ¡Escribiremos un programa con las variables!

Inicia una nueva Aplicación de Windows en Visual Studio.NET. Asigna el nombre XACTLY a la aplicación. Abre la Ventana de Herramientas y agrega un botón y dos cuadros de texto a

Format1. Despeja la propiedad de Texto de TextBox1 y TextBox2. Configura el Texto de Button1 a "Show XY". Asigna True a la

Propiedad de ReadOnly del TextBox1 y TextBox2. Haz doble clic en el Button1 para editar el código de evento de clic en botón. Ingresa las siguientes líneas de código:

Dim XName as String Dim YName as String XName = "X es mi nombre" YName = "Y es mi nombre " TextBox1.Text = XName TextBox2.Text = YName Crea e inicia tu aplicación. Haz clic en el botón "Show XY". Tu código declara dos variables de tipo cadena, XName e

YName. Las variables X e Y se asignan a cadenas de texto

(entre comillas) la Propiedad de Texto de TextBox1 se asigna al valor almacenado en XName. La Propiedad de Texto del TextBox2 se asigna al valor almacenado en YName. Intenta cambiar los valores de XName e YName en tu código y

Recomendación para el profesor

Esta unidad se pueden comprender más fácilmente si el alumno le sigue creando el mismo código en su propia aplicación de Visual Studio, según se solicite.

ejecuta tu programa nuevamente.

Ahora vamos a modificar este programa. Agrega un tercer cuadro de texto. Despeja la Propiedad de Texto del TextBox3. Asegúrate que la Propiedad de ReadOnly de TextBox3 esté asignada a False.

Unidad 06 – XY, Arkansas

Página 131 de 321

Haz doble clic en Button1 para editar el código de evento de clic. Modifica tu código para que aparezca así:

Dim XName as String Dim YName as String Dim ZNombre as String ZNombre = TextBox3.Text XName = ZName YName = XName TextBox1.Texto = XName TextBox2.Texto = YName Crea e inicia tu aplicación. teclea algún texto en el TextBox3. Haz clic en el botón de "Show XY". ¿Qué es lo que pasa? Tu

código declara tres variables de tipo cadena. La variable ZName se asigna a propiedad de Texto del TextBox3. La variable XName se asigna a Zname (que anteriormente se había asignado a la propiedad de Texto del TextBox3). La variable

YName se asigna a XName (que apenas se asignó al valor almacenado en XName) Después, el código asigna la propiedad

de Texto del TextBox1 a XName a la propiedad de Texto del TextBox2 a YName. Este código muestra cómo asignar el valor almacenado en una variable a aquel de una variable diferente.

Aquí hay un último ejemplo para Show cómo se utilizan las variables globales. Inicia una nueva Aplicación de Windows denominada

TotalButtonClicks. Agrega tres Botones al formato1. En la ventana de Código encontrarás el código:

Windows Form Designer generated code Justo después de esta línea de código, agrega el siguiente código:

Dim TotalButtonClicks as Integer

Unidad 06 – XY, Arkansas

Página 132 de 321

Haz doble clic en el Button1 y agrega el siguiente código al manejador de eventos de clic.

TotalButtonClicks = TotalButtonClicks + 1 MessageBox.Show(TotalButtonClicks) Agrega el mismo código a los manejadores de eventos de clic para el Button2 y Button3.

Crea e inicia tu aplicación. Haz clic en todos los botones en cualquier orden. Cada vez el número total de clics en botones se despliega en un cuadro de mensaje. Este código funciona porque declaramos una variable global denominada TotalButtonClicks en el código de forma. La variable global se utiliza para guardar el número total de clics en botones. Cada vez que el usuario haga clic en un botón, el valor almacenado en TotalButtonClicks aumenta en uno. El valor global no se pierde hasta que se cierra el formato.

Otros tipos de variables En Visual Basic.NET, puedes declarar variables de muchos tipos diferentes además de los tipos primitivos (cadena, entero, Booleano, sencillo, etc.) Estos otros tipos se integran en el entorno de .NET y puedes utilizarlos en todos los Lenguajes .NET. Muchos de estos tipos son propiedades de "Clases de Sistema". Las clases del Sistema contienen códigos que

proporcionan una funcionalidad básica de los lenguajes .NET. La parte más difícil de aprender a programar mediante un lenguaje .NET es comprender las clases del Sistema y su funcionalidad.

No tienes que aprender acerca de las clases del Sistema ahora. De vez en cuanto, Nikki o yo te demos algún código que

emplee una propiedad o un método de las clases del sistema, así que conviene que seas capaz de reconocerlas. Ahora te daré un ejemplo del uso de las clases del sistema para configurar el color de fondo de un formato.

Abre tu aplicación de ShowXY y agrega un segundo botón al formato1. Cambia la propiedad de Texto del Button2 a "Color". Haz doble clic en el Button2 para editar el código de eventos de clic en botones. Agrega el siguiente código:

Dim MiColor as System.Drawing.Color MiColor = System.Drawing.Color.Blue Format1.ActiveForm.BackColor = MiColor Crea e inicia tu aplicación. Haz clic en el Button2. Tu código declaró una variable denominada MiColor del tipo System.Drawing.Color. La variable MiColor fue asignada a System.Drawing.Color.Blue, un System.Drawing.Color válido. Finalmente, la propiedad de ColorFondo del formato1 se asignó a MyColor. Nota que la propiedad ColorFondo debe asignarse a un valor del tipo System.Drawing.Color.

Unidad 06 – XY, Arkansas

Página 133 de 321

Puedes explorar las clases del Sistema por tu cuenta. La mejor manera es teclear System. (punto) en la Ventana de Código. IntelliSense despliega una lista de todas las propiedades y métodos disponibles para la clase del Sistema. Selecciona una propiedad o un método y teclea otro punto para ver si tiene sus propias propiedades y métodos. Hay mucho que explorar.

Unidad 06 – XY, Arkansas

Página 134 de 321

Llegada a XY ¡Llegamos--por fin a XY! Yo realmente disfruté el viaje. Dejaré que encuentres el PDA y puedas resolver los ejercicios. Después de eso, haz la prueba e iremos a que nos perforen la tarjeta del rally. Ahora que has aprendido acerca de las variables, serás realmente capaz de ayudarnos con el Reto del Rally.

06 Ejercicio 02 Rana saltarina Inspirado por el estanque de ranas que vimos en la mañana, creo que deberíamos escribir un programa de rana saltarina.

Rana saltarina Escribe un programa para simular el juego de rana saltarina. El archivo 06_proveit02_files contiene las instrucciones para este ejercicio y todos los archivos de soporte que puedas necesitar.

Crea una forma como ésta o utiliza 06_proveit02_template, que ya lo hizo para ti:

Coloca “Frog1” en el TextBox1.Texto. Coloca “Frog2” en el TextBox2.Texto.

Cuando el usuario hace clic en un botón Leap, el contenido del cuadro de texto arriba del botón se asigna al cuadro que se encuentra dos cuadros a la derecha. No olvides vaciar el cuadro actual. Cuando tu programa funcione correctamente, muéstraselo a tu instructor.

Unidad 06 – XY, Arkansas

Página 135 de 321

06 Reto

Bicho

Splat, Otro bicho aplastado en el parabrisas. Me recuerda algo. Necesitamos practicar la búsqueda de bichos en un programa. La mayoría de ustedes saben que un error en un programa se llama bicho.

El programa en 06_challenge_template está, deliberadamente, lleno de bichos. Diez de ellos. Cada línea de código excepto una tiene un defecto. Tu tarea es la de corregir cada error de modo que el programa pueda Crear y ejecutar. Puedes elegir el código correcto cuando la línea con error tiene una elección completamente inapropiada.

Bicho Encontrarás errores en un programa existente que los contiene. El archivo 06_challenge_files contiene instrucciones para este examen y los archivos de soporte que necesites.

Abre el archivo denominado splat.sln. Aplástalo.

Cuando tu programa trabaje correctamente, muéstraselo a tu instructor. Recomendación para el profesor

La plantilla contiene muchos errores intencionales. Se espera que el alumno corrija el código. No se requiere una corrección particular. Por ejemplo, si X = 123.4 es incorrecto, X = 123 es una corrección inaceptable pero también lo es X = 1234

Extensión / Desviación ¿Quién es Commodore Grace Hopper? ¿Por qué preguntaríamos eso en este Reto? Recomendación para el profesor

Commodore Hopper descubrió el primer bicho de la Tecnología de Información – un auténtico bicho en los tubos de vacío de una de las primeras computadoras.

Unidad 06 – XY, Arkansas

Página 136 de 321

En una instrucción de evaluación, cuántos elementos se pueden asignar al lado izquierdo del signo de igual?

Las variables se usan para:

Cambiar propiedades Recordad valores de datos Cualquier número

La propiedad de una caja de texto siempre contiene qué tipo de datos?

Sencillos

Antes de que uses una variable en un programa debes:

Declarar (Dim) la variable

Enteros

De cadena

Unidad 06 – XY, Arkansas

Calcular la variable

Página 137 de 321

Temas en el camino a Switchboard

Switchboard, OK Operadores Operadores aritméticos Operadores de cadena El operador NOT en asignación Instrucciones Operadores en acción Código de depuración Llegada a Switchboard

Unidad 07 – Switchboard, Oklahoma

Página 138 de 321

Switchboard, OK Estamos listos para seguir avanzando. Siguiente parada, ¡Switchboard, Oklahoma! Cliff ya te ha enseñado cómo utilizar los instrucciones de

asignación y las variables, de modo que ahora cuentas ya con algunas herramientas de programación básicas que puedes emplear. Ahora te enseñaré sobre los operadores en nuestro trayecto a Switchboard. El uso de los operadores es otra de esas herramientas básicas de

programación que debes tener en su caja de herramientas. Una vez

que aprendas cómo utilizar los operadores en Visual Basic.NET, podrás utilizarlos en cualquier lenguaje de programación. El uso de los operadores es fácil, cuando nos acerquemos a Switchboard, te

mostraré cómo utilizar algunas de las herramientas de depuración que forman parte de Visual Studio.NET. Éstas te ayudarán a que tu código esté libre de errores, de modo que se pueda compilar en todo momento.

Unidad 07 – Switchboard, Oklahoma

Página 139 de 321

Operadores Así que, si los operadores son tan sencillos, ¿Haz escuchado hablar de ellos? Bueno, seguro que si, algunos ejemplos de

operadores son la suma, resta, multiplicación y la división. Has estado empleando los operadores desde el primer grado.

Es simplemente que no los llamabas de este modo. En programación, existen otros operadores también, para realizar cálculos matemáticos complejos y unir cadenas de texto.

Los operadores generalmente actúan sobre dos valores, aunque algunos actúan exclusivamente sobre un valor único. Los valores se denominan operandos. La siguiente es la sintaxis básica para el uso de los operadores: operando 1, operador, operando 2: Por ejemplo, 3+4

En la expresión 3 + 4 hay dos operandos (3 y 4) unidos por un operador (+) El operador realiza una operación (es este caso, suma) sobre los dos operandos (3 y 4)

Usar los operadores es fácil y también divertido, puedes crear ecuaciones muy complejas empleando los operadores. Comencemos revisando los operadores aritméticos—suma, resta, multiplicación y división. Después te mostraré cómo unir cadenas de texto y echaremos un vistazo a un operador especial denominado NOT.

Unidad 07 – Switchboard, Oklahoma

Página 140 de 321

Operadores aritméticos Reglas matemáticas, me agradan las matemáticas. Me encantaría hacer problemas matemáticos todo el día, pero en

ocasiones me canso y comienzo a cometer errores. Los programas de computadora son excelentes para hacer problemas matemáticos. No cometen errores al sumar y nunca se cansan de hacer el mismo problema una y otra vez. ¿Suena esto demasiado bueno para ser verdad? Bueno, hay un pequeño problema. Aunque los programas hacen un gran trabajo al

calcular las respuestas, éstos no pueden plantear los problemas. Ése es el trabajo que debes realizar como programador. Por eso es importante que comprendas cómo utilizar los operadores aritméticos en tu código. De esta forma puedes decirle a tu programa qué problema matemático deseas que resuelva. Dado que las computadoras son tan buenas para las

matemáticas, todos los lenguajes de programación tienen un conjunto estándar de operadores aritméticos. Como estas

operaciones son tan comunes, los símbolos utilizados para representar estos operadores en el código son básicamente los mismos en todos los lenguajes de programación. Esto lo facilita aún más.

Unidad 07 – Switchboard, Oklahoma

Página 141 de 321

La siguiente es una lista de los operadores aritméticos más comunes y los símbolos que se utilizan cotidianamente en comparación con los símbolos utilizados en el código. Nota que el único que es diferente es el de la multiplicación. En el código, usas * en lugar de una x para representar el operador de multiplicación. Operador Suma Resta Multiplicación División

+ x /

Símbolo Cotidiano

Símbolo de Código + * /

Veamos un par de ejemplos de operadores aritméticos en código.

3+4 18 - 2 33 * 3 66 / 6

Tanto C# como J# utilizan los mismos operadores como Visual Basic.NET. Utilizan +, -, * y / para la suma, resta, multiplicación y división.

Unidad 07 – Switchboard, Oklahoma

Página 142 de 321

Operadores de Cadena Sí, reglas matemáticas, pero no todos los programas que vayas a crear se relacionan con cálculos. En ocasiones tu

programa solo requiere trabajar con cadenas de texto. ¿Sabías que en Visual Basic.NET y otros lenguajes de programación pueden “sumar” texto? En realidad, no es como la suma regular de números. La “suma” de texto se denomina

“concatenación”, que es simplemente un nombre atractivo para llamarle a la unión de dos cadenas de texto juntas. En

Visual Basic.NET, el operador de concatenación es un signo de conjunción (&) Lo usas justo como el operador de suma, pero con cadenas en vez de números.

Los siguientes son un par de ejemplos: ”Bill” & “Mike ”1” & “2”

Recomendación para el profesor

Dado que Visual Basic intentó ser flexible, en ocasiones aceptará un signo de más (+) en lugar de uno de conjunción (&) cuando ambos operandos se definen como cadenas. Ésta es una mala técnica de codificación. Estimule a los alumnos a utilizar siempre el signo de conjunción. En C# y J# no utilizamos un signo de conjunción (&) para unir cadenas de texto. Utilizamos un signo de más (+). Observa esta línea de código nombre completo = “Bill “ + “Bob”;

Unidad 07 – Switchboard, Oklahoma

Cuando unes dos cadenas de textos utilizando el operador de concatenación, Visual Basic no puede agregar automáticamente ningún espacio, tendrás que decirle

Página 143 de 321

El Operador NOT El operador NOT es un operador especial que sólo opera sobre un único

Cuando ?

operando. Además, el operando debe evaluarse según un valor Booleano (True

o False). El operador NOT cambia un valor False a True y un valor True a False. Observe estos ejemplos.

NOT (True) NOT (NOT (True)) No sé por qué deseas utilizar el último enunciado, pero bueno.

Atención, en C# utilizamos un signo de exclamación (!) en

lugar de NOT. Revisa este código C#

TextBox3.Visibl e = !(TextBox1.Visible);

.

Unidad 07 – Switchboard, Oklahoma

Página 144 de 321

Instrucciones de asignación ¿Así que cómo utilizas los operadores en el código? La mayor parte del tiempo utilizas un enunciado de asignación.

Recuerda, un enunciado de asignación tiene el aspecto de una ecuación con un signo de igual en él. Los operadores y operandos se colocan del lado derecho del signo de igual. La expresión al lado derecho del signo de igual se evalúa, después el lado izquierdo de la ecuación se determina en este valor. Aquello que se encuentra del lado derecho de la ecuación debe evaluarse según el mismo tipo que el lado izquierdo para que el código realice la compilación. A

continuación se proporcionan un par de ejemplos de uso de los operadores aritméticos y el operador de concatenación en instrucciones de asignación.

Dim FormWidth as Integer FormWidth = 200 + 300 Dim FormHeight as Integer FormHeight = 1000 / 2 Dim Winnebagoname as String Winnebagoname = “Códe” & “Bus”

Unidad 07 – Switchboard, Oklahoma

Página 145 de 321

Los operadores en acción

Los ejemplos que acabo de proporcionarte eran bastante simples, con sólo dos operandos y un único operador en cada enunciado de asignación. Sin embargo, en el mundo real de la codificación, frecuentemente deberás traducir fórmulas o hacer cálculos que implican muchos operadores y operandos. Afortunadamente, con la mayoría de los lenguajes de programación, puede añadir tantos operandos y operadores como requieras para concatenar texto o convertir fórmulas a código. Además, puedes utilizar variables como operandos. ¡Exacto! Los operadores funcionan sobre las variables también— siempre y cuando sean del tipo correcto. Aún más, puedes incluso determinar una variable en una expresión que contenga a la variable misma. Así que veamos unos cuantos ejemplos que son un poco más complejos. El primer ejemplo calcula la circunferencia de las llantas de la camper.

Población

Dim TireCircum As Single Dim TireDiam As Integer Dim PiValue As Single PiValue = 3.14159 TireDiam = 18 TireCircum = TireDiam * PiValue

Este ejemplo calcula el costo promedio de gasolina en marzo y abril. Nota que empleé paréntesis para asegurarme que los costos se sumaran y que los galones se sumaran también antes de dividirlos.

Dim MarchCost As Single = 123.66 Dim AprilCost As Single = 231.45 Dim MarchGallons As Single = 87.4 Dim AprilGallons As Single = 157.2 Dim CostPerGallon As Single CostPerGallon = (MarchCost + AprilCost) / (MarchGallons+ AprilGallons)

Unidad 07 – Switchboard, Oklahoma

Página 146 de 321

Recomendación para el profesor

Puedes usar el paréntesis en tu código tal y como lo haces en problemas normales de asociación. Cuando pones algo entre paréntesis, se evalúa primero, por ejemplo:

Revise el orden de las operaciones. Cuando no hay paréntesis, la división y multiplicación se realizan antes que la suma y resta. Promueva el uso de paréntesis para asegurar que los cálculos se realicen como pretende el programador. NOT hay problema en utilizar demasiados paréntesis.

(5+7)/(1+5)=2

En esta operación, (5+7) se evalúa primero, (1+5) después, y al último se ejecuta la operación de división. La respuesta en 2. Sin los paréntesis, obtenemos una respuesta diferente: 5+7/1+5=17 Usa el paréntesis en tu código cuando quieras decirle al programa el orden el cuál

Unidad 07 – Switchboard, Oklahoma

Página 147 de 321

Operadores de comparación Recuerda, ¿mencioné que puedes especificar una variable para una expresión que contiene a la variable misma? ¿Cómo es eso, preguntarías? Observa el siguiente ejemplo y ve si puedes descubrir lo que se desplegará en el cuadro de mensajes.

Dim MileCounter as Integer MileCounter = 100 MileCounter = MileCounter + 200 MileCounter = MileCounter + 400 MsgBox.Mostrar (MileCounter) El cuadro de mensajes desplegará 700, que es el valor del MileCounter cuando se requiere el cuadro de mensajes. Así es

como funciona. Las primeras dos líneas del código enuncian la

variable del MileCounter y establecen su valor inicial en 100. La

Recomendación para el profesor

Revise la diferencia entre asignar un valor y agregar un valor. TextBox1.text = “Hello” en comparación con TextBox1.Text= TextBox1.Text & “Joe”

tercera línea del código toma el valor actual del MileCounter (100)

y le suma 200 para obtener 300. Recuerda, el lado derecho de la ecuación siempre se evalúa primero. Después el lado

izquierdo de la ecuación (MileCounter) se especifica en el valor del lado derecho de la ecuación (300). La cuarta línea del código toma el valor actual del MileCounter (ahora 300) y le suma 400 para obtener 700. El MileCounter se especifica en este valor, mismo que despliega el cuadro de mensajes. Para el lado izquierdo de la ecuación es irrelevante cómo se calcula el resultado del lado derecho de la ecuación, siempre y cuando los tipos coincidan. En lo concerniente al lado izquierdo de la ecuación, la variable del MileCounter del lado derecho es sólo una variable más, no ella misma.

Determinar una variable para una expresión, la cual contiene a la variable misma, es una práctica de codificación común con soporte en todos los Lenguajes .NET. Esto evita el problema de tener que crear otra variable para almacenar

temporalmente un valor intermedio. Como lo muestra mi ejemplo, esta técnica es perfecta para contar o añadir una serie

de valores. ¿Sabías que la línea de código más común es probablemente variable = variable + 1, que se utiliza para contar algo? Frecuentemente se utiliza para contar el número de veces que se completa un ciclo. Te diré más sobre los circuitos a medida que avancemos en nuestro trayecto.

Los operadores NOT y de concatenación en acción Demasiadas matemáticas ahí. Ahora voy a mostrarte un ejemplo rápido del operador de concatenación en acción y después uno del operador NOT. A continuación aparece un ejemplo que concatena variables de texto y despliega el resultado en un cuadro de texto.

Dim FirstName As String Dim LastName As String Name = “Bob” LastName = “Marley” TextBox1.Text = Name & “ “ & Last Name ¿Notaste que tuve que decirle a Visual Basic.NET que agregara un espacio entre el nombre y el Apellido? El operador de concatenación no agrega espacio automáticamente.

Mi último ejemplo te muestra cómo utilizar el operador NOT para ocultar un cuadro de texto siempre que se muestre otro cuadro de texto. Recuerda que el operador NOT se utiliza en tipos Booleanos. Unidad 07 – Switchboard, Oklahoma

Página 148 de 321

TextBox1.Visible = True TextBox2.Visible = NOT (TextBox1.Visible) No sé por qué querría utilizar esa última línea de código.

Unidad 07 – Switchboard, Oklahoma

Página 149 de 321

07 Ejercicio 01

Costo de la gasolina

¿Puedes calcular el costo de la gasolina para el siguiente tramo de nuestro viaje? Inténtalo. 1. Crea un formato que tu mismo(a) diseñes. Incluye los siguientes elementos: • •

• •

Costo de la gasolina

nombre de forma apropiado; En este ejercicio usarás lo que cuatro cuadros de texto para mostrar haz aprendido acerca de los operadores para diseñar un estos puntos: programa que calcula los costos o Millas hasta el siguiente destino de la gasolina. El archivo file07_proveit01_files o Millas por galón (MPG) para el contiene instrucciones para este ejercicio y todos los archivos de soporte que vehículo puedas necesitar o Precio por galón de gasolina o Costo total de la gasolina requerida cuatro rótulos para identificar cada cuadro de texto. un botón de comando marcado para iniciar el cálculo.

2. Después de que el usuario del programa Recomendación para el teclea la distancia, MPG y precio, calcula el profesor costo total para llegar a la siguiente ciudad Costo = (distancia / MPG) * precio destino. 3. Una vez que hayas creado tu formato, crea la solución. Si no hay errores en ella, elige Depurar / Inicio para ejecutar tu programa. Si tu programa funciona correctamente, muéstraselo a tu instructor. Extensión / Desviación Dale un formato al costo total que tenga la apariencia de dinero. Estudia el siguiente código. X = 123.45 X = FormatCurrency(X)

Unidad 07 – Switchboard, Oklahoma

Página 150 de 321

Recomendación para el profesor

Adentrarse en un programa línea por línea al mismo tiempo que se visualiza el contenido de las variables, resulta extremadamente valioso. Hay demasiados alumnos que ignoran esta lección. Cuando después tienen problemas con su código, le piden ayuda a un vecino o al instructor, en lugar de intentar encontrar el problema ellos mismos. Cuando le ayuda a un alumno a depurar su programa, insista en que se adentre con usted en el código.

Código de depuración Estás haciendo un gran trabajo! Hasta ahora has creado bastantes códigos, también has creado y operado muchos proyectos. Tal vez no todos tus proyectos hayan realizado la compilación a la primera, pero seguramente estás mejorando al descubrir cuál es el problema con tu código y resolverlo. De modo que ahora te daré algunos consejos que te ayudarán a resolver tus problemas aún más rápido. Resolver los problemas de un código se denomina depuración. La depuración es un paso necesario para hacer que un programa se ejecute sin errores y produzca los resultados correctos. Antes que nada te mostraré cómo Visual Studio te ayuda a depurar tu código a medida que lo estás creando. 1. Primero crea una nueva Aplicación de Windows denominada Depurar Vista. Agrega un botón y un cuadro de texto a format1. Haz doble clic en el Botón 1 y agrega el siguiente código. MyName = “Bill” TextBox1.Text = MyName

2. Nota que incluso antes de que Crearas tu proyecto, Visual Studio.NET puso una línea azul en zig zag bajo MyName en la primera y segunda líneas del código. ¿De qué se trata? Bueno, Visual Studio.NET es lo suficientemente inteligente para darse cuenta (incluso antes de que creemos algo) que no enunciaste la variable MyName. Esto es una advertencia de que hay algún problema con el código antes de que realices la compilación. 3. Crea y ejecuta tu proyecto. La Ventana de Resultados muestra que hubo un error. La Lista de Tareas te muestra

Unidad 07 – Switchboard, Oklahoma

Página 151 de 321

por qué falló. Ves dos líneas en la lista de tareas que te notifican que no se has enunciado el nombre en ‘MyName’.

Unidad 07 – Switchboard, Oklahoma

Página 152 de 321

4. Haz doble clic en “Nombrar” si ‘MyName’ no se enuncia en la Lista de Tareas. Te llevará al lugar del código en dónde se encuentra el error. 5. Notas que la variable MyName se encuentra resaltada—éste es el problema que debes resolver. Agrega la siguiente línea de código al evento de clic del Botón 1 para resolver el problema. Dim MyName as String La línea azul en zig zag desaparecerá.

6. Crea ejecuta tu proyecto. Se compilará sin errores. has depurado tu programa con éxito.

Unidad 07 – Switchboard, Oklahoma

Página 153 de 321

Entrar al código

En ocasiones los errores en tu código no serán errores que Visual Studio.NET pueda detectar y advertirte sobre ello. Tu programa se compila sin errores, pero los resultados o efectos no están muy bien. En este caso, sus errores pueden ser errores de lógica o flujo del programa, en lugar de errores de sintaxis. Éstos son errores que has incorporado en el diseño del programa, pero que no son considerados por Visual Studio.NET como errores en el código, dado que la sintaxis es correcta.

En casos como éste, resulta útil poder “adentrarse” en tu código, línea por línea, para ver cómo se está ejecutando y qué camino está tomando. Por lo general estableces un “punto de quiebre” en el código, después “te adentras” en el código para ver cómo ejecuta línea por línea. El punto de quiebre actúa como un signo de alto—la ejecución se detiene en la línea del código que has marcado con un punto de quiebre. Después oprime la tecla F11 para ejecutar cada línea del código a su vez. Ahora te mostraré cómo funciona. 1. Encuentra la siguiente línea de código en el evento de clic del Botón 1: MyName = “Bill” Ubica el cursor en algún lugar sobre esta línea de código. Haz clic con el botón derecho del ratón y seleccione Insertar Punto de Quiebre del menú desplegable.

2. Nota que la línea de código se resalta en color café y que aparece un círculo color café en el margen izquierdo de esta línea de código. Crea y ejecuta tu programa. Cuando aparezca el formato haz clic en el Botón.

Unidad 07 – Switchboard, Oklahoma

Página 154 de 321

3. El código ejecuta y hace correr la línea de código que marcaste con el punto de quiebre (MyName = “Bill”) Esta línea de código no se ha ejecutado aún. La línea de código se resalta en amarillo y el círculo café que se encuentra junto tiene ahora una flecha amarilla dentro. 4. En la Ventana de código desplaza el cursor sobre la variable MyName. Aparecerá un consejo mostrándote el valor de la variable MyName. Actualmente MyName = Nada, pues aunque la variable se ha enunciado, ésta no se ha determinado.

5. En la Ventana de código desplaza el cursor sobre la propiedad de Texto del Cuadro de Texto 1. Aparece un consejo que te muestra el valor de la propiedad de Texto. Actualmente Texto = Cuadro de Texto1. Oprime la tecla F11. Esto realiza la Introducción en el código, ejecutando la línea actual (MyName = “Bill”) y resaltando la siguiente línea en amarillo.

6. En la Ventana de Código, desplaza el cursor sobre la variable MyName. El consejo muestra MyName = Bill porque acabamos de fijar el valor de esta variable.

Unidad 07 – Switchboard, Oklahoma

Página 155 de 321

7. En la Ventana de código desplaza el cursor sobre la propiedad de Texto del Cuadro de Texto 1. El consejo muestra Texto = Cuadro de Texto 1. Este valor no ha cambiado. Oprime la tecla F11 de nuevo. Esto realizará la Introducción en el código, ejecutando la línea actual (Cuadro de Texto 1.Texto = MyName) y resaltando la siguiente línea en amarillo. 8. En la Ventana de Código, desplaza el cursor sobre la variable MyName. El consejo muestra MyName = “Bill” porque el valor de esta variable no ha cambiado. 9. En la Ventana de código desplaza el cursor sobre la propiedad de Texto del Cuadro de Texto 1. El consejo muestra Texto = “Bill” porque acabamos de fijar esta propiedad en la variable MyName. Oprime la tecla F11 una vez más. El formato aparece de Nuevo porque el programa ha terminado de ejecutar el código en el evento de clic del botón. Haz clic en la X que se encuentra en el extremo del formato para cerrarlo. 10. En la Ventana de Código, haz clic en el inicio de la línea de código con el punto de quiebre. Haz clic con el botón derecho del ratón y selecciona Eliminar Punto de Quiebre del menú desplegable.

Unidad 07 – Switchboard, Oklahoma

Página 156 de 321

Ya has finalizado la sesión de depuración. Resulta bastante práctico adentrarse en tu código línea por línea. Puedes seguir la ruta que tu programa emplea a medida que ejecutas tu código. En ocasiones tal vez descubras que le has dicho accidentalmente a su programa que ejecute tu código en el orden incorrecto, o que ha utilizado una variable errónea en un enunciado de asignación. Adentrarse en tu código te muestra en dónde se ha desviado erróneamente tu programa. A medida que te introduces en el código, puedes monitorear los valores de las propiedades y variables moviendo tu cursor sobre ellos en la Ventana de Código. Los valores se actualizan después que se ejecuta cada línea del código.

Estas técnicas de depuración se vuelven más importantes a medida que tu código se hace más complejo. Un código complejo es más difícil de depurar. Pronto aprenderás cómo controlar el orden en que se ejecuta tu código utilizando instrucciones “If” y “bucles”. Las herramientas de depuración son extremadamente valiosas para rastrear cómo ejecuta tu programa estos tipos de instrucciones.

Llegada a Switchboard Ése fue un gran viaje, Hablamos sobre muchas cosas en el trayecto. Ahora te debes sentir ya bastante cómodo utilizando los operadores para decirle a tu código cómo hacer problemas matemáticos y unir cadenas. Puedes incluso utilizar las

herramientas de depuración de Visual Studio.NET como ayuda para diagnosticar problemas. Creo que encontrarás que las

Pruebas son más divertidas y desafiantes a medida que avancemos. Intenta realizar aquellas que se encuentran en el PDA. Mantente actualizado resolviendo la prueba y después Cliff nos llevará a nuestro siguiente destino.

Recomendación para el profesor

Para reforzar esta habilidad, haga que cada uno de los alumnos demuestre individualmente su dominio en la técnica utilizando un programa previamente creado.

Unidad 07 – Switchboard, Oklahoma

Página 157 de 321

07 Ejercicio 02

Depurar un programa

Practiquemos ahora las habilidades de depuración que acabas de aprender. He creado un programa que se encuentra al descargar 07_proveit02_template. Éste es un programa completo. No tienes que crear ningún código en lo absoluto. Sólo debes encontrar el archivo denominado DebugMe.sln y después hacer doble clic en él. Tu tarea, si eliges aceptarla, es escribir en un archivo de texto, un documento de Word o en una vieja hoja de tareas de matemáticas, las respuestas a tres preguntas. 1. ¿Qué valor introdujiste en el cuadro de texto del formato? 2. ¿Cuál es el valor final de la variable denominada Respuesta Uno? 3. ¿Cuál es el valor final de la variable denominada Respuesta Dos?

Depurar un programa

Utiliza tus habilidades de depuración que acabas de aprender para encontrar los valores de dos variables de tu programa

El archivo file_07proveit_files contiene las instrucciones para este ejercicio y los archivos de soporte que necesites.

El código de este programa se ha hecho deliberadamente confuso y complicado para que no tengas la tentación de intentar descubrir cómo es que llega el programa a sus respuestas. Todo lo que tienes que hacer es colocar e círculo de depuración de punto de quiebre de color café en el margen vertical izquierdo, adentrarte en el código, después colocar el cursor sobre la variable en donde deseas ver el valor DESPUÉS que se haya ejecutado esa línea de código. Ésta es una de las herramientas más valiosas que debes utilizar en todos tus programas futuros. Cuando tengas las respuestas, muéstreselas a su instructor.

Unidad 07 – Switchboard, Oklahoma

Página 158 de 321

07 Reto

Calculadora de volumen

¿Recuerda los pisapapeles de cristal que vimos ayer en la tienda de regalos? Uno era un cubo y el otro una esfera. Aún me pregunto cuál era el más pesado. Dado que están hechos del mismo material, aquel con mayor volumen es el más pesado. Creemos un programa para calcular el volumen de un cubo y el volumen de una esfera. Dibuja una forma que se vea como ésta:

Lado del cubo

Radio Esfera

Calculadora de volumen

Determina el volumen de un cubo y una esfera. El archivo 07_challenge_files contiene las instrucciones para este reto y los archivos de soporte que puedas necesitar. Haz clic en el botón de descarga para bajar este archivo.

Calcular Volumen cubo

Volumen esfera

La longitud de un lado del cubo va en el primer cuadro y el radio de la esfera va en el segundo cuadro. En caso de que no hayas prestado atención a la clase de geometría, a continuación se encuentran algunas fórmulas. • El volumen de un cubo es el lado al cubo (multiplicado por sí mismo 3 veces) • El volumen de una esfera es cuatro tercios Pi veces el radio al cubo. Podrías utilizar 3.14 como el valor de Pi, o bien utilizar Math.PI. Una vez que tu programa funcione correctamente, muéstraselo a tu instructor.

Unidad 07 – Switchboard, Oklahoma

Página 159 de 321

Extension / Desviación

Sólo por diversión, ¿puedes encontrar dos valores que produzcan los mismos volúmenes, por lo menos de 4 puntos decimales? Si eres especialmente bueno para las matemáticas, ¿puedes agregar una segunda parte al formato que inicie con el volumen y calcular el lado y el radio que producen ese volumen?

Unidad 07 – Switchboard, Oklahoma

Página 160 de 321

¿Que se usa para cambiar la secuencia en la cuál se evalúan los operadores? Dos puntos Paréntesis ampersands

¿Que operador se usa para concatenar dos cadenas?

¿Cuál es el resultado de esta operación? SomeVariable = “55” & “One” 56 55Uno desconocido desconocido

¿Cuál es el resultado de esta operación?

And = &

Unidad 07 – Switchboard, Oklahoma

Página 161 de 321

Temas en el camino a WhatIf: WhatIf, TX Lógica Booleana Operadores Booleanos Operadores de comparación Código condicional Instrucción If…Then Más de una instrucción If …Then Más de un condicional Operadores Booleanos en código Llegada a

Unidadt 08 – WhatIf, Texas

Páginaage 162 ofde 321

WhatIf, TX

En nuestro ultimo viajeOn our last trip, JenSusana lete mostró todo sobre el uso de operadoresshowed you all about using op para crear ecuaciones matemáticas en tsu códigoerators to create math equations in your code. No sé mucho de matemáticas, pero sí de lógicaI'm not so much into math, but I am into logic. La lógica es el procedimiento que usted utilizas para tomar decisionesogic is the process you use to make decisions. Tomamos decisiones todos los días de nuestra vida We make decisions everyday of our lives. Yo he tomado algunas buenas decisiones, como cuando decidí llamar a una estación de radioI've made some good decisions. Like when I y me ganédecided to call the radio station and unos boletos gratis para el concierto del grupo won those free tickets to see the band "Whatever" in concert. También he tomado algunas malas decisiones, ¡como meter mi pantalón de mezclilla en la lavadora antes dI've made some bad decisions tooe sacar de la bolsa los boletos del concierto.!. Like putting my jeans in the washing machine before I took the concert tickets out of my pocket! En finBuenoWell, "Whatever" siempre estará por aquíwill always be around --– Los veré el año que vieneI'll see them next year. Nos dirigimos aWe're heading for WhatIf, Texas. WhatIf se encuentra en medio a la mita de una granis in the middle of this big, llanura planaflat prairie. Tal vez vas a pensarpiense que no hay mucho que hacer ahí, pero sete equivocasYou'd think there wouldn't be much to do there, but you'd be wrong. Existen millones de posibilidades enThere are a million possibilities in WhatIf. En el trayectoOn our way, tle mostraré cómo los programas de computadoración toman decisiones utilizando la fórmulaI'm going to show you how computer programs make decisions using the "IfSiIf...ThenEntoncesThen" statement. Estaba pensando, ¿qué tal si nos equivocamos en el camino damos una vuelta errónea al dirigirnos aI was just thinking. What if we made a wrong Unidadt 08 – WhatIf, Texas

Páginaage 163 ofde 321

turn on our way to WhatIf? ¡Tal vez nunca lleguemosWe might never get there.!

Unidadt 08 – WhatIf, Texas

Páginaage 164 ofde 321

Tomar dDecisionesMaking Decisions

Tengo que tomar decisiones todo el tiempoI have to make decisions all the time. ¿Qué color de calcetines debo usarWhat color socks should I wear? ¿Dónde debo ponermego mi siguiente tatuajeWhere should I get my next tattoo? ¿DeboMe comermeo toda una pizza extra grande de anchoasShould I eat an entire extra large anchovy pizza?? ¡Estoy seguro de que ustedtu tomas también muchas decisiones importantes I'm sure you make a lot of important decisions too.! En realidad, la gente tiene mucha suerteActually, people are pretty lucky. Muchas veces que tenemos que tomar Cuando tomamos uuna decisión, frecuentemente tenemosdisponemos de toda una variedad de opciones posibles, como qué sabor de helado comprarWhen we make a decision, we often have a whole lot of choices. Like what flavor of ice cream to buy, qué tipo dewhat kind of múusica escuchar o to listen to, or con quién pasearwho to hang out with. Los programas de computadoraprogramas de computación no tienen tanta suerteComputer programs aren't so lucky. Éstos deben tomar decisionesThey con base en si algo es Verdadero o Falsohave to make decisions based on whether something is True or False,. eEsto es todoThat's it. ¿Estae enunciadodeclaración es vVerdaderao oIs this statement True or is it fFalsaoe? Para éstasellos esto es un gran juego de 20 preguntasFor them it's one big game of 20 questions. Por ejemplo, imagínaetese que estás en un restaurante intentando ordenar una hamburguesa, papas fritas y cerveza de raízFor example, imagine you're in a restaurant trying to order a hamburger, fries, ¡y el mesero sólo puede hacertele preguntas para responder con sí o noand root beer and the waiter can only ask you yes or no questions.! ¿Desea algo de tomarDo you want something to drink? SíYes. ¿Desea caféDo you want coffee? No. ¿Desea téDo you want tea? No.

¿Desea refrescoDo you want soda? SíYes.

¿Desea refresco deDo you want a cola? No. Unidadt 08 – WhatIf, Texas

Páginaage 165 ofde 321

¿Desea cerveza de raízDo you want root beer? ¡SíYes.! Bueno, esto llevó seis preguntas ¡y ni siquiera he ordenado la hamburguesa y las papas fritas todavíaWell, that took six questions and I haven't even ordered the hamburger and fries yet.! ¡Avanza un poco lento pero, finalmente, obtendré mi ordenKind of slow going but eventually, I'd get my order.! Así es cómo un programa de computadoración toma una decisión;That's what it's like for a computer program to make a decision --– strictestrictamente con sí oly yes or no. Este tipo deThis kind of "pensamientothinking" or lógica se denomina lógicaogic is called Booleana (VerdaderoTrue/Falseo) logic.

Unidadt 08 – WhatIf, Texas

Páginaage 166 ofde 321

Unidadt 08 – WhatIf, Texas

Páginaage 167 ofde 321

Lógica Booleana Logic Como viste en tu camino al Tablero de DistribuciónSwitchboardAs you saw on our way to Switchboard, los programas de computadoraprogramas de computación son buenos para resolver problemas matemáticoscomputer programs are good at doing math problems. También son buenos para resolver problemas de lógicaThey are also good at doing Booleana logic problems. En un problema de lógicaIn a Booleana logic problem, la respuesta es siempre Verdadero othe answer is always either True or Falseo, --– no haythere is no "más o menoskind of", "una especie desort of" onior "casialmost". Veamos, leTe mostraré algunos ejemplosLook, I de lógica'll show you some examples of Booleana logic.

4=4 ¿Es Is 4=4? Sí, es VerdaderoYes, that's True. 3=1+3 ¿Es Is 3=1+3? No, es Falsothat's False. 3=(6+12)/(1+5) ¿Es Is 3=(6+12)/(1+5)? SíYes, ethat's VerdaderoTrue. Puedes ver que en cada uno de los problemas lógicos anteriores la respuesta es ya sea Verdadero o FalsoYou can see that in each of the logic problems above the answer is either True or False. Las respuestas no son números, colores, ni palabras. Así es como un programa de computadoración puede Unidadt 08 – WhatIf, Texas

Páginaage 168 ofde 321

tomar decisionesThe answers aren't numbers, colors or words. This is how a computer program can make decisions. Si la respuesta es VerdaderoIf the answer is True, thel programa hace algo does something. Si la respuesta esIf the answer is Falseo, el the programa no hace nada doesn't do anything.

Unidadt 08 – WhatIf, Texas

Páginaage 169 ofde 321

Operadores Booleanos Operators

Al igual que las matemáticas convencionalesJust like regular math, la lógica Booleana tiene sus propios operadoreslogic has its own operators. Pero no trabajan con números, sino solo con operandos But they don't work on numbers, they only work on Boolean operandos --–, es decir, Verdadero y True and Falsoe, that is. Éstos le permiten “añadir” enunciados de Verdaderos o Falsos conjuntamente de maneraformas especialesThey let you "add" True and False statements . Éstos pPueden emplearse para unir enunciadostogether in special ways. They can be used to join Booleanos ystatements to crear problematse more complex Booleanos más complejosproblems. Existen tres operadoresThere are three Booleanos operators: ANDYAND, ORR y, and NOTT. Los operadores ANDY y ORThe AND and OR actúan sobre dos operandos operators act on two operands. El operadorThe NOT actúa en un soloT operator acts on a single operando. Los tres dan un resultado que es tambiénAll three give a result that is also Booleano. Cada Each operatdor tiene sus propias has its own "reglasules" en cuanto al resultado que produce al actuar sobre los as far as what results it produces when acting on the operandos. Veamos algunos problemas de lógicaLet's look at some Booleana que utilizan los operadoreslogic problems that use the Booleanos operators. Después explicaré los detalles de cómo funcionanThen I will explain the details of how they work. 3=1+2 ANDYAND 2=1+1 Es VerdaderoThat's True. Tenemos aquí dos problemas lógicos separadosHere we have two separate logic pro unidos con el operador ANDYblems joined together with the AND operator. Primero evaluamosFirst we evaluate 3=1+2, lo cual es Verdaderowhich is True. Después Then we evaluatemos 2=1+1, lo cual también es Verdaderowhich is also True. Después Then we evaluatemos Verdadero YAND Verdadero True AND True que, dadas las propiedades especiales del operador YAND, which by the special properties of the AND operato, da una respuesta final der gives a final answer VERDADEROof Unidadt 08 – WhatIf, Texas

Páginaage 170 ofde 321

TRUE. Si ambos lados de una ecuación YAND son VerdaderosIf both sides of an AND equation are True, la respuestathe final eanswer is VerdaderoTrue. 3=1+2 ANDYAND 5=2+2 EEs That's Falseo. Tenemos de nuevo dos problemas lógicos separadosAgain we have two separate logic pr unidos con el operador ANDYoblems joined together with the AND operator. Primero evaluamosFirst we evaluate 3=1+2, lo cual es Verdaderowhich is True. Después evaluamosThen we evaluate 5=2+2, lo cual eswhich is Falseo. Después evaluamos Verdadero YAND Then we evaluate True AND Falseo que, dadas las propiedades especiales del operador YAND, da una respuesta final de, which by the special properties of the AND operator gives a final answer of Falseo. Si cualquier lado de una ecuación YAND es Falso, la respuesta final esIf either side of an AND equation is False, the final answer is Falsoe.

Unidadt 08 – WhatIf, Texas

Páginaage 171 ofde 321

Un último ejemploOne last example, 3=1+2 ORÓOR 5=2+2 EEs VerdaderoThat's True. PrimeroFirst we evaluamoste 3=1+2, lo cual es Verdaderowhich is True. Después evaluamosThen we evaluate 5=2+2, lo cual eswhich is Falseo. Después evaluamos VerdaderoThen we evaluate True ORR Falseo que, dadas las propiedades especiales del operador, which by the special properties of the OOR, da una respuesta final de VerdaderoR operator gives a final answer of True. Si cualquiera de los lados de una ecuación OOR es VerdaderoIf either , la respuesta final esside of an OR equation is True, the final Verdaderoanswer is true.

Esto tal vez requiera algo de prácticaIt may take some practice, pero, después de haber trabajado algún tiempo con los operadoresbut after you've worked with the Booleanos , sete acostumbrarás a ellosoperators for a while, you'll get used to them. Afortunadamente, podemos mostrar todas las combinaciones posibles para el operador YAND en una simple tablaFortunately, we can show all the possible combinations for the AND operator in a simple table. No tienes que memorizarlas, puedes simplemente hacer referencia a esta tabla cuando lo necesitasrequieraYou don't have to memorize them; you can just refer back to this table when you need to. Lado iIzquierdoLeft Side

Right SideLado dDerecho

Lado iIzquierdo YLeft Side AND LLado dDerecho Right Side (rRespuesta fFinal Answer) VerdaderoTrue TrueVerdadero TrueVerdadero TrueVerdadero Falsoe Falsoe Falsoe TrueVerdadero Falsoe Falseo Falsoe Falsoe Del mismo modo, podemos mostrar todas las combinaciones posibles para el operadorIn the same way, we can show all the possible combinations for the ORR operator.

Unidadt 08 – WhatIf, Texas

Páginaage 172 ofde 321

Left SideLado iIzquierdo

Right SideLado dDerecho

Lado iIzquierdoLeft Side ORR Lado dDerecho Right Side (rRespuesta fFinal) Answer) TrueVerdadero TrueVerdadero TrueVerdadero TrueVerdadero Falsoe TrueVerdadero Falsoe TrueVerdadero TrueVerdadero Falsoe Falsoe Falsoe

Unidadt 08 – WhatIf, Texas

Páginaage 173 ofde 321

El operadorThe NOTot no une dos cosasoperator does not join two things together. Simplemente convierteIt si Falso en Verdadero y Verdadero en mply turns False to True and True to Falsoe. Right SideLado dDerecho TrueVerdadero Falsoe

No lLado dDerechot Right Side (rRespuesta fFinal Answer) Falsoe TrueVerdadero

Aquí hay algunos ejemplos del operadorHere are some examples of the NOTot operator. NOTot(3=1+2) Es That's Falseo. 3=1+2 es Verdaderois True. NOTo Verdadero est True is Falseo. NOTot(5=2+2) Es VerdaderoThat's True. 5=2+2 ies Falseo. NOTot Falso es Verdaderoe is True.

Unidadt 08 – WhatIf, Texas

Páginaage 174 ofde 321

Operadores de cComparaciónComparison Operators ¿Recuerdase que, Remember, NikkiNikki ttele ha dicho que los programas son excelentes para resolver problemas matemáticosold you that programs are great at solving math problems,, ¿pero no buenos para plantearlos but no good at setting them up? Bueno, lo mismo ocurre para los problemas de lógicaWell, the same thing is true about Booleana logic problems. Los programas de computadoraprogramas de computación son excelentes para resolverComputer programs are great at solv problemas de lógica ing very complex Booleana muy complejoslogic, pero no pueden plantearlos problems, but they can't set them up. De nuevoAgain, ése es tsu trabajo como programador,that's your job as a programmer --– plantear los problemas de lógicato set up the Booleana para que tsu programa los resuelvalogic problems for your program to solve. Cuando se ejecuta el códigoWhen the code is executed, ethel program a resuelve el problemasolves the problem. La respuesta será Verdadero o The answer will be True or Falsoe. El programaThe pro tomagram makes "una decisióon" dependiendo de si la respuesta al problema esg on whether the answer to Verdadero o Falsothe problem is True or False. TuUsted sabes que el signo de igual puede utilizarse con un operador de asignación, pero también puede utilizarse como unYou know that the equal sign can be used as an assignment operator, but it can also be used as a "operador de comparaciónison operator". En los ejemplos anterioresIn the examples above, el signo de igual está preguntandothe equal sign is asking the question,: "¿el lado izquierdo es igual al lado derechoIs the left side equal to the right side? ¿VerdaderoTrue or Falseo?" Existen otros operadores de comparación para comparar si el lado izquierdo es mayor al lado derechoThere are other comparison operators for comparing whether the left side is greater than the right side (>) o si el lado izquierdo es menoror whether the left side al is less than ( 0? VerdaderoTrue. Calcular el costo de late the gasolina cost. ¿LaIs the variable Galones TotaleGallons es > 0? Falsoe. NoDon't calcular el costo de la gasolinate the gas cost.

Unidadt 08 – WhatIf, Texas

Páginaage 181 ofde 321

Como puedes ver mis ejemplos de la vida real y de mi programa tienen algounas cosas en común

You can see my real life examples and my program examples have some things in common:. uUtilizan lógicaThey use Booleana para hacer una pregunta paraque se contesta con responder Verdadero o logic to ask a True or Falseo question. La pregunta para responder VerdaderoThe True or Falso utiliza operadores de comparación como igual Teacher’s a y menor o igual a. La respuesta a la TipConsejoRecomendación pregunta es ya sea Verdadero o Falsoe para el MaestroProfesor question uses comparison operators like equal This is an example of a text box to and less than or equal to. The answer to the we can use for the Teacher’s question is either True or False. Si la respuesta Guide.Recominderdatorio – esIf the an Verdaderoswer is True, algo sucede. Si la respuesta essomething happens. If the answer is Falseo, no sucede nadathing happens.

EnunciadosInstrucciones IfSi

If...ThenEntoncesThen Statements ¿Te diste cuentaNotó que mis ejemplos utilizan las palabrasDid you notice my examples use the words "SiSiIf" (If) yand "EntoncesEntoncesThen" (Then)? Si una cierta condición es VerdaderaIf a certain condition is True, entonces algo sucedethen something happens. Si la condición esIf the condition is Falsea, entonces no pasa nadathen nothing happens. Cuando deseas que tsu programa tome una decisiónWhen you want your program to make a decision, escribesa una instrucción enunciadoyou write an "IfSiIf...ThenEntoncesThen" del mismo modo statement in the same way. IEn Visual Basic.NET la sintaxis esthe syntax is: IfSiIf condicióntion ThenEntoncesThen enunciadoinstrucción conditcional statement End IfTerminaEnd IfSi El siguiente es un ejemplo deHere's an example in Visual Basic.NET:

Unidadt 08 – WhatIf, Texas

Páginaage 182 ofde 321

IfSiIf myyAgeiEdadAge = 3 ThenEntoncesThen MessageBoxCuadrodeMensajesMessageBox.ShowMostrarShow("T engoI am 3.".) End IfTerminaEnd IfSi Fíjese en la palabraNotice the word "IIfSif". Es una palabra claveIt deis a Visual Basic.NET, por lo que aparece en azul keyword so it's in blue. La condición viene inmediatamente después de la palabraThe condition comes right after the word "IfSiIf". La condición realizaHace una comparación y hace una pregunta para responder con Verdadero o FalsoThe condition does a comparison and asks a True or False question. ¿LaIs the variable myyAgeiAEdadge = 3? Sii es un enunciado VerdaderoIf that's a True statement, entonces hay que hacer algo then do something. Note que la palabraNotice that the word "ThenEntoncesThen" viene inmediatamente después de la condiciónfollows right after the condition. También eEs una palabra claveIt deis a Visual Basic.NET, por lo que también aparece en azul keyword too, so it's in blue. Después deAfter "ThenEntoncesThen" viene la instrucciónel enunciado condicional que debe ejecutarsecomes the conditional statement to be executed. Pretendemos que esta línea facilite la lectura del códigoWe indent this line to make the code easier to read. Si laIf the condición es Verdaderotion is True, entoncesthen th el program a despliega un cuadro de mensaje con el textodisplays a messagebox with the text "TengoI am 3.". Notae que las palabrasNotice that the words "End IfEndTermina SiIf" siguen a la enunciadoinstrucción condicionalfollow the conditional statement. Éstas también sonThese are palabras clavekeywords too y. Las palabrasThe words "End IfTermina Si" completan el enunciadoe the "IfIfSi" statement.

Unidadt 08 – WhatIf, Texas

Páginaage 183 ofde 321

¡Ahora inténtaelo túustedNow you try it! Iniciae una nueva Aaplicación de Start a new Windows denominadaApplication named IfThenSiEntoncesIfThen. Añadagrega un cuadro de texto a laAdd a text box to Forma 1. Coloqueca un botón en laPlace a button on Forma 1. Hagaz doble clic en el botón para editar elDouble click the button to edit the código de evento de clic del botónbutton click event code. Añadea las siguientes líneas de códigodd the following lines of code. Dim myAgeiEdadyAge AsComoAs IntegerEnteroInteger myAgeiEdadyAge = 3 IfSiIf myAgeiEdadyAge = 3 EThenntoncesThen TextBox1CuadrodeTextoBox1.Texto = "TengoI am 3.". End IfEndTermina SIfi Creae e iniciae stu proyectoBuild and start your project. Hazga clic en el botónClick the button. Esto es lo que está sucediendoHere's what's happening. TSu código enuncia una Your code declares a variable denominadacalled myyAgeiEdadAge y le da un valor deand sets it to a value of 3. ElThe "enunciado IfSiIf statement" hace una pregunta de Verdadero oasks a True or Falseo question: ¿Is myyAgeiEdad Age= 3? La respuesta es Verdadero porque usted acabas de dar el valorThe answer is True because you just set myAgeiEdadyAge = 3. Dado que la respuesta para esta pregunta es VerdaderoSince the answer to this question is True, se ejecuta la instrucciónel enunciado the conditcional después destatement after "ThenEntoncesThen" is executed. El cuadro de texto despliega The textbox displays "TengoI am 3.". Ahora cambiemos el código como se muestra a continuaciónNow let's change the code as shown below: myAgeyiEdadAge = 2 Creae e iniciae stu proyecto de nuevoBuild and start your project again. HagaHaz clic en el botónClick the button. ¿Qué sucedeWhat happens? ¿Nada Nothing? BuenoWell, ¡eso está bienthat's good! Esta vezThis time a myiEdadAge se le ha dado un valor deyAge is set to a value of 2. ElThe Unidadt 08 – WhatIf, Texas

Páginaage 184 ofde 321

"enunciado IfSiIf statement" hace la preguntaasks t h¿e questions Is myAgeiEdadyAge = 3? Esta vez la respuesta es FalsoThis time the answer is False, sde modo que la instrucciónel enunciadoo the conditcional después destatement after "ThenEntoncesThen" is no se ejecutat executed. No pasa nadathing happens. El The texto e in el cuadro dethe texto no cambia porque la condición se evalúa comobox is not changed because the condition evaluates to Falseo. TuSu Your programa hizo exactamente lo que se pretendía que hiciera did exactly what it was supposed to.

Unidadt 08 – WhatIf, Texas

Páginaage 185 ofde 321

Veamos otro ejemploLet's look at another example. Agrega enEn laOn Forma 1, añada una casilla de verificación add a checkbox. Editae el código de evento de clic del botónEdit the button click event code. Reemplaceza el códigoce the existente con lo siguienteing code with the following: IfSiIf CasilladeVerificaciónCheckBoxCheckBox1.CheckedMarcadaChecke d = VTrue ThenerdaderoTrue EntoncesThen TextBoxCuadrodeTextoBox1.Texto="I am checkedEstoy marcadoa.". End IfEndTermina IfSi Creae e iniciae tsu proyectoBuild and start your project. Marqueca la casilla de verificación y hagahaz clic en el botónCheck the checkbox and click the button. LaThe condicióntion se evalúa como Verdaderauates to True (marcasteó la casilla de verificaciónyou checked the checkbox), de modo que el so the texto en el cuadro de texto se especifica como “Estoy marcadoa in the textbox is set to "I am checked.". Creae e iniciae tsu proyecto de nuevoBuild and start your project again. Esta vez, quitae la marca de la casilla de verificación y hagahaz clic en el botónThis time, uncheck the checkbox and click the button. ¿Qué sucedeWhat happens? No sucede nadathing happens. Esta vez la condición esThis time the condition is Falsea (quitasteó la marca de la casilla de verificaciónyou unchecked the checkbox), de modo que el texto so the text no cambiais not changed. TSu programa ha tomado una decisiónYour program has made a decision (determinar la propiedad del textoto set the text property) con base en una condiciónbased on a condition (si una casilla de verificación está o no marcadawhether a checkbox is checked or not).

Unidadt 08 – WhatIf, Texas

Páginaage 186 ofde 321

Debes poner una sangría en todas las instrucciones condicionales entre las líneas If...Then y End If. Eso facilita la lectura y comprensión de tu código. Aún con una sola instrucción condicional deberías poner una sangría. Visual Studio.NET pone la sangría automáticamente por omisión. If CheckBox1.Checked = True Then

MessageBox.Show(“Danger!”)

End If

Temas en

Unidadt 08 – WhatIf, Texas

Páginaage 187 ofde 321

Más de un SiIfMore Than One If Tal vez quieresdesee que tsu programa tome numerosas decisiones al ejecutarseChances are that you are going to want your program to make numerous decisions when it executes. TSu Your programa podría ma requeriry revisar el estado de una casilla de verificaciónneed to check the state of a checkbox, después revisar el estado de unthen check the state of a botón de radioradio button, luegothen comparar dos númerose two number y finalmente determinar si el usuarios, and finally determine whe dejó un campo de texto en blancother the user left a text field blank. ¡GuauWow!! Esto es mucho pedirle a un programaThat's a lot to ask of a program. ¿Puede hacerse todo estoCan all this be done? AfortunadamenteFortunately la respuesta es , the answer is "SíYes". Puedes añadir tantaosYou can add as man enunciadosinstrucciones dey "IfSiIf...ThenEntoncesThen" como requiera a stu códigostatements to your code as you need. Como cualquier otra instruccióno enunciadoLike any other statements, éstaos se ejecutan en el orden en el que ocurren en el códigothey are executed in the order in which they occur in the code. Construyamos una aplicación que muestre el uso de más de una instrucciónenunciadoLet's build an application that demonstrates the use of more than one "IfSiIf...ThenEntoncesThen" statement.

Digamos que nuestro programa tiene una casilla de verificación denominadaLet's say that our program has a checkbox called "Desplegar Todas lasisplay All Alarmas". Si esta casilla de verificación se encuentra marcadaIf this checkbox is checked, entonces elthen the programa chambia el Color de Fondo del la formato a rojonges the BackColor of the form to red, chambia elnges the texto en un cuadro de texto in a textbox to "Red Alerta Roja",y muestra un cuadro de mensaje, desplegando el texto and shows a messagebox, displaying the text "¡PeligroDanger! ¡PeligroDanger!". Una formato en ella que podrías escribir este código es utilizando tres instruccionesenunciadosOne way you could write this code is to use three separate "IfSiIf...ThenEntoncesThen" separadaostatements. En cada unaoIn each, la condición revisaría si la casilla de verificaciónthe condition would check to see if the "Desplegar Todas lasisplay All Alarmas" está marcadacheckbox is checked. Si la condición es Verdadera, se ejecuta una enunciadoinstrucción condicionalIf the condition is True, a conditional statement is executed. Ahora tse lo mostraréHere, I'll show you. Iniciae una nueva aAplicación deStart a new Windows denominadaApplication called Disparar Alarma de IncendioFireAlarm. Añadgrega una casilla de verificacióndd a checkbox,, un Unidadt 08 – WhatIf, Texas

Páginaage 188 ofde 321

cuadro de a texto y un botón de comando para la box, and a command button to Forma 1. Chambiae elnge the Texto del Buottonón of Button1 toa "Thhreeres If’sSi’se If's". HagaHaz doble clic en el Double click Buttonuttotónn 1 parato editar el evento de clic del botónedit the button click event. Añadea el siguiente códigodd the following code. IfSiIf CasilladeVerificaciónCheckBoxheckBox1.CheckedMarcadaChecked = VTrue ThenerdaderoTrue EntoncesThen Forma.ActiveFFormaActivaeForm.BackColorBackColordeFondo = Systemistemaystem.DrawingDibujarrawing.Color.Redojoed EndTermina IfSiE nd If IIfSif CasilladeVerificaciónCheckBoxheckBox1.CheckedMarcadaChecked = VTrue ThenerdaderoTrue EntonThences CuadrodeTextoTexBoxBox1.Texto = "Red Alerta RojaAlerta Roja" End IfEndTermina IfSi IfSiIf CasilladeVerificaciónCheckBoxCheckBox1.CheckedMarcadaChecke d = VTrue ThenerdaderoTrue EntonThences CuadrodeMenssajesMessageBoxgeBox.ShowMostrarShow("¿Peli gro¡PeligroDanger! ¡Peligro¡PeligroDanger!") End IfEndTermina IfSi Creae e iniciae tsu proyectoBuild and start your project. Marqueca la casilla de verificación y hazgaCheck the checkbox and clic en el botón dek the "Three If’shres Sie If's" button. Cada uno de laos instruccionesenunciadosEach of the "IfSiIf...ThenEntoncesThen" statemese ejecuta a su vez y se ejecutan tres enunciadosinstrucciones condicionalesnts executes in turn and the three conditional statements are executed. LaEl primera instrucciónenunciadoThe first "IfSiIf...ThenEntoncesThen" cambia el color de la formato a rojostatement changes the form color to red. LaEl segundao enunciado cambia elThe second statement changes the Texto del cuadro de texto a of the textbox to "Red Alerta Roja". LaEl tercerao muestra un cuadro de mensajes que despliegaThe third shows a messagebox displaying "¡PeligroDanger! ¡PeligroDanger!"

Unidadt 08 – WhatIf, Texas

Páginaage 189 ofde 321

08 PruebaProve ItEjercicio 01 Ideas de rRegalo

Gift

Al acercarnos aWhile nearing WhatIf, Texas, Ideas dede regalo nos detuvimos en una tienda regaloswe Ideas de regalo stopped at a gift shop. SiEncreas un programa este Ejercicio deberás crear un En este ejercicio deberás crear para ayudar a los clientes a seleccionar programa de selección deun regalos. un programa de selección de El usuario escoge un regalo de una regaloIf you write a program to help customers desplegable a cuyo lado se regalos. El usuario escoge un select gift, el dueño de lalista tienda tle dará una encuentra una lista con ideas deregalo de una lista desplegable a cuyo lado se encuentra una postal original con laregalos imagen de unl relacionados. lista con ideas de regalos hermosothe shop owner will give you a genuine relacionados. postcard featuring beautiful downtown centro El archivo de WhatIf del centro.

08_ProveIt01_files formato denominadoa contiene

El archivo 08_ProveIt01_files contiene instrucciones para este ejercicio y archivos de apoyo que pudieras

•1.Dibujae unaPaint a Ideas de Regalo called Gift Ideas. necesitar.Temas en Includyeea una etiqueta rótuloa label “G“Gente que compróPeople who bought” y una etiqueta rótuloand a label “También compróAlso bought”.

2. Colocaque un Combo box Cuadro ComboPlace a Combo box (veéase la Unidadsee Unit 4) en el formatosobre la formaon the form. Determinae la propiedad de texto en “Elegir un Regalo”. Llenae el conjunto de Artículos con los regalos enumerados abajo, o utiliceza tsus propias ideas de regalo. •3.Colocaque un cuadro dePlace a texto box. Permitea que hayaAllow muúltiples líineas en el cuadroin the box.

•4.Siempre que se seleccione un regalo en elWhenever a gift is selected in the Cuadro ComboCuadro combinado Box, llenae el cuadro de texto con por lo menos dos artículos que hayan sido también adquiridos por los clientesfill the text box with at least two items that were also purchased by customers. Puedes utilizar estasYou may use these selectciones o elegir la tuyaa suya propiar choose your own. 1.5. Sombrero de Diez GalonesTen Gallon Hat Unidadt 08 – WhatIf, Texas

Cinta de Sombrero de pPiel de vVíbora para sombreroSnakeskin Hat Band Páginaage 190 ofde 321

Corbata para cChalecoBolero Tie Bootas Lustre para Bbotas de pPiel de aArmadillo Hide Boot PolishLustre Quita botasCota de Bota Desprendible FácilmenteEasy Off Boot Jack Stuffed JackalopeConejo Mapa Secreto de la mMina con cCuernos de oOro secreta Gold Mine dDisecado Map Oro gGenuine Gold Oreo Postales Cards Lápiz gGrabadoEngraved Pencil Camiseta deBig as TTexas T-Shirt Chili Mangos en Forma de PeppersChilePepinillos ChilesPanhandle Chili Picantes Salsa Picante Tornado Hot Sauce

Unidadt 08 – WhatIf, Texas

Páginaage 191 ofde 321

El número del artículo seleccionado se encuentra en la propiedad Índice Seleccionado

Unidadt 08 – WhatIf, Texas

Páginaage 192 ofde 321

The item number selected is found in the SelectedIndex property, comenzando en cerostarting at zero.

El nombre del artículoThe name of the seleccionado se encuentra en la propiedadted item is in the Se Artículo SeleccionadotedItem property. Si deseas que las dosIf you want the two recommendactiones to appearezcan en líneas on separadas del cuadro de texto, de lo que estoy seguro, ponga la constante especial dete lines in the textbox, as I am sure you do, put the special Visual Basic entre ellas, del siguiente modoconstant between them, like this: CuadrodeTextoTextBoxBox1.Texto = “A” & vbNewLineuevaewLineínea & “B” Por supuestoOf course, A andy B son reemplazadasare r por laseplaced by the recommendatciones. Cuando tsuWhen your programa funcione works correctamentely, muéstraeselo a tsu instructorshow it to your instructor.

Teacher’s TipConsejoRecomendación para el MaestroProfesor

Algunos alumnos pueden considerar queThis is an example of a text box we can use for the Teacher’s Guide.Some students may find the las instructciones no son un clearas. Se espera que el alumno tenga una serie de enunciadosinstrucciones “IfSi”The student is expected to have a series of If statements. El

Unidadt 08 – WhatIf, Texas

Páginaage 193 ofde 321

Más de un condicionalore Than One Conditional ¿Te diste cuentaNotó que todas las instruccionesdos los enunciadosDid you notice that all of the "IfSiIf...ThenEntoncesThen" del ejemplo destatements in the Disparar FireAlarma de Incendio tenían la mismaexample had the same condictióon? Todaos utilizabanThey all used: SiIfIf CasilladeVerificaciónCheckBoxCheckBox1.MarCheckecadaChecked = VTrue ThenerdaderoTrue EntoncesThen Lo único que cambiaba era el enunciadoThe only thing different was the la instrucción condidicionational utilizadao en cada unostatement each one used. Parece demasiado código Seems like a lot of repetitivoe code, ¿verdaddoesn't it? ¿No existe una manera más sencillahay una forma más fácilIsn't there an easier way? Bueno, ¡claro que la hayWell, of course there is! Visual Basic.NET y la mayoría de los lenguajes modernos de programación permiten múltiples instruccionesenand most modern programming unciadoslanguages allow multiple conditcionales para una misma condiciónstatements under the same condition. La sintaxis es la siguienteHere's the syntax: IfSiIf conditcióon EThenntoncesThen enunciadoinstrucción conditcional statement 1 instrucciónenunciado conditcional statement 2 instrucciónenunciado conditcional statement etc. End IfEnd IfTermina Si Sabiendo estoKnowing this, podemos rescribir el código que utilizamos enwe can re-write the code we used la aplicación de Disparar Alarma de Incendioin the FireAlarm application, simplificándoloying it, eliminando los enunciados de condición repetitivos y facilitando la comprensióting the repetitive condition statements, and making it easier to unnderstand. Abrea tsuOpen your aplicación de Disparar FireAlarma de Incendio application. Añaddea un segundo botón de comando a la a second command button to Forma 1. Chambiae el nge the Texto del of Buttuttonotón 2 ato "UnOne SiIf". HagaHaz dobleDouble clic en elk on Buttonotón utton2 parato editar el evento de clicedit the click event. Agregañada el siguiente códigodd the following code: IfSiIf CasilladeVerificaciónCheckBoxheckBox1.CheckedMarcadaChecked Unidadt 08 – WhatIf, Texas

Páginaage 194 ofde 321

= VTrue ThenerdaderTrueo EntoncesThen Forma.FormaActiveFormaActiveForm.BackColor.BackColordeF ondo = Systemistemaystem.Dibujarawingrawing.Color.RRojoojoed CuadrodeTextoTextBoxBox1.Texto = "Alerta RojaRed Alerta Roja" CuadrodeMenssajesMessageBoxgeBox.ShowMostrarShow("¡Peli groDanger! ¡PeligroDanger!") End IfEndTermina IfSi Creae e iniciae tsu proyectoBuild and start your project. Marcaque la casilla de verificación y hagahaz clic en el botónCheck the check box and click the "UnOne SiIf"One If" button. Se evalúa el enunciado de condición únicaThe single condition statement is evaluated. Como es Verdadero, todaos laos enunciadosIt's True, so all of the instrucciones conditcionales que dependen de él se ejecutan a su vez statements under it are executed in turn. El The programa funciona works exactamente igual ly the same as it que como lo hacía antesdid before. Sin embargoThis time, esta vez laos tres instruccionesenunciadoshowever, the three conditcionales ¡comparten una única condiciónstatements share a single condition, lo que requiere menos código y éste es ! Utilizando una única condición con múltiples enusnciadosing a single condition with multiple conditcionales que dependen de ella, requiere menos código y el código es más fácil de comprender statements under it takes less code and the code is easier to understand.

Unidadt 08 – WhatIf, Texas

Páginaage 195 ofde 321

Opción múltipleMultiple Choice ¿Recuerdas cuando ordené cerveza de raíz utilizando sólo preguntas para responder sí o noRemember when I ordered root beer using only yes or no questions? Utilicé unaI used a serie de preguntas para reducir las posibilidades y responder una pregunta de opción múltiples of questions to narrow down the possibilities and answer a multiple choice question. Aunque llevó algo de tiempo, finalmente obtuve lo que deseabaEven though it took a while, I eventually got what I wanted. Usted pPuedes plantear preguntas de opción múltipleYou en un código utilizando simplemente unacan set up multiple choice questions in code also by simply using a serie des instruccionesenunciadosof "SIfiIf...ThenEntoncesThen" statements. Tengo un excelente ejemplo para mostrar estoI've got a great example that demonstrates this. Iniciae una nueva aAplicación deStart a new Windows denominadaApplication called Elegir Un ChooseAColor. Añadagrega tresdd three botones de radioradiobuttons y un botón deand a commando a la button to Forma 1. Utilizace la vVentana dese the Propiedades para especificar las siguientes propiedadeserties Window to set the following properties. Chambiaie elnge the tTexto del Botón de RadioRadioButton of RadioButton 1 ato "RojoRojoed". Chambiae elnge the tTexto del of Botón de RadioButtonRadioButton 2 ato "AmarilloYellow". Chambie elnge the tTexto del of Botón de RadioButtonRadioButton 3 ato "VerdeGreen". Chambiiaenge el the tTexto del Buttonotón of Button1 toa "ColoréameColor Me". Ajustae la propiedad MarcadaSet the Checked propert dely of Botón de RadioButtonRadioButton 1 en Verdaderto Trueo. HagaHaz doble clic en el Buttonotón Double click Button1 para editar el código de evento de clicto edit the click event code. Añadagrega las siguientes líneas de códigodd the following lines of code: Dim myyiColor AsComoAs Systemistemaystem.DrawingibujarDrawing.Color IfSiIf BotóndeRadioButtonRadioButton1.MarcadCheckedoChecked = VTrueerdaderoTrue ThenEntoncesThen myyiColor = Syistemaystem.Dibujarawingrawing.Color.RRojoojoed End IfEndTermina IfSi IfSiIf BotóndeRRadioButtonRadioButton2.CheckedMarcadoChecked = VTrueerdaderoTrue ThenEntoncesThen Unidadt 08 – WhatIf, Texas

Páginaage 196 ofde 321

myyiColor = Systemistemaystem.Dibujarawingrawing.Color.AmarilloAmarillo Yellow End IfEndTermina SiIf IfSiIf BotóndeRadioButtonRadioButton3.CheckedMarcadoChecked = VTrue erdaderoTrue EThentoncesThen myyiColor = Syistemaystem.Drawingibujarrawing.Color.VerdeVerdeGreen End IfEndTermina IfSi Forma.FormaActiveFormaForm.BackColordeFondoBackcolor = myyiColor Creae e iniciae tsu proyectoBuild and start your project. Notae que el botón de radioNotice that the "Rojoed" se encuentra marcado. HagaHaz clic enradiobutton el botón is checked. Click the "Coloréame" Me" button. El formatoLaThe forma y los botones se colorean de rojo and buttons are colored red. Seleccionae unt a different botón de radioradiobutton distinto y hazgaand clic en el botónk the "Coloréame" Me" button. El¡LaThe formato yand los buotones se colorean de un color distintottons are colored a different color!.

Observae el códigoLook at the code. Se utiliza unaA serie de instruccionesenunciadoss of "IfSiIf...ThenEntoncesThen" para responder una pregunta de opción múltiplestatements is used to answer a multiple choice question: "¿QuéWhich botón de radioradiobutton se encuentra marcadois checked?" A medida que el código ejecuta una ordens code executes an order, el programa determina finalmente cuál de losthe program eventual tresly determines which of the botones de radio three radio buttons se encuentra marcadois checked. El programa ejecuta entonces el enunciadola instrucción condicional apropiadaoThen the program executes the appropriate conditional statement para especificar el to set the color.

Unidadt 08 – WhatIf, Texas

Páginaage 197 ofde 321

Operadores Booleanos en el Operators in el cCódigoode Hemos hablado de cómo puedes utilizarWe talked about how you can use los operadores Booleanos operators para unir expresiones y resolver to join expressions t problemas complejos deo lógicagether to solve complex Booleana logic problems. Veamos un ejemplo que utiliza el operador BooleanoLet's look at an example that uses YAND para crear una condición complejathe AND Boolean operator to build a complex condition.

Vamos aWe are going to modificar nuestra aplicación dey our Elegir Un ChooseAColor añadiendo una casilla de verificación que habilitará o deshabilitará la funcióonalidad del cambio de colorapplication by adding a checkbox that will enable or disable the color change functionality. Utilizaremos el ANDYWe'll use the AND Booleano para crear una condición más compleja que requiera que to build a more complex condition which requires that la casilla de verificación se encuentre marcada the checkbox para que el is checked or the color pueda cambiarsecan't be changed. Abrea tsu aplicaciónOpen your Elegir Un ChooseAColor application. En laOn Forma 1, añadaagrega una casilla de verificacióndd a checkbox. Chambiae la propiedad delnge the tTexto a property to "HabilitarEnable Colores". Editae el código de evento de clic de botón del Buttonotón the button click event code of Button1. Reemplaceza el código con lo siguientece the code with the following: Dim myyiColor AsComoAs Syiystema.Drawingibujarrawing.Color IfSiIf BotóndeRadioButtonRadioButton1.CheckedMarcadoChecked = VTrueerdaderoTrue AndYAnd CasilladeVerificaciónCheckBoxCheckBox1.CheckedMarcadaChecke d ThenEntoncesThen myyiColor = Syistystemema.Dibujarawingrawing.Color.RRojoojoed End IfEndTermina IfSi IfSiIf BotóndeRadioButtonRadioButton2.CheckedMarcadoChecked = VTrueerdaderoTrue AndYAnd CasilladeVerificaciónCheckBoxheckBox1.CheckedMarcadaChecked ThenEntoncesThen myyiColor = Syiystema.Drawingibujarawing.Color.AmarilloAmarilloYellow Unidadt 08 – WhatIf, Texas

Páginaage 198 ofde 321

End IfEndTermina IfSi IfSiIf BotóndeRadioButtonRadioButton3.CheckedMarcadoChecked = VTrue AnderdaderoTrue YAnd CasilladeVerificaciónCheckBoxheckBox1.CheckedMarcadaChecked EThenntoncesThen myyiColor = Syyistema.Dibujarawingrawing.Color.VerdeVerdeGreen End IfTerminaEn If Si Forma.FormaActiveFormeForma.BackColordeFondoBackcolor = myyiColor Creae e iniciae tsu proyectoBuild and start your project. HagaHaz clic en el botónClick the "Coloréame Me" button. ¡No sucede nadaNothing happens.! No hay cambio de colorr change. Ahora marqueca la casilla de verificaciónNow check the "HabilitarEnable Colores" y hagahaz clic de nuevo en el botóncheckbox and click the "Coloréame Me" button again. El formatoLaThe forma y los controles se colorean de rojo and controls are colored red. Esto es lo que está Teacher’s TipConsejoRecomendación para sucediendoHere's what's happening. el MaestroProfesor Añadimosgregamos el siguiente Algunos alumnos tienen problemasThis is an example código a la condición deWe added of a text box we can use for the Teacher’s the following code to the cada Guide.Some students have trouble con el uso de instrucciónenunciado condition of enunciados Si complejos with using complex (Booleanos) If statements. Los evitan, creando en each IfSiIf...ThenEntoncesThen lugar de ello programas más complejosThey avoid statement: AndYAnd CasilladeVerificaciónCheckBox heckBox1.CheckedMarcadaChecke d

Unidadt 08 – WhatIf, Texas

Teacher’s TipConsejoRecomendación para el MaestroProfesor Algunos alumnos tienen problemasThis is an example of a text box we can use for the Teacher’s Guide.Some students have trouble con el uso de enunciadosinstrucciones IfSi complejaos with using complex (Booleanaos) If statements. Los evitan, creando en lugar de ello programas más

Páginaage 199 ofde 321

Esto añadeagrega una condiciónThis adds an adicionalextra condition. Ahora las dosNow two condictiones deben ser ambas Verdaderas para que el color cambiemust both be True for the color to change. FPor ejemploxample, BotóndeRadioButton2RadioButton2.CheckedMarcadoChecked = VTrue AnderdaderoTrue YAnd CasilladeVerificaciónCheckBoxheckBox1.CheckedMarcadaChecked Éstos deben ser VerdaderosThese must both be True. Recuerdaemember, VerdaderoTru ANDYe AND Verdadero True = VerdaderoTrue. Si cualquiera de las If any of the conditciones en cualquiera de los lados del operador YAND es Falsa, entonces la expresión se eva on either side of the AND operator are False, then the expression will evalluará comouate to Falsa y el color no cambiaráe and the color will not change.

Recuerda, utiliza el operador AND cuando quieres que ambos operandos sean Verdadero. Utiliza el operador OR si requieres que solo uno de los operandos sea

Unidadt 08 – WhatIf, Texas

Páginaage 200 ofde 321

EntradaLlegada aEntering WhatIf Bueno, ¡lo hemos logradoWell, we made it! Ya estamos enHere we are in WhatIf, TX. Nunca dudé que lo lograríamosI had no doubt we'd make it. En el trayecto usted aprendióste otro tipo esencial de enunciadoinstrucción de código, el enunciadoOn our way you learned another essential type of code statement, the "IfSiIf...ThenEntoncesThen" statement. Ahora puedes hacer que tsus programas tengan mayores capacidadesNow you can give your programs some brains. ¡Pueden tomar decisiones por sí mismosThey can make decisions on their own now--—así que tenga cuidado en aquello que les pides que haganso be careful what you ask them to do! Tengo una Pruebaejercicio divertidoa para que usted loa realicehagas en elI've got a fun Prove It for you to do on the organizador personalPDA;. cCreo que lo realmente disfrutarás de éstaI think you'll really enjoy this one. No olvides efectuar sutu prueba examen deDon't forget your Verificación antes de que nos dirijamos al cComité de rRally para nuestro retoretoCheckpoint quiz before we head to the Rally Committee for our challenge.

Unidadt 08 – WhatIf, Texas

Páginaage 201 ofde 321

08 Pruebaove ItEjercicio 02 Encuesta de aAptitud en pProgrammming Aptitude aciónSurvey Sabemos que sete encuentras en este viaje de Reglas de Código porque has demostrado tsus aptitudes en el salón de clasesWe know you are on this Code Rules road trip because you demonstrated your aptitude in the classroom. ElThe cComité del rRally de Reglas VialesRoad Rules Rally Committee desearía disponer de una simple formato de encuesta para ayudar a que otros alumnos decidan si deben tomar un curso de programación o nowould like a simple survey form to help other students decide if they should take a programming course.

Encuesta de aptitudes En este Ejercicio deberás crear un formato de encuesta interactivo. Usando una escala del 1 al 10 el usuario debe estimar su aptitud para diferentes habilidades de programación. El programa suma sus puntajes y proporciona una evaluación de la aptitud de programación. El archivo 08_proveit02_files contiene instrucciones para este Ejercicio y archivos de apoyo que podrás necesitar.

Dibujae unaPaint a formato como éstea like this:

Unidadt 08 – WhatIf, Texas

Páginaage 202 ofde 321

Cuando se hagahaces clic en el botónWhen the Evaluarte button is clicked, añadagrega los números en los 6 cuadros de textodd the numbers in the 6 text boxes. Dado que el contenido de un cuadro de texto es una cadena, no un númeroSince the content of a text box is a string, not a number, usted ttendrás que convertirloyou will have to convert it. Visual Basic.NET provee varias formas de hacer esto. La siguiente es una de ellasides several ways to do this. Here is one. X = Val(TextBoxCuadrodeTextBox1.Texto) La funciónThe Val function calcula el valor de la cadenates the value of the string. Después usted puedes asignarlo a una variable comoThen you can assign it to a variable such as X.

• Si el número es mayor aIf the number is greater than 40, assignae un mensaje al cuadro de texto de a message to the Evaluación, indicando que el alumno es un excelente candidato para tomar un cursotion text box indicating that the student is an excellent candidate for a de programaciónming course. • Si el número es deIf the number is from 20 –a 39, entonces diílegale al alumno que su éxito en la programación es incierto, pero que es

Unidadt 08 – WhatIf, Texas

Páginaage 203 ofde 321

bienvenido a intentarlo then tell the student that their programming success is uncertain but that they are welcome to try.

• Si el número es menor aIf the number is below 20, entonces estimule al alumno a tomar otra carrera then encourage the student to take another career path.

¿Cuál es tsu propio puntajeWhat is your own score?

Cuando tsuWhen your programa isea correcto, muéstraeselo a tsushow it to your instructor. Teacher’s TipConsejoRecomendación para el MaestroProfesor

Al calificar estea Pruebaove ItThis is an example of a text box we can use for the Teacher’s Guide.When grading this Prove It, verifique que exactamentey that

Unidadt 08 – WhatIf, Texas

Páginaage 204 ofde 321

Unidadt 08 – WhatIf, Texas

Páginaage 205 ofde 321

08 RetoRetoChallenge

Zap

¿Recuerdas elmember that juego de arcadaarcade game que vimos en la cCena de ayer, en donde intentasteó hacer clic en el objetivo en movimientowe saw in the Diner last night where you try to click on the moving target? Vamos a Teacher’s TipConsejoRecomendación para el MaestroProfesor Teacher’s TipConsejoRecomendación EsteThis an example of a text box we can use for para el isMaestroProfesor

the Teacher’s Guide.This programa es más grande que los programas anteriores is larger than EsteThis is an example of a text box we canprevious use for programs. Puede resultar programa útil revisarIt may grande be the Teacher’s Guide.This es más que los programas anteriores is larger than previous programs. Puede resultar útil revisarIt may be

ZapTemas en Zap Escribe un juego donde debes tratar de hacer clic en un objetivo en movimiento. El archivo 08_challenge_files contiene instrucciones para este reto y los archivos de apoyo que necesitarás.Temas en

crearloCreémoslo conLet’s create it with Visual Basic.NET. Requerirá algunas cosas que no hemos cubiertoIt will require some things we específicamentehaven’t specifically covered, así que lea con cuidado estas instruccionesso read these instructions carefully.

Cambiae lashange the dimensiones de laof Forma 1 a una Altura deto a Height of 250 y un Ancho deand a Width of 500550. Llamae a la formatoName the form Zap. Añadagrega controles a la formato, para que se vea asídd controls to the form so it looks like this:

Unidadt 08 – WhatIf, Texas

Páginaage 206 ofde 321

Unidadt 08 – WhatIf, Texas

Páginaage 207 ofde 321

ElThe propósitoobjecto del juego es hacer clic en el objetivo en movimiento of the game is to click the moving target. El código moverá la imagen, dificultando hacerle clicThe code will move the picture, making it hard to click. El botón Inicio restablece inicializa e inicia el juegoThe Start button initializes and starts the game;. eEl botón Detener termina el juegoThe Stop button ends the game y. eEl botón Salir cierra el programa. Los tresThe Exit button closes the program. The three bBotones de rRadioRadioButtons seare utilizan para determinar el nivel de habilidadessed to set the skill level. Añadagrega un Cuadro de iImagen para mantenercolocar el gráfico objetivodd a PictureBox to hold the target graphic. El gráfico objetivoThe target graphic, 001_Challenge_Target.gif, se descarga junto con las instruccionesis downloaded along with the instructions. Eligeja la imagen objetivo que hayas descargado como imagen para el Cuadro de ImagenChoose the target image you downloaded as the picture for the Picture Box. Seleccionaet Estirar Imagen para la propiedad SizeModoe de EstiramientoStretchImage for the SizeMode property.

EsteThis programa utiliza un Cronómetro para hacer que el código se ejecute en intervalos de tiempo específicos uses a Timer to cause code to execute at specific time intervals. Después de haber dibujado ella formato, encuentrae el control del Cronómetro en el Cuadro de hHerramientas y hagahaz doble clicAfter you have painted the form, find the Timer control in the Toolbox and double-click it. Se colocará debajo del laIt will be placed below the formato. Es It is parte del la of the formato, pero e but is invisible para el usuarioto the user. 1. Creae unaate a variable de tipoof type EnteroInteger parato countar los aciertos the successful hits.

2. Creaaete una variable de tipoof type EnteroInteger para contar los intentos totalesto count the total attempts.

3. En el botón Inicio hagahaz clic en evento, añadagrega el código para realizar lo siguienteIn the Start button click event, add code to do the following: --Ajustae stus contadores de Tirosaciertos e intentosy tTotalesSet your Hits and Total counters en cto zero. --Ajuste la propiedad Habilitar del cCronómetro en VerdaderoSet the Enable property of the Timer to True.

Unidadt 08 – WhatIf, Texas

Páginaage 208 ofde 321

4.

Agregañada el código al evento de clic del botón de Inicio para realizar lo siguientedd code to the Start button click event to do the following: --Si elIf Botón de RadioRadioButton Radiobutton1 ies VerdaderoTrue, ajustae la propiedad de Intervalo del Cronómetro en set the Timer Interval property to 900, y el ancho y altura de la imagen enand the picture width and height to 40. --Si elIf Botón de Radiobutton RadioButton 2 ies VerdaderoTrue, ajustae la propiedad de Intervalo del Cronómetro enset the Timer Interval property to 850, y el ancho y altura de la imagen enand the picture width and height to 35. --Si elIf Botón de RadiobuttonRadioButton 3 ies VerdaderoTrue, ajustae la propiedad de Intervalo del Cronómetro enset the Timer Interval property to 800, y el ancho y altura de la imagen en and the picture width and height to 30.

5. En el evento de clic del botón DetenerIn the Stop button click event, ajustae la propiedad Habilitar del cCronómetro enset the Enable property of the Timer to Falseo.

6. En el evento de clic del botón Salir, finalizace el programa utilizando el comando EndFinIn the Exit button click event, end the program using the End command.

•7. En el evento de clic en el Cuadro de ImagenIn the PictureBox click

event, añadagrega el código que aumenta por un punto el marcador delañadirá uno aldd code that will add one to the contador de Aciertosaciertos Hits counter y póngalo en el Cuadro de Texto marcado comoand put it into the TextBox labeled "AciertosHits".

•8. En el evento Cdel CronómetroIn the Timer event (hagahaz double -clic

en el cronómetro para obtener la ubicación del códigok the timer to get to the code location), usted añadeagrega el siguiente código para mover el objetivoyou add the following code to move the target. Presupone que tsu It assumes your formato tiene un tamaño de is 250 porby 550 in size. Dim MyRandomGenerator As System.Random MyRandomGenerator = New System.Random Dim RandomX As Integer Dim RandomY As Integer RandomX = MyRandomGenerator.Next(1, 550)

Unidadt 08 – WhatIf, Texas

Páginaage 209 ofde 321

RandomY = MyRandomGenerator.Next(1, 250) PictureBox1.SetBounds(RandomX, RandomY, Me.Width, Me.Height, System.Windows.Forms.BoundsSpecified.Location)Dim MyiGeneradorAleatorioRandomGenerator ComoAs Syistema.AleatorioRandom MiyRandomGeneratdorAleatorio = Nuevoew Siystema.AleatorioRandom Dim AleatorioRandomX ComoAs EnteroInteger Dim AleatorioRandomY ComoAs EnteroInteger AleatorioRandomX = MiyRandomGeneratdorAleatorio.NextSiguiente(1, 550) AleatorioRandomY = MiyRandomGeneratdorAleatorio.NextSiguiente(1, 250) CuadrodeImagenPictureBox1.FijarRebotesSetBounds(Aleato rioRandomX, AleatorioRandomY, YoMe.AnchoWidth, YoMe.AlturaHeight, Syistema.Windows.Formas.RebotesEspecificadoBoundsSpeci fied.LocationUbicación) •9. En

el evento del Cronómetro, después del código anterior, agregañadaIn the Timer event, after the above code, add 1 a los Intentos totales y colocaque elto the Total attempts and place the resultado en el Cuadro de in the Texto marcado comoBox labeled "Total".

10.10. HagaHaz dDouble -clic en el cuadro de imagen parak the picture box to crear el eventote the de cliconclick del cuadro de imagenevent of the picture box. Agregañadadd 1 alto the contador de AciertosHits counter.

Extensióon / Desviaciónisparo LateralSide Trip

Al inicio del código del de cronómetro, ajustae el color de fondo de la formato en grisAt the beginning of the timer code, set the background color of the form to gray. Cuando se golpeealcanza el objetivo, ajustae el color de fondo de la formato en rojoWhen the target is hit, set the background color of the form to red.

Unidadt 08 – WhatIf, Texas

Páginaage 210 ofde 321

¿Las computadoras toman las decsisciones basadas en Verdadero/Falso Hacer/Hasta Estado de Byte

¿Cuáando eleloperador AND regresa un ¿Cuáando operador AND rregresa valor de TrueTrue? Temas en un valor de TrueVerdadero?Temas en Cuando el lado izquierdo o el ladoo Cuando el lado izquierdo derecho es TrueVerdadero

Cuando ambos lados son TrueVerdadero

Cuando ambos lados son True

No se puede determinarTemas en

¿Cuál es el significado de estTemas en Cuadrar un un número Cuadrar número

Noigual No igual Lo Temasen en Lo mismo mismo que queTemas

¿Cuando el operador OR regresa un valor de TrueVerdadero?Temas en Cuando el lado izquierdo o el lado Cuando el lado izquierdo derecho es TrueVerdadero

o el lado derecho es True Cuando ambos ladoslados son Cuando ambos TrueVerdadero

son

True

No se puede determinarTemas en

Unidadt 08 – WhatIf, Texas

el

lado derecho es True

Páginaage 211 ofde 321

Temas en el camino a IfElse:

IfElse

Ampliación de If...Then Instrucciones If...Then anidadas Condiciones contrarias If...Then...Else Introducción a If Instrucciones If en C# y J# Operadores en C# y J# Entrada a IfElse, NM

Unidad 09 - IfElse, New Mexico

Página 212 de 321

IfElse, Nuevo México Cliff explicó muy bien las instrucción If...Then, y ya las entiendes. Ahora tus programas pueden tomar decisiones. Casi es como si pensaran. Te indicó cómo usar los operadores booleanos, trabajar con lógica booleana y programar instruccións If...Then en Visual Basic NET. Cliff usó algunos ejemplos muy buenos para demostrar el uso de las instruccións “If...Then” para tomar decisiones de opción múltiple, y cómo usar operadores booleanos para formar condiciones complejas.

Cliff te llevará a tu próximo destino: IfElse, Nuevo México. Los paisajes son espectaculares, aunque en esta época del año hace mucho calor. Como estamos en el desierto no habrá muchas gasolineras por el camino. Si tenemos suficiente gasolina será un recorrido hermoso, de lo contrario, nos espera una caminata muy larga. En cualquier caso les enseñaré algunos trucos ingeniosos que harán todavía más útiles a las instruccións “If...Then”. Al terminar este viaje podrás hacer que tus programas tomen casi cualquier decisión que desaes.

Unidad 09 - IfElse, New Mexico

Página 213 de 321

Ampliación de If...Then Ya conoces cómo configurar una instrucción If...Then en Visual Basic.Net. Es mucho lo que se puede hacer sólo con ella. Si usas más de una instrucción If...Then, tu programa puede tomar un sin número de decisiones. Hasta podrá contestar

preguntas de opción múltiple, usando una serie de instruccións If...Then. Cliff te enseñó también cómo las instrucciónes

condicionales múltiples pueden compartir una sola condición. Si la condición es Cierto, todas las instruccións condicionales

que haya bajo ella se ejecutan en orden. Esto simplifica tu programa y facilita leerlo y corregirlo.

Al usar instruccións simples If...Then, puedes escribir un programa para hacer cualquier tipo de decisión, sin importar lo

compleja que sea. Sin embargo, la escritura de ese programa se puede complicar mucho, y a veces hasta confundir algo – sin mencionar lo repetitiva que puede ser. Por eso voy a enseñarte algunos trucos de programación que simplificarán tu vida y le agregarán una funcionalidad poderosa a la instrucción If...Then simple. Primero te mostraré cómo anidar las

instrucciones If...Then. Después te enseñaré cómo codificar las If...Then...Else. Por último te mostraré algunas diferencias entre la escritura de esas instrucciones en Visual Basic.NET y C# o J#. ¿Listos? ¡Comencemos!

Unidad 09 - IfElse, New Mexico

Página 214 de 321

Declaraciones If...Then anidadas Sólo para simplificar, Cliff no tocó un secretillo acerca de If...Then. En una instrucción If...Then, puedes tener otra If...Then como instrucción condicional. ¡Piensa lo que significa! La segunda instrucción If...Then sólo se ejecuta si la condición de la primera resulta Cierto. La primera instrucción contiene a la segunda. A esto se le llama “anidamiento” porque una instrucción If...Then se anida, o cabe dentro de otra. Primero veamos un ejemplo de la vida real. Si tengo $200 y si la tienda está abierta, compraré un reproductor MP3...

En pseudo código, eso se vería como sigue: If tengo $200 Then If la tienda está abierta Then Compraré un reproductor MP3 Recomendación para el End If profesor End If Es como dos instruccións If...Then en una. La primera Las sangrías y el alineamiento son instrucción If...Then envuelve a la segunda. La primera vitales para evitar errores al escribir instruccións anidadas If. contiene una condición (si tengo $200) y una instrucción condicional (si la tienda está abierta, compraré un reproductor MP3); esta última es otra instrucción If...Then. La segunda If...Then tiene su propia condición (si la tienda está abierta) y su propia instrucción condicional (compraré un reproductor MP3). Como puedes ver, debo tener $200 y la tienda debe estar abierta, porque de lo contrario no tendré el reproductor MP3. Ambas condiciones deben ser Cierto. Si no tengo $200, la condición de la primera instrucción If...Then es Falso, y no importa que la tienda esté abierta o no -- no habrá reproductor MP3. Recomendación para el profesor

Algunos alumnos observarán que el ejemplo anterior se puede escribir como instrucción If (booleana) compuesta: Si tengo $200 y la tienda está abierta. El anidamiento es útil cuando hay una serie de instrucciones If en la parte con sangría, o después en la unidad, cuando se introduce la parte Else de If.

Unidad 09 - IfElse, New Mexico

Página 215 de 321

Veamos ahora algún otro programa. Iniciaremos una nueva aplicación llamada Anidamiento. Agregaremos dos casillas de verificación y un botón de comando a Form1. Cambia el texto del Button1 a “¿Quién se registra?” Haz doble clic en Button1 para editar el código del evento clic. Agrega el siguiente código:

Si el celular de Nikki está encendido y acepta mis disculpas, regresará y me llevará

If CheckBox1.Checked = True Then If CheckBox2.Checked = True Then MessageBox.Show("All are checked.") End If End If Crea e inicia tu aplicación. Elige la primera casilla de verificación y después haz clic en el botón “¿Quién se registra?” ¿Qué sucede? Bueno, nada sucede. Ahora elige la segunda casilla de verificación y haz clic de nuevo en el botón “¿Quién se registra?” Esta vez un cuadro de mensaje muestra el mensaje “Ambos están registrados.” Como puedes ver, la primera línea del código es una condición: If CheckBox1.Checked = True Then Esta condición contiene una instrucción condicional que en realidad es otra instrucción If...Then, anidada en la primera. La instrucción If...Then anidada tiene su propia condición: If CheckBox2.Checked = True Then También tiene su propia instrucción condicional: MessageBox.Show("All are checked.") Entonces ¿qué sucede? Si la primera condición es Cierto (la casilla de verificación 1 está marcada), entonces se ejecuta la instrucción condicional. Sucede que la instrucción condicional es una segunda instrucción If...Then. Si la segunda condición es Cierto (la casilla de verificación 2 está marcada), entonces se ejecuta la instrucción condicional que muestra el cuadro de mensaje. Las dos condiciones deben ser Cierto para que aparezca el cuadro de mensaje. Esto es, tanto la casilla de verificación 1 como la 2 deben estar elegidas, porque de lo contrario no aparecerá el cuadro de mensaje.

Unidad 09 - IfElse, New Mexico

Página 216 de 321

En el código anterior, observa que la segunda instrucción If...Then está contenida dentro de la primera. El End If de la primera instrucción If...Then se encuentra después del End If de la segunda instrucción If...Then. La segunda está anidada, o contenida, en la primera. Puedes usar el anidamiento para combinar varias instrucciones If...Then para que sólo se ejecute una instrucción condicional si toda una serie de condiciones es Cierto. Puedes anidar instrucciones If....Then anidadas. De hecho, puedes anidar instrucciones If...Then lo profundo que quieres, aunque con frecuencia cuando hay más de tres capas de anidamiento se vuelve confuso y difícil para corregir errores. Asegúrate de sangrar las instrucciones interiores>

Unidad 09 - IfElse, New Mexico

Página 217 de 321

Condiciones opuestas Hasta ahora nuestras condiciones han sido algo unilaterales. Si la condición es Cierto, entonces se ejecuta la instrucción

condicional. Si la condición es Falso, nada sucede. ¿Y si quisiéramos que pasara algo cuando la condición sea Falso? ¿Y si quisiéramos ejecutar otras líneas del programa?

Bien, una posibilidad es escribir otra instrucción If...Then con la condición opuesta y su propia instrucción condicional para ejecutar. ¡Escribamos el código! Inicia una nueva aplicación llamada IfThenOtherwise. Agrégale un botón de comando y

dos casillas de verificación a Form1. Cambia la propiedad de Texto de Button1 a “IfThen.” Ponga el siguiente código en el evento clic de Button1:

If CheckBox1.Checked = True Then Form.ActiveForm.BackColor = System.Drawing.Color.Red End If If CheckBox1.Checked = False Then Form.ActiveForm.BackColor = System.Drawing.Color.Blue End If Crea e inicie su proyecto. Haz clic en el botón “If Then.” El formato se vuelve azul. Elige la casilla de verificación 1 y haz clic de nuevo en el botón “IfThen”. El formato se vuelve roja.

¿Cómo trabaja este código? En la primera instrucción If...Then se comprueba la condición para ver si CheckBox1.Checked = True. Si es Cierto, el color de fondo del formato se pone en rojo. En la segunda instrucción If...Then se comprueba la condición para ver si CheckBox1.Checked = False (la condición contraria). Si es Falso, el color de fondo de la forma se

pone en azul. Es algo repetitivo, pero funciona. Un problema con este programa es que debes escribir un bloque de código casi idéntico, para la condición contraria. Esto puede ser tardado, y se presta a errores.

Unidad 09 - IfElse, New Mexico

Página 218 de 321

Es tardado y puede haber errores al escribir dos instrucciones If...Then. En vez de ello, usa una nueva clase de instrucción llamada If...Then...Else, para simplificar tu programa.

Unidad 09 - IfElse, New Mexico

Página 219 de 321

If…Then…Else Visual Basic.NET ofrece una alternativa que elimina las líneas repetitivas del programa, y hace que éste sea más claro y fácil de leer. Esta alternativa es la instrucción If...Then...Else, la cual sólo necesita una condición, pero proporciona

instrucciones condicionales separadas para cada resultado (Cierto o Falso). La instrucción If...Then...Else se usa en lugar

de escribir dos instrucciones If...Then que tengan condiciones contrarias. La sintaxis es la siguiente:

If condición Then instrucción condicional 1 Else instrucción condicional 2 End If ¿Cómo trabaja este código? Primero, se evalúa la condición. Si ésa es Cierto, entonces se ejecuta la instrucción condicional

1. En caso contrario (else) se ejecuta la instrucción condicional 2.

Ahora modifiquemos nuestra aplicación IfThenOtherwise para usar una instrucción If...Then...Else y demostrar que

funciona igual que dos instrucciones If...Then independientes, pero contrarias. Agrega un segundo botón a Form1. Cambia la propiedad de Texto del Button2 a “IfThenElse.” Al evento clic en botón de Button2 agrega el siguiente código:

If CheckBox1.Checked = True Then Form.ActiveForm.BackColor = System.Drawing.Color.Red Else Form.ActiveForm.BackColor = System.Drawing.Color.Blue End If Crea e inicia tu proyecto. Haz clic en el botón “IfThenElse.” El formato se vuelve azul. Elige la casilla de verificación 1 y haz

clic de nuevo en el botón “IfThenElse”. El formato se vuelve rojo. El programa hace lo mismo cuando usa una instrucción IfThenElse que cuando usaba dos instrucciones IfThen. El código funciona porque se verifica la condición, para ver si la casilla de verificación está marcada (CheckBox1.Checked = True). Si es Cierto, la primera instrucción condicional se

ejecuta y el formato se vuelve rojo. Si no es así (Else), se ejecuta la segunda instrucción condicional (la que está después de Else) y el formato se vuelve azul.

Veamos otro ejemplo de If...Then...Else. Vamos a modificar la aplicación IfThenOtherwise, para incluir varias líneas de código en las instrucciones condicionales. Una instrucción If...Then...Else puede tener varias líneas de código para sus instrucciones condicionales después de las cláusulas If...Then y Else. Abre tu aplicación IfThenOtherwise. Quita el código del evento de clic en Button2 y cámbialo por el siguiente:

Unidad 09 - IfElse, New Mexico

Observa que las instrucciones condicionales después de los renglones If...Then...Else lleven una sangría. Esto lo hace Visual Studio.Net de manera automática, y ayuda a mantener su programa ordenado y bien legible.

Página 220 de 321

If CheckBox1.Checked = True Then Form.ActiveForm.BackColor = System.Drawing.Color.Red MessageBox.Show("Soy rojo.") TextBox1.Text = "Soy rojo." Else Form.ActiveForm.BackColor = System.Drawing.Color.Blue MessageBox.Show("Soy azul.") TextBox1.Text = "Soy azul:" End If Crea e inicia tu proyecto. Haz clic en el botón “IfThenElse” y suceden tres cosas. Ahora elige la casilla de verificación 1 y haz clic de nuevo en el botón “IfThenElse” y suceden tres cosas distintas.

Introducción a If

Ahora usaremos las funciones de depuración de Visual Studio.NET para entrar al código en una instrucción If...Then...Else. De este modo verás cómo funciona desde la perspectiva del código. Crea una nueva aplicación de Windows llamada StepInIf. Agrega un sólo botón de comando a Form1. Pon la propiedad de verificación de la casilla de verificación 1 en True. Cuando arranca la aplicación se marcará la casilla de verificación.

Recomendación para el profesor

Anime a los alumnos a recorrer realmente el código, y no sólo que lo lean.

Haz doble clic en el botón de comando para editar el código del evento clic. Agrega el siguiente código:

Dim MyValue As Integer MiValor = 1 If CheckBox1.Checked = True Then MyValue = 2 Else MyValue = 3 End If 1. Pon un punto de interrupción en la primera línea del código (MyValue = 1) haciendo doble clic en la zona gris a la izquierda del código, o haciendo clic derecho y escogiendo Insertar punto de interrupción.

2. Crea e inicia el proyecto. Cuando aparece el formato, haz clic en el botón. El código se ejecuta hasta la línea que tiene el punto de interrupción.

Unidad 09 - IfElse, New Mexico

Página 221 de 321

3. Oprime la tecla F11 para ejecutar la línea de código actual (MyValue = 1). Se destaca el siguiente renglón del código.

Unidad 09 - IfElse, New Mexico

Página 222 de 321

4. Oprime la tecla F11 para ejecutar la línea de código actual (If CheckBox1.Checked = True Then). Como la casilla de verificación 1 (CheckBox1) está elegida, el siguiente renglón del código que se debe destacar es MyValue=2. 5. Oprime la tecla F11 para ejecutar la línea de código actual (MyValue = 2). Se destaca la siguiente línea del código.

6. Oprime la tecla F11 para ejecutar la línea de código actual (End If). Se destaca la siguiente línea del código.

7. Oprime la tecla F11 para ejecutar la línea de código actual (End Sub). Aparece de nuevo el formato.

Unidad 09 - IfElse, New Mexico

Página 223 de 321

8. Deselecciona la casilla de verificación 1 (CheckBox1) y haz clic en el botón. Repite el proceso paso a paso, oprimiendo repetidamente la tecla F11 y viendo que renglones de programa se destacan a medida que se ejecuta ese código. Esta vez se ejecuta la cláusula Else seguida por la línea MyValue = 3.

¡Muchas posibilidades! Ahora ves cómo funciona en realidad una instrucción If...Then...Else.

Unidad 09 - IfElse, New Mexico

Página 224 de 321

Practicaremos ahora lo que hemos aprendido.

09 Ejercicio 01 golf

Marcadores de

¿Nos divertimos jugando golf esta mañana, no es cierto? Bien, usted se divirtió, pero ¡mi marcador fue horrible! Calculemos los resultados. Prepara un formato como este:

Marcadores de golf Debes crear un formato que muestre los marcadores de golf y algunos cálculos relacionados. El archivo 09_proveit01_files contiene instrucciones para este ejercicio y todo archivo de soporte que necesitas.

Cuando haces clic en el botón Calcular, se calcula el marcador promedio en el golf. Como el contenido de un cuadro de texto es una cadena y no un número, habrá que convertirlo en un número. Visual Basic.Net permite varias formas de hacerlo. Veamos una. X = Val(TextBox1.Texto) La función Val calcula el valor de la cadena. Entonces puedes asignarla a una variable como X. Para cada jugador: •

Si su marcador es menor que el promedio, pon un mensaje como "Buen marcador" en la etiqueta correspondiente; si no es así diga "Siga practicando”.

La etiqueta Campos de texto debe estar libre cuando el programa se inicie. Una vez que tu programa funcione bien, muéstraselo a tu instructor.

Unidad 09 - IfElse, New Mexico

Página 225 de 321

Instrucciones If en C# y J# Ya te mostré las sintaxis y algunos ejemplos de las instrucciones If...Then e If...Then...Else en Visual Basic.NET. Ahora dejaré que Dirk y Jen te muestren cómo codificarlos en C# y en J#.

C# y J# tienen instrucciones que trabajan igual que If...Then e

If...Then...Else en Visual Basic.NET; se usan en la misma forma. Sin

Recomendación para el profesor

Los alumnos avanzados podrán tomar un programa terminado de Visual Basic y escribirlo en C# o en J#.

embargo, su sintaxis es algo diferente. También tienen condiciones e instrucciones convencionales. Te mostraré un ejemplo rápido en C# y después te describiré los detalles.

int MiEdad; MiEdad=3; if (MiEdad==3) { MessageBox.Show("Tengo 3."); MessageBox.Show("Todavía tengo 3."); } Primero declaramos una variable de tipo entero, llamada MiEdad, y después la igualamos a un valor inicial. A continuación iniciamos nuestra instrucción con la palabra “if” – observa que está en minúsculas. Después, nuestra condición es (Piedad==3). La condición se encierra entre paréntesis. Apuesto que te estás preguntando que hace aquí el doble signo igual. Bien, es el símbolo que usa C# para comparar un operador, en lugar de un solo igual que usa Visual Basic.NET. Las instrucciones condicionales se encierran entre llaves { y }. Para que el código sea más legible, algunos programadores ponen las llaves en renglones separados. Observa que cada una de las instrucciones condicionales tienen al final punto y coma. También observa que la palabra “Then” no se usa. ¿Y en J#? Bien, en este caso, el código en J# es exactamente igual que en C#.

Unidad 09 - IfElse, New Mexico

Página 226 de 321

Veamos ahora una instrucción “If...Then...Else” en C#. Busca las semejanzas y las diferencias entre esta instrucción en C# y la misma instrucción en Visual Basic.NET.

int MiEdad; MiEdad=3; if (MiEdad==2) { MessageBox.Show("Tengo 2."); MessageBox.Show("Todavía tengo 2."); } else { MessageBox.Show("Tengo 3."); MessageBox.Show("Todavía tengo 3."); } Observa de nuevo que la condición se encierra entre paréntesis. También observa que hay dos grupos de instrucciones condicionales, uno después de la condición y otro después de “else”. Cada grupo está encerrado en llaves. Ve que cada una de las instrucciones condicionales termina en un punto y coma. No se usa la palabra “Then”. En J#, el código para la instrucción If...Then...Else es exactamente igual que en C#.

Unidad 09 - IfElse, New Mexico

Página 227 de 321

Operadores en C# y en J#

Hay un par de cosas más que debes conocer acerca de las diferencias entre Visual Basic.NET y C# o J# al formar instrucciones “If...Then” e “If...Then...Else.” Primero, los operadores Booleanos usan distintos caracteres. En lugar de And, Or, y Not, C# y J# usan &&, ||, y ! Ve la tabla siguiente, que muestra las diferencias. Operador booleano AND OR NOT

Visual Basic.NET And Or Not

C#

J#

&& || !

&& || !

El siguiente es un ejemplo del uso de los operadores booleanos AND (&&) y NOT (!) en C#

bool seFacturó=true; bool seTardó=false; bool seHizo; seHizo = seFacturó && !seTardó; MessageBox.Show(isDone.ToString()); Observa que las palabras reservadas bool (tipo booleano), true y false están todas en minúsculas. Las variables seFacturó, seTardó y seHizo todas se declaran como bool (tipo booleano). Ve que el operador AND es && y que el operador NOT es ! en C#. Como C# y J# no convierten a una cadena en forma automática, se usa el método ToString. El mismo código en J# es el siguiente:

boolean seFActuró=true; boolean seTardó=false; boolean seHizo; seHizo=seFacturó && !seTardó; MessageBox.Show(System.Convert.ToString(seHizo));

Unidad 09 - IfElse, New Mexico

Página 228 de 321

El código se parece mucho al de C#, con pocas diferencias. Ve que se muestra Boolean (tipo booleano) como palabra completa. Las variables seFacturó, seTardó y seHizo todas se declaran como boolean (tipo booleano). En el código J# tuvimos que decir explícitamente “convertir el valor Booleano a una cadena, usando el método System.Convert.ToString” para poder mostrarlo en un cuadro de mensaje.

Algunos de los operadores de comparación también son distintos en C# y en J# respecto a los de Visual Basic.NET. Ya viste que se usa == en lugar de = para representar “es igual a”. Además, para representar no es igual, C# y J# usan != en lugar de . En la tabla siguiente se muestran los operadores de comparación. Operador de comparación Igual a Mayor que Menor que Mayor o igual que Menor o igual que No es igual a

Visual Basic.NET = > < >= < >= < >=
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF