0 calificaciones0% encontró este documento útil (0 votos)
518 vistas
Visual Basic Net
Nikki y Cliff conducen una camper en un rally de carretera para enseñar programación en Visual Basic .NET. El rally tiene 12 destinos donde los estudiantes aprenderán sobre diseño de programas, formatos, variables, condicionales, bucles y funciones. El documento incluye un plan de estudios detallado para la capacitación.
Descarga como PDF, TXT o lee en línea desde Scribd
0 calificaciones0% encontró este documento útil (0 votos)
518 vistas
Visual Basic Net
Nikki y Cliff conducen una camper en un rally de carretera para enseñar programación en Visual Basic .NET. El rally tiene 12 destinos donde los estudiantes aprenderán sobre diseño de programas, formatos, variables, condicionales, bucles y funciones. El documento incluye un plan de estudios detallado para la capacitación.
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 321
Page 1 of 321
REGLAS DEL CDIGO
Page 2 of 321 Hola! Bienvenido a Reglas del Cdigo! Estas a punto de emprender una aventura de aprendizaje a campo traviesa. Acompaa a Nikki y a Cliff mientras manejan la camper en el rally de carretera Reglas del Cdigo. Sus buenos amigos, Jen y Dirk, tambin participan y t ests 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 ensearn a programar en Visual Basic .Net usando Visual Studio .Net de Microsoft. En este viaje aprenders mucho de Nikki y Cliff. Ambos son guerreros del cdigo Visual Basic .Net. Ellos te pondrn en camino presentndote la programacin con Visual Studio .Net y antes de que te des cuenta escribirs tu primer programa, el tradicional Hello World. Ese es tan solo el principio. Pronto disears formatos, aadirs elementos como botones y cuadros de texto y configurars sus propiedades. Entonces comienza la diversin. Nikki y Cliff te ensearn las bases de la programacin: cmo usar variables, instrucciones de decisin, bucles y funciones. Les dars vida a los formatos y botones. Y entonces estars programando. Emocionado? Entonces vmonos! Esta es una lista de todos los destinos a los que viajars en el rally de carretera Reglas del Cdigo. Everywhere, Wisconsin (programacin y programadores) Ideal, Illinois (Visual Studio .Net y tu primer programa) Pseudo, Pennsylvania (planeacin y diseo 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 Cdigo te someter a una pequea prueba para que puedas presumir lo que has aprendido en el trayecto. Tambin tendrn algunos retos interesantes para que los codifiques. Estos son proyectos que querrs mostrarle a tus amigos. Listo? Vamonos!. Plan del curso
Unidad 0: Reglas del Cdigo Conducir la camper El Mapa de ruta y los destinos Los aparatos electrnicos de Nikki
Unidad 1: La programacin se encuentra en todo Los programas en la vida cotidiana Page 3 of 321 Lo que hacen los programadores Qu es un programa? Opciones de lenguajes de programacin Sintaxis del lenguaje de programacin Sintaxis de Visual Basic.Net
Unidad 2: Visual Studio .Net e IDE Visual Studio.Net Iniciar Visual Studio Usar Visual Studio.Net Pgina de inicio de IDE Mi perfil Crear un proyecto nuevo Ventana de proyecto nuevo Ventana de diseo de formato Ventana de cuadro de herramientas Mover y redimensionar un botn Agregar un cdigo al botn Crear tu solucin Creacin exitosa Creacin fallida Iniciar tu programa Desplegar el cuadro de mensaje La ventana de salida Guardar tu proyecto Archivos y carpetas de solucin para Visual Basic
Unidad 3: Pseudo-cdigo Tipos de instrucciones de cdigo Qu es un pseudo-cdigo? Comentarios de cdigo Pseudo-cdigo como comentario Sangra y espacio en blanco
Unidad 4: Formatos Aplicaciones de Windows Diseo del formato Uso del formato Propiedades del formato Controles y propiedades del formato Desencadenar eventos Cuadros de mensaje
Unidad 5: Propiedades y mtodos Propiedades Dnde inicia el cdigo Leer propiedades con el cdigo Configurar propiedades con el cdigo Page 4 of 321 IntelliSense y notacin de punto Mtodos Llamar mtodos con el cdigo
Unidad 6: Asignaciones y variables Asignaciones Tipos Tipos primitivos Qu son las variables? Por qu usar variables? Declarar variables Dnde declaras las variables? Inicializar las variables Usar las variables Entenderse con las variables Otros tipos de variables
Unidad 7: Operadores Operadores Operadores aritmticos Operadores de cadena El operador Not Usar operadores en instrucciones de asignacin Operadores aritmticos en accin El operador Not y los operadores concatenados en accin Depuracin del cdigo Entrar al cdigo
Unidad 8: If sencillo Tomar decisiones Lgica booleana Operadores booleanos Operadores de comparacin Ejecutar un cdigo condicional Instrucciones IfThen Ms de una instruccin IfThen Ms de una oracin condicional Opcin mltiple Operadores booleanos en el cdigo
Unidad 9: If complejo Ampliacin de If.Then Instrucciones IfThen anidados Condiciones contrarias IfThenElse Entrar a una instruccin IfThenElse Instrucciones If en C# y J# Operadores booleanos y operadores de comparacin en C# y J# Page 5 of 321
Unidad 10: Bucles finitos Bucles ForNext Entrar a un bucle ForNext Mil problemas de suma Sacar la basura Bucles dentro de bucles Letrero de salida Instrucciones ForNext en C# y J#
Unidad 11: Bucles infinitos Bucles infinitos Bucle Do While Entrar al Bucle Do While Bucle Do Until Bucles en accin 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 nmeros aleatorios Funciones de conversin Subrutinas y funciones en J# y
Page 6 of 321
Lista de tareas de Reglas del Cdigo
No. de tarea Titulo de la tarea Descripcin 01 Ejercicio 01 Computacin cotidiana Mencionar por lo menos cuatro ejemplos que demuestran que las computadoras forman parte de la vida cotidiana. 01 Ejercicio 02 Trabajos de informtica El uso de Internet o de otros recursos determina el salario inicial de los profesionistas de la tecnologa de la informacin en tu localidad. 01 Reto Ninguno No hay Reto para la unidad 01. 02 Ejercicio 01 Hello World Escribir un programa llamado Hello World. 02 Ejercicio 02 Mi nombre es Escribir un programa llamado Mi Nombre es. 02 Reto Comida rpida Desplegar imgenes de comida rpida. 03 Ejercicio 01 Empacar para el viaje Escribir un seudo cdigo para describir los pasos requeridos para empacar para tu viaje. 03 Ejercicio 02 Lavar los trastes Escribir un seudo cdigo para describir los pasos requeridos para lavar los trastes 03 Reto Pecera Contar el nmero de peces de cada color, luego calcular que porcentaje representa cada uno. 04 Ejercicio 01 Quin es quin Crear un formato y ajustar las propiedades del objeto colocado en el formato usando la ventana. Propiedades para que puedas aprender ms acerca de tus compaeros de viaje. 04 Ejercicio 02 El precio de la Pizza Ayudar a los clientes a evaluar el precio de su pizza. 04 Reto Gato Completar el programa para el juego Gato. 05 Ejercicio 01 Arco iris Crear un arco iris. 05 Ejercicio 02 Medidor de viaje Ajustar un control de desplazamiento usando el cdigo. 05 Reto Flores Ocultar y mostrar imgenes de flores usando el cdigo. 06 Ejercicio 01 Pedazo de Pi Mostrar el numero Pi en diferentes formatos. 06 Ejercicio 02 Rana saltarina Escribir un programa de juego de Rana saltarina. 06 Reto Bicho Encontrar 10 errores en un programa.
Page 7 of 321
No. de tarea Titulo de la tarea Descripcin 07 Ejercicio 01 Costo de la gasolina Calcular el costo de la gasolina. 07 Ejercicio 02 Depurar un programa Usar herramientas de depuracin de Visual Studio.NET. 07 Reto Calculadora de volumen Calcular el volumen de un cubo y de una esfera. 08 Ejercicio 01 Ideas de regalos Sugerir ideas de regalo para los vendedores. 08 Ejercicio 02 Programacin de una encuesta de aptitudes Escribir un programa de encuesta para ayudar a otros alumnos a decidir si deben tomar un curso de programacin. 08 Reto Zap Escribir un juego de Arcade donde se trate de hacer clic sobre un objetivo mvil. 09 Ejercicio 01 Puntuaciones de golf Calcular las puntuaciones de cuatro jugadores de golf. 09 Ejercicio 02 Cuadrado mgico Juego del cuadrado mgico. Construir un cuadro mgico de 3 x 3. 09 Reto Lanzar la moneda Dejar que la computadora lance una moneda varias veces. 10 Ejercicio 01 Contar conejos Cunto podra crecer la poblacin de conejos si vivieran para siempre? 10 Ejercicio 02 Nmeros primos Calcular nmeros primos. 10 Reto Roth IRA Escribir una calculadora de Roth IRA. 11 Ejercicio 01 Tiro al blanco Tratar de dar en el blanco en tiro con arco. 11 Ejercicio 02 En seguida Contar lanzamientos de moneda idnticos consecutivos. 11 Reto Calculadora GPA Calcular un promedio de calificaciones. 12 Ejercicio 01 Canadiense Convertir las unidades canadienses de medida a americanas y viceversa. 12 Ejercicio 02 Adivinador Con base en el nmero de vocales en la pregunta, generar una respuesta aleatoria. 12 Reto El gato y el ratn El gato persigue al ratn hasta que lo atrapa o el ratn escapa.
Page 8 of 321 Seguimiento de tareas del estudiante de Reglas de cdigo
No. de tarea Titulo de la tarea Fecha compromiso Completado 01 Ejercicio 01 Computacin cotidiana
01 Ejercicio 02 Trabaja?
01 Exmen Ninguno
02 Ejercicio 01 Hello World
02 Ejercicio 02 MiNombreEs
02 Exmen Comida rpida
03 Ejercicio 01 Empacar para el viaje
03 Ejercicio 02 Lavar los trastes
03 Exmen Pecera
04 Ejercicio 01 Quin es quin
04 Ejercicio 02 El precio de la pizza
04 Exmen Gato
05 Ejercicio 01 Arco iris
05 Ejercicio 02 Medidor de viaje
05 Exmen Flores
06 Ejercicio 01 Pedazo de Pi
06 Ejercicio 02 Salta rana
06 Exmen Splat
07 Ejercicio 01 Gas Cost
07 Ejercicio 02 Depurar un programa
07 Exmen Calculadora de volumen
08 Ejercicio 01 Ideas para regalos
08 Ejercicio 02 Encuesta de aptitudes de programacin
08 Exmen Zap
09 Ejercicio 01 Resultados de golf
Page 9 of 321 09 Ejercicio 02 Cuadrado mgico
09 Exmen Volado
10 Ejercicio 01 Contar conejos
10 Ejercicio 02 Nmeros primos
10 Exmen Roth IRA
11 Ejercicio 01 Blanco
11 Ejercicio 02 En fila
11 Exmen Calculadora GPA
12 Ejercicio 01 Conversin canadiense
12 Ejercicio 02 El adivino
12 Exmen El gato y el ratn
Unidad 1 - Everywhere, Wisconsin Pg. 10 de 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 programacin
Sintaxis del lenguaje de programacin
Sintaxis de Visual Basic.NET
Llegada a Everywhere
Unidad 1 - Everywhere, Wisconsin Pg. 11 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 mquinas de escribir. Una vez tuvo un error en su programa y los robots hicieron todas estas mquinas 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 todava ms sorprendente cuantas se han diseado o probado por medio de programas de computadora. No slo las calculadoras, los robots y las computadoras usan programas. Muchos aparatos y artculos de entretenimiento e incluso coches son programables.
Unidad 1 - Everywhere, Wisconsin Pg. 12 de 321 Esta camper, por ejemplo. Contiene como un milln de elementos que probablemente fueron diseados en una computadora. Es probable que la forma aerodinmica fue modelada y probada en un tnel de viento simulado en una computadora. Los asientos, la cocina y las camas probablemente fueron diseados en una computadora y despus 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 fbrica de mi padrastro. Hay mucho ms, como el sistema de posicionamiento global, el microondas, y el estreo en la camper. Todos se pueden programar y ajustar por medio de un control remoto. Esto significa que contienen programas para controlar lo que efectan cuando oprimes un botn. Estos programas estn permanentemente grabados en los procesadores que contienen las tarjetas electrnicas, pero primero alguien tuvo que escribirlos. Adems, piensa en la msica electrnica 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 clculo 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 informacin, filtrarla, y presentarla de diferentes maneras. Y muchos se escriben para investigar problemas difciles como la inteligencia artificial, el calentamiento global, y la gentica. Adems hay todo tipo de programas especializados que se usan para disear partes, dibujar grficos, 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 lnea, y de realidad virtual. Lo increble es que hay personas que escriben programas slo por diversin. Un profesor que tena en la preparatoria escribi un programa que creaba automticamente nuestra tarea de matemticas. Su hermana escribi un programa que compone versos haiku y que los traduce al islands. Le un artculo de un hombre que construy un robot Lego y lo program para que Costuras de las llantas Horno de micro ondas Diseo de la Aire acondicionado carrocera Cdigo integrado
Diseo habilitado por cdigo
Unidad 1 - Everywhere, Wisconsin Pg. 13 de 321 armara el cubo de Rubik. No se por qu lo hizo, tal vez fue slo para demostrarse que lo poda hacer.
Quiero programar video juegos tridimensionales en lnea e interactivos, o tal vez escribir programas de actuara para analizar las estadsticas de mortalidad para una compaa de seguros.
Creo que tengo un ejercicio sobre programacin de computadora en mi organizador personal.
01 Ejercicio 01 Computacin cotidiana
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 Recomendacin para el profesor
Lego y el cubo de Rubik http://jpbrown.i8.com/cubesolver.html
Computacin cotidiana
En este ejercicio explorars algunas formas en las que la programacin es parte de la vida cotidiana. El archivo 01_proveit01_files tiene instrucciones para este ejercicio y cualquier archivo de apoyo que necesites. Como cuando empec con mi grupo, tuve que decidir qu instrumentos usar, quines seran los msicos, qu canciones tocaramos y en dnde tocaramos.
Unidad 1 - Everywhere, Wisconsin Pg. 14 de 321 sientan frente a la computadora y tecleen cdigos mientras comen pizza fra y toman refrescos cafenados toda la noche. Aunque ese es la profesin de mis sueos, hay mucho ms que eso detrs de un programador. Los buenos programas no se hacen de la noche a la maana. Se requiere mucha planeacin cuidadosa y trabajo de diseo para crear un programa de computacin que haga lo que se supone que debe hacer. Tambin debe ser fcil de modificar, libre de errores y simple de usar. Para grandes proyectos de programacin puede haber equipos de cientos de programadores bien capacitados, organizados y administrados. Entonces, aunque escribir un cdigo es parte del trabajo de un programador, l o ella tambin hacen muchas otras cosas: deciden qu har el programa; disean la interfase del usuario; deciden qu lenguaje de programacin usar; disean la arquitectura del programa y como funcionarn en conjunto partes del mismo; establecen los estilos de codificacin y de diseo; deciden quin escribir el cdigo para las partes del programa; administran el programa de desarrollo y llevan un registro de cuanto tiempo les toma escribir el cdigo; capacitan a los programadores para usar herramientas de desarrollo; configuran y administran las computadoras y la red que usan los programadores; Escriben el cdigo!!! documentan el cdigo; disean la base de datos para almacenar informacin que el programa necesita o crea; manejan el diseo artstico y de grficos; manejan la entrada de informacin a la base de datos; prueban el cdigo para asegurarse de que funcione; empacan el cdigo para que poder instalarlo en la computadora o servidor del usuario; toman decisiones respecto a caractersticas nuevas; resuelvan los errores encontrados por los usuarios; capacitan a los usuarios para usar el programa; escriben la documentacin y material de capacitacin para el programa. Como puedes ver, "escribir el cdigo" es slo una de las muchas actividades de los programadores. Mi organizador personal tiene otro ejercicio acerca de los trabajos de programacin. Recomendacin para el profesor Los elementos en la lista representan mltiples opciones de carrera. Algunos son sobresalientes para escribir cdigos; otros, para decidir qu cdigo tiene que escribirse. Algunos son mejores para probar que el cdigo escrito funcione perfectamente. Y algunos administran los esfuerzos de todos estos profesionales de la computacin.
Unidad 1 - Everywhere, Wisconsin Pg. 15 de 321
01 Ejercicio 02 Trabajos de informtica Con la ayuda del Internet u otros recursos, determina el salario inicial para los profesionistas de informtica en tu rea. Compara los salarios para varias categoras tales como Programador, Analista de Sistemas, Desarrollador de Pginas Web, etc. Qu es un programa? Un programa de computacin est conformado por lneas de cdigo escritas en un lenguaje de programacin parecido al ingls. Para escribir un programa puedes escoger entre varios lenguajes de diferentes capacidades segn 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 programacin. Por ejemplo, puedes escribir un programa que juegue gato, otro que muestre imagines en forma de presentacin, y otro que muestre la orbita de un cohete alrededor de un planeta y todo con el mismo lenguaje. El cdigo que t escribes es lo que distingue a estos programas y les da su funcionalidad. Dicho cdigo define lo que el programa har. Determina que ocurre cuando oprimas un botn o seleccionas un elemento de una lista. Tu cdigo representa la "inteligencia" del programa; define cmo ste tomar Trabajos de programacin
En este ejercicio investigars los salarios iniciales de los programadores y otros profesionales de la computacin. El archivo 01_proveit02_files tiene instrucciones para este ejercicio y cualquier archivo de apoyo que necesites.
Unidad 1 - Everywhere, Wisconsin Pg. 16 de 321 decisiones, cuntas veces realizar una accin, y qu clculos realizar. Puedes escribir un cdigo para hacer clculos matemticos, escribir texto, responder a acciones del usuario, recabar datos, o desplegar informacin. Escribir un cdigo puede ser un reto pero tambin es divertido y satisfactorio. Cuando aprendes un lenguaje de programacin, 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 matemticas.
Unidad 1 - Everywhere, Wisconsin Pg. 17 de 321 Opciones de lenguaje de programacin Mi abuelo poda hablar cuatro idiomas: japons, espaol, swahili e ingls, adems de un quinto idioma cuando se volvi totalmente loco. Los lenguajes de computacin 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. Sabas que se estn creando nuevos lenguajes de programacin todo el tiempo? Durante los pasados 50 aos 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 aos. Un lenguaje de programacin nuevo se crea tomando las mejores caractersticas de uno o ms lenguajes existentes, y combinndolas. Los lenguajes de programacin de hoy reflejan los avances en el equipo de computacin y la evolucin de los programas anteriores. Los primeros lenguajes de programacin tenan que programarse en trminos que la computadora pudiera comprender. Esto significaba escribir programas usando solamente unos y ceros. Qu tedioso! Finalmente se crearon programas llamados compiladores que convertan el cdigo, escrito en un idioma que se parece ms al ingls, en los unos y ceros que la computadora poda comprender. Casi todos los lenguajes de programacin modernos son compilados. Es decir, estn escritos en lenguajes de programacin similares al ingls y que despus se compilan o cambian a un cdigo que la mquina puede leer. En el transcurso de los aos se han creado diferentes lenguajes de programacin para resolver problemas especficos. FORTRAN, por ejemplo, fue desarrollado para resolver problemas numricos y realizar clculos. Las siglas FORTRAN quieren decir lenguaje de traduccin de frmulas (FORmula TRANslating language). COBOL quiere decir lenguaje comn orientado a los negocios (Common Business-Oriented Language) y fue desarrollado primordialmente para aplicaciones de negocios en las que tenan que procesarse grandes cantidades de datos no numricos. LISP, que quiere Ve esto: En Canad hay dos idiomas oficiales, pero en los dos esta seal dice DETENGA SU COCHE!
Unidad 1 - Everywhere, Wisconsin Pg. 18 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 ms ventajas primarias en comparacin con los anteriores. A continuacin algunos ejemplos: C: cdigo rpido y eficiente Java: independencia de plataforma BASIC: facilidad de uso Visual Basic: diseo de interfase de usuario por medio de formatos Perl: manipulacin de texto Cuando inicias un proyecto nuevo de programacin tienes que definir qu lenguaje vas a usar. Tiene el lenguaje la funcionalidad que necesitas? Es de fcil programacin? Ya lo conoces? Ya est instalado en tu computadora? Mi lenguaje favorito es Visual Basic.NET. Es poderoso y fcil de usar. Se que a Cliff le gusta Visual Basic.NET tambin. A Jen le gusta el programa J# (se pronuncia J sharp), el cual tiene sus races en el lenguaje de programacin Java. Dirk est aprendiendo C# (se pronuncia C sharp) el cual tiene sus orgenes en los lenguajes de programacin C y C++. En este viaje aprenders Visual Basic.NET, pero Jen y Dirk tambin te ensearn algunas cosas acerca de J# and C#. No est de ms conocer ms que un solo lenguaje de programacin!
Unidad 1 - Everywhere, Wisconsin Pg. 19 de 321 Sintaxis del lenguaje de programacin Si viajas por el mundo tal vez necesites encontrar a alguien que hable ingls. En cualquier idioma hay un modo de preguntar "habla ingls?" Por ejemplo: Ingls: Do you speak English? Alemn: Sprechen Sie Englisch? Espaol: Habla ingls? Portugus: Voc fala ingls? Lenguaje de nios: Ha-fa bla-fas in-fin gle-fes? En los ejemplos anteriores, no slo las palabras son diferentes, su organizacin es distinta tambin: los sustantivos, verbos y objetos no tienen el mismo orden. La palabras y su organizacin constituyen la sintaxis del lenguaje. La sintaxis define las reglas para hacer una oracin correcta en el idioma dado. Al igual que los idiomas, cada lenguaje de programacin tiene su propia sintaxis, la cual es el vocabulario, gramtica, eleccin de palabras y estructura que lo constituye. La sintaxis define las reglas para escribir lneas correctas de cdigo y combinar estas lneas en un programa vlido. Por ejemplo, todos los lenguajes de programacin modernos pueden ejecutar una orden "If..then..else". Una tal orden es una forma en la que un programa puede elegir basndose en la informacin que tiene. Mira, djame ensearte algunos ejemplos de cdigos en mi computadora porttil 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 cdigo, slo busca las similitudes y diferencias que definen su sintaxis.
Unidad 1 - Everywhere, Wisconsin Pg. 20 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 Pg. 21 de 321 Aprender un lenguaje de programacin consiste en aprender su sintaxis, estructura, y reglas. Tienes que aprender la puntuacin del lenguaje, as como qu palabras son "reservadas", porque slo se usan como comandos para el lenguaje. Las palabras reservadas, tambin 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 mayora de los lenguajes de programacin. Se usan para crear rdenes de cdigo que toman decisiones. Cuando aprendes un lenguaje de programacin debes aprender su sintaxis y tambin su funcionalidad y capacidades. Recuerda que no todos los lenguajes pueden hacer todo. Sin embargo, todos los que son modernos tienen caractersticas y funcionalidad en comn que siempre podemos esperar encontrar.
Unidad 1 - Everywhere, Wisconsin Pg. 22 de 321 Sintaxis de Visual Basic.NET Visual Basic.NET es un lenguaje poderoso y fcil de aprender. Conforme aprendes a programar en Visual Basic.NET, conocers las palabras reservadas, la estructura, y los objetos fundamentales que constituyen el lenguaje. Primero tienes que comprender algunos de los elementos bsicos de la sintaxis del lenguaje. Hice una breve lista de algunos elementos clave de la sintaxis en Visual Basic.NET: Las lneas de cdigo no tienen un indicador de fin de lnea como un punto y coma (;) Las lneas de comentario inician con un apstrofe (') Las llaves { y } no se usan para contener bloques de cdigo Visual Basic.NET NO diferencia entre maysculas y minsculas. Escribir MyCase es exactamente lo mismo que escribir myCase o MYCASE. Oye, Dirk, Cules son algunas de las diferencias sintcticas clave en C#? Bueno, en C# cada lnea termina con un punto y coma. Adems, los bloques de cdigo estn contenidos entre llaves, { y }. Una lnea de comentario inicia con dos diagonales // y C# s diferencia entre maysculas y minsculas. MyCase es diferente de myCase y de MYCASE. Oigan, no se olviden de J#. J# y C# comparten la misma sintaxis bsica. Por ejemplo, J# usa un punto y coma para indicar el fin de una lnea de cdigo y los bloques de cdigo se ponen entre llaves. Las lneas de comentario en J# inician con // y J# tambin diferencia entre maysculas y minsculas. Recomendacin para el profesor Visual Basic es un buen primer lenguaje para aprender ya que es ms benvolo que la mayora. El tamao de la letra no importa. Las lneas de cdigo no necesitan marcarse de manera especial. La estructura es ms bien intuitiva.
Unidad 1 - Everywhere, Wisconsin Pg. 23 de 321 Llegada a Everywhere Bienvenido a Everywhere, Wisconsin. Tienes que contestar la pequea prueba para prepararte para el Comit del rally. En el curso impreso la prueba no es interactiva. En la versin en lnea de este curso la computadora revisa las respuestas. Aqu la tienes. Suerte!
Una diferencia importante entre los diferentes lenguajes de programacin es: Por lo general un lenguaje de computadora est constituido por: Qu hace la compilacin de un programa? Hay miles de lenguajes de computacin distintos porque: Sintaxis
Traduccin
Ortografa Reune datos en un agrupamiento interno
Asocia objetos de formato con la pgina del cdigo.
Convierte el texto escrito por un programador en un cdigo que la computadora puede entender Los cientficos de la computacin tienen que mantenerse ocupados. Cada uno se ha creado para resolver problemas especficos.
Cada marca de computadora requiere un lenguaje nico Tablas de traduccin
Lneas de cdigo escritas en un lenguaje de programacin similar al ingls
Smbolos matemticos creados por computadoras
Unidad 2 - Ideal, Illinois Pg. 24 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 diseo de formato
Ventana de cuadro de herramientas
Agregar un cdigo a un botn
Construir tu solucin
Iniciar tu programa
Archivos y carpetas de soluciones
Unidad 2 - Ideal, Illinois Pg. 25 de 321 Visual Studio.NET y el IDE Hola, cmo te va hasta ahora? Pudiste contestar todas las preguntas del comit del rally? Puede ser que sean ms difciles conforme avancemos, pero para ese entonces tambin sabrs ms. Estoy seguro de que no tendrs 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 ensear lo que necesitars para pasar la prueba de manejo de IDE. El IDE son las siglas en ingls de Ambiente de Desarrollo Integrado proporcionado por Visual Studio.NET de Microsoft. Lo usars para escribir tu primer programa de Visual Basic.NET. Puedes usarlo para escribir programas en otros lenguajes tambin. Despus de que aprendas sobre IDE y pases el examen de manejo, estars listo para manejar tambin y ayudarnos con las pruebas del rally. Despus de todo, no queremos que alguien ms maneje todo el tiempo o s? No sera muy divertido.
Unidad 2 - Ideal, Illinois Pg. 26 de 321 Visual Studio.NET Sabas que es posible escribir un cdigo de computacin usando un simple procesador de palabras como el bloc de notas o Microsoft Word? Eso, claro, si quieres hacer las cosas de la manera ms complicada. En su lugar, la mayora de los programadores como Nikki y yo usamos herramientas de software para ayudarnos a desarrollar programas con ms facilidad. Y eso es lo que vas a hacer t tambin, usando Visual Studio.NET de Microsoft.
Visual Studio.NET Microsoft es una herramienta de desarrollo que ayuda a escribir programas en varios lenguajes de programacin .NET diferentes. Por ejemplo, cuando agregues un botn a un formato, Visual Studio.NET automticamente agrega algn cdigo para este botn. Es obvio que Visual Studio.NET no puede escribir todo el cdigo; despus de todo, no sabe lo que se supone que tu programa va a hacer. Sin embargo, puede reducir la cantidad de cdigo que tienes que escribir y el tiempo necesario para hacerlo. Visual Studio.NET te facilita la vida tambin de otros modos. Automticamente colorea tu cdigo segn su significado. Por ejemplo, los comentarios siempre estn en verde y las palabras claves en azul. Incluso los errores en sintaxis estn subrayados con una lnea roja ondulante. Esto te ayuda a identificar y corregir errores antes de que operes tu cdigo. Visual Studio.NET te ayuda a mantener tu cdigo organizado al almacenarlo en archivos independientes. De esta manera puedes dividir tu cdigo en unidades funcionales. Por ejemplo, un archive independiente ser usado para almacenar el cdigo para cada uno de tus formatos. Visual Studio.NET facilita la compilacin y operacin de tu programa con slo hacer clic unas cuantas veces en el ratn. Puedes usar sus funciones auxiliares de depuracin para buscar errores en tu programa y desplegar informacin 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 (creacin de pginas web)
Unidad 2 - Ideal, Illinois Pg. 27 de 321 Durante nuestro viaje a nuestro prximo destino, te mostrar como usar Visual Studio.NET para escribir tu primer programa. Usars Visual Basic.NET como tu lenguaje de programacin primario durante este viaje, pero tambin te mostraremos ejemplos del cdigo C# y J# a lo largo del camino. Preprate porque vas a escribir tu primer programa. Iniciar Visual Studio Para iniciar Visual Studio: 1. Oprime el botn de inicio 2. Selecciona Programas 3. Selecciona la carpeta Microsoft Visual Studio.Net 2003 4. Selecciona la aplicacin Microsoft Visual Studio.Net 2003 Tambin hay un icono en mi Escritorio que yo puedo usar para abrir Visual Studio. El icono es una forma rpida de iniciar Visual Studio.NET, slo haz doble clic sobre l.
Recomendacin para el profesor Asegrese de mostrarles a sus alumnos el mtodo 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 ubicacin correcta. Recuerda, la ubicacin de Visual Studio puede variar de una computadora a otra. Si ests usando una computadora en la escuela o la computadora de alguien ms, Visual Studio puede encontrarse en un lugar distinto. Pregntale a tu profesor o al representante del departamento de cmputo, si no puedes encontrar el modo de abrir Visual Studio.NET.
Unidad 2 - Ideal, Illinois Pg. 28 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 slo lee; haz lo que ests leyendo!
Pgina de inicio IDE La primera pgina que debes ver cuando abres Visual Studio.NET es la pgina de inicio. La pestaa Proyectos es seleccionada de manera predeterminada. Por lo general, veras 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 pestaa Mi perfil es donde puedes personalizar Visual Studio.NET para que se adapte a tu estilo de trabajo.
1. Haz clic en la pestaa Mi perfil.
Unidad 2 - Ideal, Illinois Pg. 29 de 321 Mi Perfil Mi perfil es donde puedes seleccionar qu tipo de desarrollador eres y personalizar tu configuracin 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 omisin] Configuracin de la ventana: Visual Studio Predeterm. Filtro de ayuda: sin filtro 3. Selecciona Ayuda interna para la configuracin Mostrar ayuda. 4. Selecciona Mostrar pgina de inicio para la configuracin de Al inicio. 5. Selecciona la pestaa Proyectos en la parte superior de la Pgina de inicio para continuar.
Unidad 2 - Ideal, Illinois Pg. 30 de 321 Crear un proyecto nuevo Ahora que haz terminado la configuracin del ambiente Visual Studio.NET, exploraremos la pestaa de Proyectos. Puedes iniciar un nuevo proyecto o abrir un proyecto existente desde esta pestaa. Para abrir un proyecto existente debes hacer clic en el botn Abrir proyecto en la parte inferior de la pantalla. Despus 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 ensear a crear un proyecto nuevo para el programa Hello World; despus escribiremos el programa. Hello World es el primer programa tpico que escribe la mayora de los programadores. El objetivo es crear un recuadro de mensaje que diga "Hello World."
1. Haz clic en el botn Proyecto nuevo para crear un proyecto nuevo. Se abre la ventana de dilogo Proyecto nuevo.
Unidad 2 - Ideal, Illinois Pg. 31 de 321 Ventana de Proyecto nuevo En la pestaa Proyecto nuevo vers 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 aplicacin de Windows (las reglas del cdigo slo usarn aplicaciones de Windows, as es que ni siquiera hay que preocuparse por las otras plantillas). En esta pestaa no slo seleccionars el tipo de proyecto y la plantilla sino tambin 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 ubicacin para guardar tu proyecto. 5. Haz clic en el botn 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. Sper, no?
Recomendacin para el profesor Cada escuela tiene sus propias reglas acerca de la ubicacin para guardar los proyectos de los alumnos. Sea muy especfico al describir las reglas de la escuela. Cada proyecto debe quedarse en su propia carpeta.
Se crear un directorio llamado HelloWorld (que elegiste para guardar tu archivo) y el proyecto HelloWorld quedar guardado en el directorio.
Unidad 2 - Ideal, Illinois Pg. 32 de 321 Ventana de diseo de formato La mayora de las veces construirs aplicaciones de Windows que inician con un formato. stos son la parte del programa que el usuario ve. Podrs poner objetos en el formato, como botones y cajas de texto. Cuando se hace clic en un botn, el cdigo se ejecutar para realizar el proceso requerido para ese botn. Un formato en blanco puede verse en la ventana principal en el lado izquierdo de la pantalla. Esta se llama ventana de diseo 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. Despus habr tiempo para ponerse creativo con los formatos. Por ahora, djame mostrarte un par de cosas sencillas que hacer.
Unidad 2 - Ideal, Illinois Pg. 33 de 321
close any window in Visual Studio.NET by clicking on the "X" located in the upper right corner of the window. You can open most Visual Studio.NET windows by going to View on the Main Menu and selecting the appropriate window from the menu.
You can autohide any window by clicking on the thumbtack (pushpin) icon located in the upper right corner of the window. When you autohide a window, it disappears. A taskbar will appear along the right edge of the screen showing tabs for the hidden window. If you move the cursor over the tab, the hidden window will slide into view. Autohide is a great way to save screen space so you have a larger code window. If you click the pushpin icon again, autohide will be disabled. Recomendacin 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 pgina del cdigo y reduce los errores de codificacin. Puedes cerrar cualquier ventana en Visual Studio.NET al hacer clic en la x ubicada en la esquina superior derecha de la ventana. Puedes abrir la mayora de las ventanas de Visual Studio.NET, en Ver en el Men principal y seleccionar la ventana apropiada del men.
Puedes ocultarla de manera automtica al hacer clic en el icono de tachuela ubicado en la esquina derecha de la ventana. Cuando ocultas una ventana de manera automtica, esta desaparece y aparecer una barra de tareas en la orilla derecha de la pantalla que muestra pestaas para la ventana oculta. Si mueves el cursor sobre la pestaa, la ventana oculta aparecer. La funcin de auto-ocultar es una excelente manera de ahorrar espacio de pantalla si tienes una ventana con un cdigo mayor. Si pulsas el icono de tachuela otra vez, se deshabilitar el comando auto-ocultar.
Unidad 2 - Ideal, Illinois Pg. 34 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, abrirs 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 crears formatos que se vern geniales.
1. Selecciona Ver de la barra del Men principal
2. Selecciona Cuadro de herramientas y abre esta ventana.
3. Haz doble clic en Botn para aadir un botn al formato (El botn que aadiste puede estar escondido detrs del Cuadro de herramientas; la moveremos en un instante)
Unidad 2 - Ideal, Illinois Pg. 35 de 321 Mover y redimensionar un botn Ahora que haz aadido un botn a un formato, te voy a ensear qu fcil es mover o redimensionarlo.
1. Haz clic en el botn y arrstralo 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 botn izquierdo del ratn, arrastra el punto de redimensionamiento para estirar o reducir el tamao del botn.
Fue fcil no? Ahora vas a aadir el cdigo al botn para hacer que haga algo cuando el usuario lo oprime.
Unidad 2 - Ideal, Illinois Pg. 36 de 321 Agregar un cdigo al botn Cuando creamos el botn, Visual Studio.NET automticamente agrega varias lneas de cdigo a la ventana de cdigo. Ve el siguiente ejemplo. Public Class Form1 Inherits System.Windows.Forms.Form
Window Forms Designer Generated Code Private Sub Botn 1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button 1.Click
End Sub
Parece que est en chino, verdad? Pero no te preocupes, te ayudaremos a traducir conforme avancemos. Por ahora slo encuentra el Button 1_Click. Esta parte del cdigo se usa cuando el usuario hace clic en el botn. Si hacemos clic ahora, no pasa nada. Necesitamos decirle a nuestra aplicacin qu hacer cuando se oprima el botn. De eso trata la programacin. Ests listo para comenzar?
1. Despus de hacer doble clic en Button 1, se abre la ventana de cdigo 2. Haz clic en la lnea en blanco arriba de End Sub 3. Introduce la siguiente lnea de cdigo exactamente como se muestra a continuacin Recomendacin para el profesor Muchos ejemplos de cdigo en el curso son una sola lnea en Visual Basic pero sta se ajusta cuando se despliega en el curso. Para continuar una lnea de cdigo en una segunda lnea en Visual Basic, finaliza la primera lnea con un espacio seguido por un guin bajo ( _ ).
Unidad 2 - Ideal, Illinois Pg. 37 de 321
MessageBox.Show("Hello, World.") Esta lnea de cdigo se ejecuta cuando el usuario oprima el botn en el formato. Crear tu solucin Es hora de crear tu solucin. Aqu es donde el cdigo 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 solucin del men desplegable
Recomendacin para el profesor Las versiones de Visual Basic anteriores a .NET no requeran que se seleccione Crear antes de la ejecucin. .NET siempre requiere que se seleccione Crear.
Unidad 2 - Ideal, Illinois Pg. 38 de 321 Creacin exitosa Una vez que termina la operacin Crear, la ventana de salida se abre y despliega un mensaje, el cual indica si tu creacin fue exitosa o si hubo errores. Si la creacin fue exitosa, vers el siguiente mensaje en la ventana de salida:
------ Build started: Project: HelloWorld, Configuration: Debug .NET ------ Preparing resources... Updating references... Performing main compilation... Building satellite assemblies...
Unidad 2 - Ideal, Illinois Pg. 39 de 321 Creacin 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...
Cuando puede, Visual Basic tambin subraya la ubicacin del error. Al hacer doble clic en el mensaje de error, el cursor seala el error. Adems se abre una ventana de lista de tareas que te mostrar los errores especficos.
Si tu creacin contiene errores, regresa y revisa que hayas escrito la lnea de cdigo para el botn exactamente como se muestra. Despus sigue los pasos para crear la solucin que te mostramos antes.
Unidad 2 - Ideal, Illinois Pg. 40 de 321 Iniciar tu programa Tu programa ahora est compilado sin errores. Ests 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 botn que agregaste.) 3. Haz clic en el botn. Ya saba que lo haras. Recomendacin para el profesor Cuando se selecciona Iniciar, Visual Basic efecta Crear antes de la ejecucin. Si hay errores de creacin, 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 Pg. 41 de 321 Desplegar el cuadro de mensaje Cuando haces clic en el botn, un cuadro de mensaje aparece desplegando el texto "Hello World". Despus 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 botn OK para cerrar el cuadro de mensaje. (El cuadro de mensaje desaparece pero tu formato sigue ah. Puedes hacer clic en el botn 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 Pg. 42 de 321 La ventana de salida Una vez que el programa finaliza, se muestra la informacin de depuracin. Tienes que avanzar hacia abajo para ver toda la informacin.
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. Recomendacin para el profesor Los alumnos principiantes no usarn la informacin de depuracin. Se menciona aqu para que no se sorprendan cuando vean esta informacin. Recomendacin para el profesor Visual Basic guardar automticamente el proyecto cada vez que se efecte Crear.
Unidad 2 - Ideal, Illinois Pg. 43 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.
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.
Unidad 2 - Ideal, Illinois Pg. 44 de 321 Archivos y carpetas de solucin Cuando creas una aplicacin 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 continuacin para ver una organizacin tpica de archivos y carpetas.
Con Windows Explorer navega a la ubicacin 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 solucin que mantiene un registro de todas las otras partes de la solucin. Una solucin puede hacer referencia a mltiples proyectos, pero tu solucin HelloWorld contiene slo 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 cdigo asociado. Haz doble clic en la carpeta papelera para expandirla. Contiene el archivo de cdigo ejecutable Visual Basic llamado HelloWorld.exe. Este archivo puede ejecutarse en otra computadora an si no dispone de Visual Studio.NET. Para ejecutar un archivo ejecutable en otra computadora, sa debe contar con ciertos archivos que permitirn la ejecucin de la aplicacin .NET. Estos archivos ya estn instalados en las computadoras con el sistema operativo Windows XP. Pueden descargarse e instalarse en computadoras con otros sistemas operativos.
Unidad 2 - Ideal, Illinois Pg. 45 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 ests 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 pgina de Inicio selecciona el botn Proyecto nuevo. Tal vez necesites cerrar la ventana de salida para verlo. O, puedes ir a Archivo / Nuevo / Proyecto.
En Form1 coloca un botn y un cuadro de texto. Deja los nombres del botn y del cuadro como sus nombres predeterminados.
Haz doble clic en Botn 1 para abrir la pgina del cdigo. En el subprograma Botn 1_Click, introduce esta lnea del cdigo:
TextBox1.Text = "tu nombre"
Reemplaza tu nombre con tu nombre. Asegrate de que aparezcan las comillas.
Crea e inicia tu programa.
Una vez que funcione correctamente, mustraselo a tu instructor. 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.
Ya que al parecer nos estamos deteniendo en cada restaurante de comida rpida que vemos, vamos a divertirnos con un programa.
Ya sabes como agregar un botn a un formato, crear una aplicacin y ejecutarla. La plantilla 02_challenge_template es una aplicacin completa, salvo que necesita cuatro botones llamados Botn 1 Botn 4.
El formato debe verse como sigue una vez que hayas agregado los botones.
Crea la aplicacin. Despus escoge Depurar / Iniciar sin depurar, o puedes escoger Depurar / Iniciar.
Qu ocurre cuando haces clic en cada botn?
Cuando funcione correctamente, mustraselo a tu instructor.
Recomendacin para el profesor El alumno aade botones a un programa existente donde stos se quitaron, pero donde el programa en s est completo. Comida rpida
En este reto debes agregar botones a un formato de comida rpida. El archivo 02_challenge_files contiene las instrucciones para este trabajo y todos los archivos de apoyo que necesites.
Unidad 2 - Ideal, Illinois Pg. 47 de 321
Extensin / Desviacin
En una unidad posterior te mostraremos como cambiar el texto en un botn. Puedes descubrir t solo como cambiar el texto del botn usando la ventana Propiedades? Bienvenido a Ideal. Aqu hay otra pequea prueba para prepararte para el comit del rally. En el curso impreso la prueba no es interactiva. En la versin en lnea de este curso la computadora revisa las respuestas. Aqu la tienes. Suerte!
Unidad 2 - Ideal, Illinois Pg. 48 de 321
Propiedades
Cuadro de herramientas
Salida La pgina de proyectos
La pgina de recursos en lnea
La pgina de perfil Cierto
Falso Crear
Depurar
Explorar recursos Qu ventana se usa para colocar objetos en un formato? Visual Studio puede personalizarse para cada usuario en: En Visual Studio, las soluciones pueden contener uno o ms proyectos; stos pueden contener formatos, y los formatos objetos y cdigos. Antes de ejecutar un programa debes:
Unidad 03 Pseudo, Pennsylvania Pg. 49 de 321
Temas en el camino a Pseudo:
Tipos de instrucciones de cdigo Qu es un pseudo cdigo? Comentarios de cdigo Pseudo cdigo como comentario Sangra y espacio en blanco Llegada a Pseudo
Unidad 03 Pseudo, Pennsylvania Pg. 50 de 321
Tipos de rdenes de cdigo
Cliff hizo un excelente trabajo al presentar Visual Studio.NET. No te pareci fantstico escribir tu primer programa? Se que no haz escrito muchos cdigos todava, pero lo hars ms adelante. Por ahora quiero mostrarte como planear y organizar tu programa incluso antes de que comiences a escribir el cdigo.
Sabas que puedes escribir un programa antes de que sepas un lenguaje de computacin? Muchos programadores escriben sus programas en un "pseudo cdigo" primero y despus los traducen a un lenguaje real de programacin. Esto les ayuda a determinar el flujo lgico del programa y lo que tienen que hacer. El pseudo cdigo consiste de instrucciones sencillas escritas en ingls (o tu idioma nativo) las cuales explican lo que el programa tiene que hacer. Una vez escrito el pseudo cdigo es ms fcil escribir el cdigo real. El pseudo cdigo brinda una estructura o lineamiento para el programa.
Antes de que te ensee como usar un pseudo cdigo, quiero mostrarte algunos de los tipos de instrucciones bsicas que constituyen un programa de computacin. Todos los lenguajes de programacin usan los mismos tipos de instruccin de cdigo bsicos, aunque la sintaxis para escribirlos sea diferente en cada lenguaje. Cuando se combina, estas instrucciones bsicas te permiten escribir programas muy complejos.
Recuerdas la lnea de cdigo que introdujiste para el botn en el programa Hello World?
Era: MessageBox.Show("Hello, World.")
Este cdigo despliega informacin para el usuario. Es un tipo de instruccin bsica conocido como alerta, mensaje, o instruccin. Todos los lenguajes de programacin tienen un tipo de instruccin bsica similar usado para brindarle informacin al usuario, aunque la sintaxis depender del lenguaje. Hay otros tipos de instrucciones fundamentales que usan todos los lenguajes de programacin.
Unidad 03 Pseudo, Pennsylvania Pg. 51 de 321
A continuacin te muestro unos ejemplos.
Las variables son usadas para almacenar informacin tales como nmeros o texto. Representan informacin o resultados de clculos.
Las instrucciones de asignacin establecen lo que est almacenado en una variable. El valor puede ser un nmero, texto, otra variable o un valor calculado.
Las instrucciones de comparacin se usan para comparar un valor o variable con un nmero, u otro valor o variable. Hacen una pregunta cuya respuesta siempre es "cierto" o "falso".
Las instrucciones de decisin se usan para elegir. El proceso de decisin se basa en una comparacin. Si la respuesta a la comparacin es "cierto", entonces se realiza la primera eleccin, si es "falso", la segunda. Las instrucciones de decisin a menudo se denominan instrucciones de ramificacin porque el flujo del programa puede ir ya sea en una direccin o en otra.
Las instrucciones de bucle se usan para hacer cosas una y otra vez. Las instrucciones de bucle reducen la cantidad de cdigo que tienes que escribir cuando tu programa est realizando la misma accin repetidamente.
Conforme aprendas a programar, aprenders a usar estas instrucciones bsicas para que tu programa haga lo que t quieres que haga. Para poder usar Visual Basic.NET (o cualquier otro lenguaje de programacin) tu trabajo ser aprender la sintaxis particular requerida por el lenguaje de programacin para escribir y usar estas instrucciones bsicas.
Es fantstico estar aqu esta noche! Le deca al encargado de seguridad en la entrada que si estoy en la ciudad y es noche de aficionados me encontrarn en este escenario.
Unidad 03 Pseudo, Pennsylvania Pg. 52 de 321
Que es un pseudo cdigo?
Como ya lo dije antes, los programadores a menudo escriben sus programas en pseudo cdigo. La palabra pseudo significa "en lugar de". Por ejemplo, algunos autores usan un pseudnimo en lugar de su nombre real. Un pseudo cdigo no est escrito en un lenguaje real de programacin sino que consiste de instrucciones sencillas que describen lo que el programa va a hacer. Podras escribir un pseudo cdigo en ingls, espaol, latn o cualquier otro idioma, porque una computadora ni siquiera tiene que leer o comprender tu pseudo cdigo. ste tiene que ser claro para que t y otros programadores lo entiendan, porque brinda el marco o instrucciones para escribir el cdigo real de tu programa. Tu pseudo cdigo se escribe usando los diferentes tipos de instrucciones bsicas: asignacin, comparacin, decisin, etc.
Una gran ventaja de disear tu propio programa usando un pseudo cdigo es que no tienes que preocuparte acerca de qu lenguaje de programacin vas a usar. Primero, encuentra la lgica y estructura usando el pseudo cdigo. Despus "traduce" tu pseudo cdigo al lenguaje de programacin que quieres usar. Recomendacin para el profesor El concepto principal en esta unidad es que el programador debe planear qu cdigo escribir antes de iniciar la codificacin en s.
Unidad 03 Pseudo, Pennsylvania Pg. 53 de 321
Djame darte un ejemplo de como usar el pseudo cdigo para disear un programa. Digamos que quisiera escribir un programa para calcular el costo promedio de la gasolina en dlares por galn para todo nuestro viaje. Qu tendra que hacer el programa? Para contestar esta pregunta, disear el programa usando un pseudo cdigo. Estos son los pasos que mi programa tendra que hacer para calcular el costo promedio de la gasolina durante nuestro viaje:
1. Sumar todo el dinero que pagamos para la gasolina y asignar este monto a una variable (total en dlares) 2. Sumar el nmero total de galones de gasolina que usamos y asignar este monto a una segunda variable (total de galones) 3. Tomar la primera variable (total en dlares) y dividirla entre la segunda variable (total de galones) y asignar el resultado a una tercera variable (dlares por galn). 4. Desplegar un mensaje que da el costo promedio en dlares por galn.
El pseudo cdigo claramente muestra lo que mi programa necesitar hacer. Ahora puedo escribir el cdigo para realizar las tareas delineadas en el pseudo cdigo.
Unidad 03 Pseudo, Pennsylvania Pg. 54 de 321
Djame darte un ejemplo distinto con ms pasos. Puede ser para un robot programable que cambia llantas.
1. Determinar que llanta est ponchada. (instruccin de comparacin) 2. Determinar el tamao de la llanta ponchada (instruccin de comparacin) 3. Si hay una llanta de refaccin del tamao correcto entonces proceder; 4. de otro modo, conseguir la refaccin en una tienda de llantas. (instruccin de comparacin y decisin) 5. Levantar la camper usando un gato hidrulico. 6. Quitar el tapn con un desarmador para exponer las tuercas. 7. Quitar las tuercas usando una llave de cruz hasta haber removido todas. (instruccin de bucle) 8. Remover la llanta ponchada. 9. Colocar la llanta nueva. 10. Colocar de nuevo y ajustar las tuercas usando una llave de cruz hasta que todas estn en su lugar. (instruccin de bucle) 11. Colocar el tapn y ponerlo en su lugar con un martillo. 12. Bajar el gato hidrulico.
En el pseudo cdigo anterior hay una mezcla de instrucciones de asignacin, de comparacin, de decisin y de bucle. Por ejemplo, debes recordar el tamao de la llanta ponchada; eso es una instruccin de asignacin. Debes comparar el tamao de la llanta ponchada con el tamao de las llantas que tienes en existencia; esa es una instruccin de comparacin. Una instruccin de decisin se usa con la instruccin de comparacin. Si tienes una llanta del tamao 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 nmero de veces hasta que se hayan quitado todas las tuercas y despus hasta que se hayan apretado de nuevo.
Poner llanta nueva. Colocar de nuevo las tuercas y apretarlas. Colocar el tapn.
Unidad 03 Pseudo, Pennsylvania Pg. 55 de 321
Por qu no intentas escribir un pseudo cdigo usando mi organizador personal?
03 Ejercicio 01 Empacar para el viaje
Escribe en pseudo cdigo los pasos requeridos para empacar lo que vas a llevar para tu viaje. Tu solucin debe tener por lo menos siete pasos. Si cada paso comienza con una instruccin condicional, no entendiste el pseudo cdigo. Recomendacin para el profesor Es sorprendente cuntos alumnos escriben un pseudo cdigo que consiste en el 100% de instrucciones condicionales en vez de contener una mezcla de acciones y acciones condicionales. Un pseudo cdigo sin instrucciones condicionales tambin es correcto. Empacar para el viaje
En este ejercicio debers escribir un pseudo cdigo 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.
Unidad 03 Pseudo, Pennsylvania Pg. 56 de 321
Comentarios de cdigo
Los lenguajes de programacin modernos, incluyendo Visual Studio.NET, permiten aadir comentarios a tu cdigo. 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 cdigo. Te ayudan a recordar lo que hace. Tambin ayudan a otros programadores a comprenderlo.
Siempre debes comentar tu cdigo. Los comentarios son muestra de un buen programador. Un buen programador se toma el tiempo para comprender y documentar a fondo el cdigo que ha escrito. Debes agregar comentarios a tu cdigo cuando haces un cambio o aades una funcin. Tambin haz comentarios sobre partes de tu cdigo que son difciles de comprender o que realizan un clculo particularmente difcil o complejo.
Recomendacin para el profesor Hay muchas razones para examinar el cdigo en s que los alumnos escriben en vez de ver simplemente el resultado de ejecutar el programa. Inctelos a hacer comentarios Motive buenos nombres de datos Detecte si un alumno est copiando el cdigo de otro. Copiar es fcil y es tentador. Busque similitudes de tcnica, ya que puede aplicarse la funcin de Encontrar- reemplazar a los nombres de variables para disfrazar el cdigo.
Haz comentarios respecto a tu cdigo pero no demasiados. Estas tratando de documentar tu cdigo, no de escribir una novela.
Unidad 03 Pseudo, Pennsylvania Pg. 57 de 321
En Visual Basic.NET comenzars una lnea de comentario con una sola comilla ('). Cualquier lnea de cdigo 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
'Funcin agregada para calcular el promedio de millas por galn.
Oye, podrs usar una sola comilla para los comentarios en Visual Basic.NET, pero en C# y J#, usamos una doble diagonal (//) al principio de nuestras lneas de comentario.
Por ejemplo,
//Funcin agregada para calcular el promedio de millas por galn.
Unidad 03 Pseudo, Pennsylvania Pg. 58 de 321
Los comentarios tienen otra funcin importante adems de documentar tu cdigo. Dado que no se ejecutan, pueden usarse como un mtodo para evitar que ciertas lneas del cdigo se ejecuten. Esto se llama "comentar para excluir una lnea de cdigo. Comentar para excluir es un mtodo que puede usarse para ayudarte a encontrar errores en tu cdigo. Si tienes un error en tu programa, puedes marcar lneas o bloques completos de cdigo como si fueran comentarios para evitar su ejecucin hasta que el error deje de ocurrir. El ltimo cdigo 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 cdigo. Date cuenta de que hay tres lneas de cdigo. La segunda lnea se comenta para excluirla poniendo una sola comilla en su inicio. Por lo tanto, no se ejecutar, pero la primera y tercera lneas s.
MessageBox.Show("Soy de" 'MessageBox.Show("una ciudad fantstica llamada") MessageBox.Show("San Francisco.")
Unidad 03 Pseudo, Pennsylvania Pg. 59 de 321
Pseudo cdigo como comentario
Y ahora, un uso ms del may verstil comentario. Estoy seguro que te mueres por saber. Puedes usar los comentarios para disear y arreglar tu programa. Es fcil. Ya escribiste el pseudo cdigo que describe lo que tu cdigo va a hacer. Aprovchalo. Copia y pega tu pseudo cdigo en tu programa y pon una sola comilla al principio de cada lnea de tu pseudo cdigo para convertirla en comentario. Ahora, escribe el cdigo real de Visual Basic.NET bajo cada lnea de pseudo cdigo y tu programa no slo estar completo, sino que tambin tendr comentarios. As de simple.
He aqu un ejemplo basado en el pseudo cdigo que escrib para calcular la cantidad promedio en dlares por galn de gasolina para nuestro viaje. Nota que el pseudo cdigo proporciona los comentarios.
'Suma todo el dinero que pagamos de gasolina y asigna este monto a una variable (total de dlares) 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 dlares), divdela entre la segunda variable (total de galones) y asigna el resultado a una tercera variable (dlares por galn). Dim dollarsPerGallon As Double dollarsPerGallon = totalDollars / totalGallons 'Despliega un mensaje dando el costo promedio en dlares por galn. MessageBox.Show (dollarPerGallon)
Unidad 03 Pseudo, Pennsylvania Pg. 60 de 321
Sangras y espacios en blanco
Aunque tal vez no comprendas todo el cdigo 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 cdigo. En segundo lugar, fjate que se agreg una lnea en blanco antes de cada comentario. Esta lnea en blanco divide los comentarios y el cdigo en grupos de acuerdo a su funcin. Las lneas en blanco hacen la lgica de tu programa clara y tu programa, de fcil comprensin.
En la mayora de los casos Visual Basic.NET agrega automticamente espacios en blanco y sangras para hacer que tu cdigo sea ms fcil de leer. Sin embargo, puedes aadir espacios en blanco adicionales y sangras como t quieras. Mi opinin al respecto es que los uses para hacer tu cdigo y comentarios ms fciles de leer. A Visual Basic.NET y a los dems lenguajes .NET no les importan las lneas en blanco o las sangras. De hecho las ignoran cuando se compila el programa. Aunque a Visual Basic.NET no le importen, estas lneas en blanco y las sangras les facilitan a los dems leer tu cdigo. (Y t eres la persona que ms se beneficiar de ello.)
Recomendacin para el profesor Aliente el uso de lneas en blanco entre los bloques de cdigo. Esto beneficia tanto al alumno como al profesor. Por omisin, Visual Basic.NET aplica la sangra de manera automtica a tus instrucciones de cdigo basado en la sintaxis de tu cdigo. Aunque puedes inhabilitar la aplicacin automtica de sangra, se recomienda que la uses.
Unidad 03 Pseudo, Pennsylvania Pg. 61 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 automtico.
Escribe un pseudo cdigo explicando los pasos necesarios para lavar los trastes. Si no tienes experiencia en el tema, tendrs que investigar al respecto.
Tu solucin debe tener por lo menos siete pasos.
Lavar los trastes
En este ejercicio escribirs un pseudo-cdigo 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.
Unidad 03 Pseudo, Pennsylvania Pg. 62 de 321
03 Reto Pecera
Ves la pecera en el aparador de esa tienda de mascotas? Rpido, antes de que cambie el semforo. 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 pgina del cdigo.
Tu tarea es ver la pgina del cdigo, y luego copiar todos los comentarios en un documento de Word o de texto.
El resultado se ve como pseudo cdigo?
Entrgale la lista de comentarios a tu instructor.
Extensin / Desviacin
Hay demasiados comentarios? Demasiado pocos? Por qu?
La pecera
En este Reto estudiars 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.
Unidad 03 Pseudo, Pennsylvania Pg. 63 de 321
Llegada a Pseudo
Ya que estamos por llegar a Pseudo, PA tienes que contestar otra pequea prueba del rally. Te puede ayudar contestar algunas de las preguntas que har el comit del rally.
Cul de las siguientes instrucciones se usa para algo varias veces? Las instrucciones de decisin Los errores de programa pueden evitarse al incluir lo siguiente en tu programa Involucran una comparacin
Realizan una accin cuando una comparacin es cierta y otra falsa
ambas Un lenguaje de programacin
Instrucciones sencillas que describen lo que el programa va a hacer
El nombre del autor Comentarios
Espaciado
Ambos Instruccin de comparacin
Instruccin de bucle
Instruccin de asignacin
Un pseudo-cdigo es:
Unidad 04 Formsville, Virginia 64 Controles y propiedades de formato Temas en el camino a Formsville:
Aplicaciones de Windows Diseo 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 65 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 haba gran cosa que ver, pero ciertamente haba mucho papeleo que hacer. Tenas que llenar un formato de 10 pginas tan slo para pasar por el pueblo.
En la actualidad, Formsville es fantstica. Hay tantas cosas emocionantes que hacer que podras pasar un ao 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 queras crear y escogiste una aplicacin de Windows. Una aplicacin de Windows es un tipo de programa que tiene una interfase de usuario que brinda un formato para que tu usuario interacte 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 informacin de introduccin del usuario una vez que se abrieron. Mmmmm. Es un tanto aburrido, si me preguntas.
Unidad 04 Formsville, Virginia 66 Controles y propiedades de formato Diseo del formato
A m me gustan los juegos, y eso significa accin interactiva, por lo que todos los programas que escribo son aplicaciones de Windows. Las aplicaciones de Windows usan formatos para que disees lo que el usuario ve y como interacta con tu programa.
Cuando creas por primera vez una aplicacin de Visual Basic de Windows, Visual Studio agrega automticamente 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 interacte con tu programa. Digamos que tu aplicacin tiene un "formato de llanta ponchada" para introducir la informacin acerca de una llanta ponchada. He aqu una descripcin de los controles que necesitas en el formato de llanta ponchada y lo que hacen:
En un cuadro de texto, introduce el nmero de las placas del coche. De un grupo de botones de seleccin 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 tamao de la llanta Haz clic en un botn que busque en el inventario de las llantas En un cuadro de texto despliega una lista de las llantas disponibles incluyendo el fabricante, nmero de modelo, tamao, nmero de inventario y costo.
As que el formato de llanta ponchada tiene dos cuadros de texto, cuatro botones de seleccin, una lista desplegable, una casilla de verificacin, y un botn. Puedes organizarlos en el formato en muchas formas diferentes y es ah donde la diversin y al creatividad comienza.
Unidad 04 Formsville, Virginia 67 Controles y propiedades de formato Para m, uno de los aspectos ms agradables de la programacin es el diseo 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 tambin. 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 fcil de usar y no puede tener elementos innecesarios. Cuando diseo un formato me pregunto continuamente: "Cul es el objetivo de este formato? Qu se supone que haga?"
Tambin 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 lgica. Tengo que pensar en el orden en que el usuario introducir la informacin e interactuar con el programa. Algunas veces tengo que notificar al usuario que no ha introducido toda la informacin requerida, o que parte de la informacin es errnea. Cuando ests diseando 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 diseas un formato, tienes que recordar que todas las aplicaciones de Windows tienen una apariencia y un ambiente estndar. Un usuario espera que tu aplicacin siga ciertos lineamientos de diseo y se comporte de cierta manera. Por ejemplo, la primera eleccin del men de una aplicacin de Windows es "Archivo", y bajo "Archivo" se encontrar una eleccin de men llamada "Salir" que el usuario selecciona para cerrar el programa.
Un usuario estara muy sorprendido y molesto si hace clic en un botn llamado "Calcular resultados" y tu programa cambia el color del formato principal a rojo y traduce todos los ttulos de los botones al latn.
Unidad 04 Formsville, Virginia 68 Controles y propiedades de formato Uso del formato
Como sabes, cuando creas una nueva aplicacin de Windows, Visual Studio agrega automticamente un formato llamado Form1.vb. Este es el formato principal, o formato de inicio, de tu aplicacin. 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 navegacin a distintas partes de la aplicacin.
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 informacin o interactuar con el programa de otras maneras. Por lo general tienen un propsito especfico, como visualizar la puntuacin del boliche, introducir una lista de efectos secundarios o elegir configuraciones de programa. Despus de que el usuario ha introducido o visualizado la informacin en uno de estos formatos, ste se cierra por lo general y regresa al formato principal. Aunque Visual Studio solo agrega Form1, t puedes aadir 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 dilogo comn. Una vez que el usuario ley el mensaje, cierra el cuadro de mensaje haciendo clic en el botn OK.
Comencemos. Vas a disear tu propio formato: un formato de llanta ponchada. Despus agregars algunos controles de formato y establecers sus propiedades. Te mostrar como responden los controles de formato a acciones tales como hacer clic en un botn y volveremos a ver un formato integrado especial: nuestro viejo amigo el cuadro de mensajes.
Recomendacin para el profesor Form1.vb puede cambiarse de nombre con una denominacin ms descriptiva. Esto es deseable para las aplicaciones complejas. Recomendacin para el profesor Los alumnos estarn tentados a leer el material pero no a llevar a cabo realmente lo que est descrito en el texto. Se beneficiarn ms 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 69 Controles y propiedades de formato Propiedades del formato
Cuando creas una aplicacin nueva de Windows, Form1 se agrega automticamente. Tiene un tamao predeterminado de 300 por 300 pxeles. Cmo saba el tamao de Form1?, te preguntars. Bueno, hay una manera sencilla de verificarlo usando la ventana de propiedades. Lo que es ms, puedes cambiar el tamao del formato en la misma ventana.
Te mostrar los pasos. Primero, tienes que crear una nueva aplicacin 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 omisin.
2. Recorre la lista de propiedades de Form1 y ubica el rubro Tamao. Nota que ste tiene un signo de ms junto a l, lo que indica que puede expandirse para desplegar otras propiedades.
Unidad 04 Formsville, Virginia 70 Controles y propiedades de formato
3. Haz clic en el signo de ms ubicado junto a Tamao. Se despliegan las propiedades Altura y Ancho. La altura de Form1 es de 300 y el ancho es de 300. Vamos a cambiar el tamao 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 nmero 450. Oprime la tecla Enter listo! Acabas de cambiar el ancho del formato. Nota cmo el ancho del formato cambi en cuanto oprimiste la tecla Enter. Nota tambin cmo el valor del ancho ubicado junto al rubro tamao se estableci al mismo tiempo.
Unidad 04 Formsville, Virginia 71 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 estn en l. En la ventana de propiedades, ve a Color de fondo de Form1. Haz clic en la palabra Control. Un botn de flecha hacia abajo aparecer a la derecha; haz clic en l. Se abre una ventana de paleta de colores. Selecciona la pestaa 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 solucin y comienza tu proyecto. Ve el nuevo y extravagante color de fondo de tu formato. Adems, fjate 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 familiarzate con la lista. sta ventana te permite cambiar las propiedades del formato en el momento de disearlo. Como vers, la ventana de propiedades no es slo para formatos. Tambin te permite cambiar las propiedades de los botones, cuadros de texto y otros controles del mismo.
Unidad 04 Formsville, Virginia 72 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 ms comunes y como configurar sus propiedades mas tiles. Comencemos con los ttulos. Etiquetas
El control de formato Etiqueta se usa para etiquetar controles individuales o grupos de controles en tu formato. Tambin se usa comnmente para dar instrucciones o indicar el orden para introducir informacin en el formato.
Abre la ventana cuadro de herramientas y haz doble clic en el control de formato Etiqueta para agregar una etiqueta a tu formato. Arrstrala a una ubicacin adecuada deteniendo el botn izquierdo del ratn y moviendo el ratn. 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 brralo con la tecla de retroceso. Teclea las palabras Introducir licencia. Cuadro de texto
Un cuadro de texto puede usarse para desplegar informacin para el usuario o recabar informacin 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 Slo lectura a Falso para que el usuario pueda introducir texto en el cuadro de texto. Falso debe ser el valor predeterminado.
Recomendacin 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 caracterstica de un objeto, como el ancho o el color.
Unidad 04 Formsville, Virginia 73 Controles y propiedades de formato Los cuadros de texto a menudo se usan para desplegar una gran cantidad de informacin. 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 Multilnea a Verdadero. Pon la altura a 100 pxeles y el ancho a 100 pxeles. Si Multilinea se establece a falso, no podrs 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 seleccin
Los botones de seleccin se usan para ofrecerle al usuario opciones. ste puede seleccionar un solo botn de seleccin de un grupo de botones. Es como una prueba de opcin mltiple. En la ventana Cuadro de herramientas haz doble clic en el control de formato de botn de seleccin. Se agrega el botn de seleccin RadioButton1 al formato. Selecciona RadioButton1 en tu formato, oprime el botn derecho del ratn y selecciona Copiar del men. Haz clic en cualquier lugar en Form1, oprime el botn derecho del ratn, y selecciona Pegar del men. Como por arte de magia, se agrega RadioButton2. Repite la operacin Pegar para agregar RadioButton3 y RadioButton4. Selecciona RadioButton1 y abre la ventana de Propiedades. Escoge la propiedad Texto y cmbialo de "RadioButton1" a izquierdo, delantero. Cambia las propiedades de texto de los otros botones de seleccin: RadioButton2 a izquierdo, posterior, RadioButton3 derecho, delantero, RadioButton4 a "(derecho, posterior). Casilla de verificacin
Un cuadro de texto puede usarse para desplegar informacin para el usuario o para recabar informacin 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 Slo lectura a Falso para que el usuario pueda introducir texto en el cuadro de texto. Falso debe ser el valor predeterminado.
Las casillas de verificacin tambin se usan ofrecerle al usuario opciones. Un usuario puede seleccionar una o ms casillas de verificacin de un grupo. En la ventana Cuadro de herramientas haz doble clic en el control de formato de casilla de verificacin. Se agrega CheckBox1 al formato. Abre la ventana de propiedades y cambia Texto a "Rush Job" (trabajo urgente.)
Unidad 04 Formsville, Virginia 74 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 tamao de llanta. Ve a elementos y haz clic en la palabra Coleccin. Un botn de elipsis (botn con tres puntos en l) aparece a la derecha. Haz clic en el botn ellipsis y se abre una ventana en donde puedes introducir una lista de elementos que aparecern en la combobox. Debes colocar cada elemento de la lista en una lnea independiente. Despus de haber introducido un elemento, haz clic en Entrar para crear una lnea nueva. En la ventana introduce 12, oprime Entrar, introduce 13, oprime Entrar, introduce 14; oprime Entrar e introduce 15. Haz clic en el botn OK para cerrar la ventana.
Botones de comando
Un cuadro de texto puede usarse para desplegar informacin para el usuario o para recabar informacin 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 Slo lectura en Falso para que el usuario pueda introducir texto en el cuadro de texto. Falso debe de ser el valor predeterminado.
Agrgale un botn 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 botn de elipsis. Haz clic en el botn 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 solucin 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 seleccin, un botn de seleccin diferente, la casilla de verificacin? Introduce algn 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 aplicacin.
Unidad 04 Formsville, Virginia 75 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 cdigo Visual Basic.NET al formato y los controles de formato.
Asegrate de familiarizarte con las varias propiedades de cada control de formato que agregaste. Puedes reorganizar los controles de formato para hacer el formato ms claro y fcil de usar. Puedes agregar ttulos que le digan al usuario para qu se utilizan los diferentes controles y dar instrucciones sobre qu tipo de informacin se necesita. Cmo crees que deben organizarse los controles en el formato? Qu control debe estar al principio y cul al final? Recomendacin para el profesor El alumno debe usar la ventana de propiedades para revisar las propiedades de cada control.
Unidad 04 Formsville, Virginia 76 Controles y propiedades de formato
Un formato y muchos objetos de formato tienen las mismas propiedades. Algunas de las ms comunes son: Color de fondo Habilitado Color frontal Ubicacin Nombre Tamao (altura, ancho) Texto Visible
En J# y C# el diseo de formato es exactamente igual que en VB.NET. Se facilita gracias a Visual Studio.NET. Slo abrimos el Cuadro de herramientas y arrastramos los controles de formato hacia el formato. Despus abrimos la ventana de propiedades y las configuramos.
Unidad 04 Formsville, Virginia 77 Controles y propiedades de formato 04 Ejercicio 01 Quin es quin
Te gustara saber ms acerca de la gente con la que ests 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 cdigo suministrado, aprenders ms acerca de tus compaeros de viaje.
Puedes obtener el cdigo de base 04_ proveit_01_template code (solucin) de tu instructor o del sitio de internet del curso si es que lo ests tomando en lnea. Coloca la solucin en una carpeta individual. Debes tener dos carpetas (papelera, objetos) y 7 archivos.
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. Tambin debers actualizar elementos en la ventana de propiedades como se describe a continuacin.
Quin es quin Debes crear un formato para desplegar las biografas de Nikki, Cliff, Jen, Dirk y DJ Vu. Tendrs el cdigo 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 botn Descargar para descargar el archivo.
Unidad 04 Formsville, Virginia 78 Controles y propiedades de formato
1. Haz clic una vez en el formato para resaltarlo y despus usa la ventana de propiedades para cambiar el nombre del formato a Whoswho.
2. Coloca dos casillas de verificacin en el formato. Deja los nombres predeterminados como CheckBox1 y CheckBox2. Cambia las propiedades de Texto a Mostrar imagen y Mostrar biografa.
3. Coloca cinco botones de seleccin 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 ms en el tamao.
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 lneas de biografa. Visual Basic no te permitir ajustar la altura de un cuadro de texto hasta que colocas PRIMERO la propiedad Multilnea en Verdadero. Visual Basic sabe que si slo tienes una lnea no hay razn 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 ms lneas de biografa de las que pueden caber en el cuadro.
7. Coloca un botn de comando llamado Button1. Ajusta la propiedad Texto a Salir.
Una vez que hayas creado tu formato, crea la solucin. Si no hay errores de creacin, escoge Depurar / Iniciar para ejecutar tu programa.
Si tu programa funciona correctamente, mustraselo a tu instructor.
Recomendacin para el profesor El alumno coloca objetos en un programa parcialmente terminado. No debe escribe ningn cdigo.
Unidad 04 Formsville, Virginia 79 Controles y propiedades de formato Desencadenar acciones
Las acciones son producidas por acciones del usuario. Por ejemplo, cuando un usuario oprima un botn, 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 tambin generan eventos. T usas estos eventos para ejecutar el cdigo VB.NET asociado con ellos. El cdigo VB.NET produce que tu programa haga lo que se supone que tiene que hacer.
Cuando escribiste la aplicacin HelloWorld, hiciste doble clic en el botn y la ventana de cdigo se abri para que pudieras introducir el cdigo en la accin Button1_Click. La accin Button1_Click es el evento predeterminado para un botn. Cada control de formato tiene un evento predeterminado. Cuando ests en modo de diseo, haz doble clic en el control de formato y la ventana de cdigo se abrir para el evento predeterminado.
Por ejemplo:
Para un botn el evento predeterminado es hacer clic en l. Para un cuadro de texto el evento predeterminado es Cambio de texto. Para un botn de seleccin el evento predeterminado es marcado cambiado. Para una casilla de verificacin , el evento predeterminado es Marcado cambiado) Para un ComboBox , el evento predeterminado es SelectedIndexChanged (ndice seleccionado cambiado.
Para mostrarte cmo funciona esto, les agregaremos algunos cdigos a los eventos predeterminados de los controles de formato del "formato de llanta ponchada". El cdigo mostrar un cuadro de mensaje que despliega el tipo de control que envi la accin. En modo de diseo, haz doble clic en cada uno de los controles de formato que agregaste. La ventana de cdigo se abrir para la accin predeterminada de cada control. Pega la siguiente lnea de cdigo en cada de seccin de evento.
MessageBox.Show(sender.GetType.Name)
Crea tu solucin 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 80 Controles y propiedades de formato
Si el formato de llanta ponchada fuera parte de una aplicacin real, agregaras un cdigo a las acciones predeterminadas para brindarle la funcionalidad que requiere tu programa. Por ejemplo, cuando haces clic en el botn Conseguir las llantas, se desplegar en el cuadro de texto una lista de llantas disponibles. Recomendacin para el profesor Puede suceder que un alumno haga doble clic en el control equivocado, como una etiqueta, creando un cdigo de evento por clic. Por lo general, cuando un alumno borra un cdigo innecesario, no hay problema. A veces, VB crea un cdigo adems del cdigo de evento por clic. Ese cdigo tambin debe borrarse para completar un proceso de creacin. Una creacin marcar el error para que sea fcil de encontrar.
Unidad 04 Formsville, Virginia 81 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 descubrirs 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 informacin 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 lnea de cdigo 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 mtodo 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 cdigo para un cuadro de mensaje en C#. Es el mismo que en J# tambin.
{ MessageBox.Show("Hello World"); }
Unidad 04 Formsville, Virginia 82 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.
Los controles de formato tienen ms de un evento predeterminado. La mayora 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 ratn Salida de ratn y muchos ms!
Para ver todos los eventos para un control de formato, selecciona el control. Haz clic con el botn derecho y selecciona Ver cdigo del men emergente. La ventana de cdigo 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 cdigo asociado con ellos.
Unidad 04 Formsville, Virginia 83 Controles y propiedades de formato Cuadros de mensajes A menudo descubrirs 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 informacin 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 lnea de cdigo 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 mtodo 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 cdigo para un cuadro de mensaje en C#. Es el mismo que en J# tambin.{ MessageBox.Show("Hello World"); } Recomendacin para el profesor Un cuadro de mensaje tiene un formato ms complejo que despliega botones que el usuario puede pulsar (Ej. si, no, cancelar). El programador puede revisar para ver que eleccin hizo el usuario. Los cuadros de mensaje complejo no se usan en este curso. Por ejemplo, Dim EleccinUsuario como Integral EleccinUsuario = MessageBox.Show ("pregunta aqu?", vbYesNo, "ttulo aqu") Si EleccinUsuario = vbYes entonces "si" cdigo aqu o "no" cdigo aqu Terminar condicional
Unidad 04 Formsville, Virginia 84 Controles y propiedades de formato Entrada a Formsville
Buen trabajo en la creacin de ese formato de llanta ponchada! Ahora ves porque me gusta tanto el diseo de formatos. Se que ests listo para Formsville. Intenta resolver estos Ejercicios, contesta la pequea prueba, y estars en camino de convertirte en un diseador profesional de formatos.
04 Ejercicio 02 Precio de la Pizza
Qu sera 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 disear el formato de cualquier manera. Te daremos el cdigo. 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.
Necesitas tres botones de seleccin, dos ttulos y 8 casillas de verificacin. Precio de la pizza
Crears un formato para desplegar el precio de una pizza. Te damos el cdigo de Visual Basic.NET. El archivo 04_proveit02_files tiene las instrucciones para este ejercicio y los archivos de apoyo que necesitars. Haz clic en el botn Download para descargar el archivo
Unidad 04 Formsville, Virginia 85 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 dlares por una pizza regular, $1 dlar ms por cada carne adicional, y $0.50 centavos por cada ingrediente vegetal extra. Una pizza mediana cuesta 25% ms y una grande 50% ms que una regular.
Una vez creado tu formato, crea la solucin. Si no hay errores de creacin, elige Depurar/iniciar para ejecutar tu programa. Si tu programa funciona correctamente, mustraselo a tu instructor.
Extensin / desviacin
Muestra el precio formateado con apariencia de dinero. Visual Basic.NET tiene una funcin conveniente para esto. Coloque una variable dentro de la funcin 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.
Recomendacin para el profesor La funcin 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. Slo significa que el elemento en el cuadro de texto es formateado al momento en que se aplica la funcin. Si el contenido del cuadro de texto es reemplazado posteriormente, el formato desaparece, salvo que se aplique nuevamente al momento de la actualizacin.
Unidad 04 Formsville, Virginia 86 Controles y propiedades de formato
04 Reto Gato
Ya que casi todos en el viaje usan la computadora porttil, los juegos de computadora son una forma de pasar el tiempo cuando el paisaje es aburrido.
Tu misin, si decides aceptarla, es escribir el clsico juego de gato usando Visual Basic.NET. Dirk encontr el cdigo para el programa en un portal de internet poco conocido pero falta el cdigo del formato. Debes pintar el formato para que corresponda al cdigo. Si haces eso correctamente, tendrs un juego de gato listo para jugar.
Tu instructor te dar el cdigo de base 04_challenge_template code o lo obtendrs en el portal de internet si ests tomando el curso en lnea. Coloca la solucin en una carpeta individual. Debes tener dos carpetas (papelera, objeto) y 7 archivos.
Abre Visual Studio.NET, selecciona Proyecto existente, y navega al archive llamado TicTacToe.sln. Otra opcin, 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. Tambin debers actualizar elementos en la ventana de propiedades como se describe abajo.
1. Haz clic en el formato para enfocarlo. Cambia el ttulo del formato a Gato.
2. Crea 9 ttulos llamados Label1 a Label9. Organzalos para que Label1 se encuentre en el extremo superior izquierdo y Label9 est en el extremo inferior Gato En este Reto debes crear el formato usado por el programa Gato. El cdigo est incluido. Cuando pintes el formato correctamente, tendrs listo el juego llamado gato. El archivo 04_challenge_files tiene las instrucciones para este Reto y los archivos de apoyo que necesitars. Haz clic en el botn Descargar para descargar el archivo. Despus haz doble clic en el archivo para accesar las instrucciones y archivos necesarios.
Unidad 04 Formsville, Virginia 87 Controles y propiedades de formato derecho. Puedes ahorrar mucho tiempo haciendo un ttulo, configurando las propiedades, y despus copiando y pegando el titulo 8 veces ms.
Haz estos cambios en todos ellos:
Altura 48 Ancho 48 Fuente Microsoft Sans Serif Negrita 36 Color de fondo Puede quedarse como el gris predeterminado Texto Puede quedarse como el predeterminado
3. Crea un ttulo llamado Label10 a continuacin del 9 anterior.
Altura 25 Ancho 175 Fuente Microsoft Sans Serif Negrita 16 Color de fondo Puede quedarse como el predeterminado Texto Puede quedarse como el predeterminado
4. Crea 3 ttulos 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. Colcalos junto a los ttulos creados en el paso 4.
6. Crea un botn llamado Button1, como se muestra. Cambia este texto a Jugar de nuevo.
7. Crea un botn llamado Button2, como se muestra. Cambia su texto a Fin.
Una vez que hayas creado tu formato, crea la solucin. Si no hay errores de creacin, elige Depurar/iniciar para ejecutar tu programa.
Si tu programa funciona correctamente, mustraselo a tu instructor.
Recomendacin para el profesor Las letras L grandes en la pgina previa representan la primera letra de un ttulo que tiene una fuente grande.
Unidad 04 Formsville, Virginia 88 Controles y propiedades de formato
Extension / Desviacin
Cambia el color de fondo del formato. Cambia la fuente de todos los botones, cuadros de texto, etc. a una fuente ms 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 pequea prueba del rally. Te puede ayudar contestar algunas de las preguntas que har el comit del rally. suerte!
Qu se usa en un formato para permitirle al usuario interactuar con tu programa? En Visual Basic, qu hacen los eventos? Qu control puede usarse para desplegar y recabar informacin? Cambian las propiedades de un cuadro de texto Actualizan la carpeta fuente Hacen que se ejecute el cdigo Profundidad
Propiedades
Ventanas hijas Cuadro de texto
Etiqueta
Botn de comando Controles
Objetos
Tanto controles como objetos Un formato y sus controles tienen: INTENTA LA PRUEBA DE NUEVO
Unidad 05 Proper, Georgia 89
Temas en el camino a Proper Propiedades Dnde inicia el cdigo Leer propiedades con el cdigo Configurar propiedades con el cdigo Mtodos IntelliSense y notacin de punto Llamar mtodos con el cdigo. Entrada a Proper
Unidad 05 Proper, Georgia 90 Propiedades
Formsville fue muy divertido! Yo s que es uno de los lugares favoritos de Cliff, l sabe mucho acerca del diseo 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. Debers tener muy buenos modales cuando lleguemos all, durante el camino te ensear ms cosas respecto a las propiedades, te ensear como leerlas y configurarlas usando el cdigo Visual Basic.NET. Despus de aprender sobre dichas propiedades, te ensear un poco acerca de los mtodos y como accesarlos tambin.
Unidad 05 Proper, Georgia 91 Dnde inicia el cdigo
Es divertido disear un formato y configurar los controles correspondientes usando la ventana de propiedades, pero esto es slo el principio, la ventana de propiedades es muy fcil de usar, pero no es muy verstil. Qu pasa si tu usuario desea cambiar el color de fondo del formato cuando est usando tu programa? Qu pasa si necesita cambiar el tamao o estilo de fuente? Cmo sabe tu programa si un usuario ha marcado algn cuadro de verificacin o ha hecho clic en un botn de opcin en particular? Dado que tus usuarios no tendrn que accesar la ventana de propiedades cuando ejecutan tu programa, Cmo podran hacer estas cosas?
Bien, la respuesta es por medio del cdigo Visual Basic.NET, con l puedes hacer todo esto y mucho ms usando el cdigo. T mismo escribes cdigo para leer las propiedades de los controles de formato. T mismo escribes ms cdigos para configurar sus propiedades. Es as de simple y es muy poderoso. En mi opinin, es aqu donde empieza realmente la programacin.
Usa la ventana de propiedades para configurar las propiedades iniciales de tu formato y los controles de formato cuando lo ests diseado. Usa el cdigo para cambiar las propiedades durante la ejecucin del programa.
Unidad 05 Proper, Georgia 92 A dnde va todo este cdigo? Escribirs tu cdigo en la pgina correspondiente de tu formato. En la mayora de los casos lo colocars en las secciones de eventos de tus controles de formato. Recuerdas el botn clic por evento? Cuando un usuario realiza una accin, como la de pulsar un botn, el cdigo que escribes para la seccin de evento se ejecuta y la propiedad de un control de formato se lee o se configura. Cuando agregas un cdigo a los eventos de los controles del formato, ests realizando los primeros pasos para convertir un formato en un programa funcional. Recuerdas el formato de llanta ponchada que diseaste? El formato no puede hacer nada hasta que le hayas agregado un cdigo.
A continuacin te dar unos cuantos ejemplos de como leer las propiedades de los controles de formato usando el cdigo Visual Basic.NET. Posteriormente te dar unos ejemplos de cmo configurarlas.
Para editar la seccin de eventos predeterminada de un control, selecciona el control en tu formato y haz doble clic en l. La ventana de cdigo se abre y el cdigo de la seccin de evento est listo para su edicin. Puedes escoger una seccin de evento diferente de una lista desplegable en el extremo superior derecho de la ventana de cdigo.
Unidad 05 Proper, Georgia 93 Lectura de las propiedades con el cdigo
Vamos a ver algunos ejemplos reales respecto a la forma de leer propiedades con el cdigo Visual Basic.NET. Para iniciar, te mostrar unos ejemplos de como leer algunas propiedades sencillas que normalmente se configuran usando la ventana de propiedades. Despus de esto te dar unos ejemplos ms de cmo leer algunas propiedades que los usuarios pueden cambiar cuando estn usando tu programa. Ahora, sigamos adelante.
Crea una nueva aplicacin de Windows llamada Leer propiedades, abre el cuadro de herramientas y agrega un botn 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 cdigo de evento del botn de clic. Teclea este cdigo:
MessageBox.Show(Button1.Text)
Crea e inicia tu aplicacin. Haz clic en el botn 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 cdigo ley la propiedad de texto de Button1 y despus despleg su valor usando un mensaje. Esto es fantstico.
Este es otro ejemplo. Agrega otro botn a Form1. Usa la ventana de propiedades para cambiar la propiedad de texto de Button2 a Tamao del formato. Haz doble clic en el Button2 para editar el cdigo de evento del botn de clic. Teclea la siguiente lnea de cdigo en el evento del clic de botn.
Crea e inicia tu proyecto. Haz clic en el botn tamao de formato. Un cuadro de mensaje despliega: 300,300 (o un valor aproximado, asumiendo que dejaste el formato en su tamao original) tu cdigo ha desplegado la altura y ancho de Form1, separado por una coma, lo cul est muy bien y fue realmente sencillo.
Qu otras propiedades puede leer el cdigo Visual Basic.NET? Bueno, en realidad, el cdigo Visual Basic.NET puede leer todas las propiedades de un formato o control de formato, los cuales estn en la lista de la ventana de propiedades. Tu cdigo 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 diseas el formato y no cambian cuando el programa se ejecuta. Por lo tanto, el hecho de leerlas con el cdigo no es tan til ni emocionante.
Unidad 05 Proper, Georgia 94
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 verificacin. De esta manera tu programa obtiene informacin de tu usuario. Qu nmero de placas introdujo Len? Qu llanta est ponchada? Qu tamao de llanta escogi Cliff?
Aqu hay un ejemplo ms prctico. Vamos a escribir un cdigo que muestre si un cuadro de verificacin est marcado o no. Abre el cuadro de herramientas y agrega un cuadro de verificacin a Form1. Agrega un tercer botn a Form1. Abre la ventana de propiedades y cambia el texto del Button3 a verifcame. Haz doble clic en el Button3 para editar el cdigo de evento de clic.
Teclea la siguiente lnea de cdigo en el evento de clic:
MessageBox.Show(CheckBox1.Checke d)
Crea e inicia tu proyecto. Haz clic en el botn verifcame. Qu despliega el cuadro de mensaje? Marca el cuadro de verificacin y haz clic en el botn Verifcame otra vez. Ahora qu despliega el cuadro de mensaje? Cada vez que haces clic en el botn, el cuadro de mensaje despliega la propiedad actual del cuadro de verificacin. Debe decir cierto.
Recomendacin para el profesor El alumno debe saber como leer y cambiar las propiedades usando el cdigo, hasta que aprenda tambin las instrucciones condicionales, hay serias limitaciones sobre que tan interesante puede ser un programa. Esa es A3, B2 y mi favorita, B9.
Unidad 05 Proper, Georgia 95 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 botn a Form1. Cambia el texto de Button4 a leer el texto. Haz clic en Button4 para editar el cdigo del evento de clic. Teclea la siguiente lnea de cdigo.
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 botn Leer texto. Qu despliega el cuadro de mensaje? Cambia el texto en TextBox1 y haz clic en el botn 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 cdigo 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 lnea, el cdigo se ve igual que en Visual Basic.NET. Tambin, en J# y C# TextBox1 inicia con t minscula.
Los ejemplos que expuse anteriormente, demuestran cmo se usa el cdigo Visual Basic.NET para leer propiedades de controles del formato. Pero eso slo es una parte de la historia, porque el cdigo Visual Basic.NET tambin se usa para configurar propiedades.
Unidad 05 Proper, Georgia 96
Configuracin de propiedades con cdigo
Es fantstico poder leer las propiedades de los controles mediante el cdigo Visual Basic.NET. De este modo nuestro cdigo puede capturar las configuraciones que hacen los usuarios cuando usan el programa. Tu programa puede realizar diferentes acciones o ejecutar un cdigo 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 verificacin de trabajo urgente cuando el usuario inicia el programa. Quiero que el programa despliegue todos los tamaos disponibles de las llantas en un cuadro de texto cuando el usuario hace clic en el botn Conseguir las llantas. Quiero que la lista de tamaos de llantas disponibles se cargue automticamente en la lista desplegable una vez que el usuario introduzca un nmero de placas del vehculo.
Por supuesto que el cdigo Visual Basic.NET me permite hacer todo eso! Configurar las propiedades de controles es tan fcil como leerlas. Para configurar una propiedad usando el cdigo Visual Basic.NET usamos una instruccin de asignacin. Recuerdas que hablamos de las instrucciones de asignacin de camino a Pseudo, PA? Una instruccin de asignacin configura a un elemento con otro. El cdigo para una instruccin de asignacin se ve como una ecuacin sencilla con un signo de igualdad en ella.
TextBox1.Text = "Code Rules"
El lado derecho de la ecuacin (la parte a la derecha del signo de igual) se evala primero. Despus el lado izquierdo de la ecuacin (la parte a la izquierda del signo de igual) se configura con este valor.
Recomendacin 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 despus es asignado a la variable en el lado izquierdo. Slo la variable del lado izquierdo se cambia.
Unidad 05 Proper, Georgia 97 Estos son algunos ejemplos sobre la forma de configurar propiedades usando el cdigo Visual Basic.NET. El primer ejemplo configura el contenido de un cuadro de texto. Esta es una grandiosa forma de desplegar informacin para el usuario, puede usarse en vez de que siempre emerja un cuadro de mensaje. Inicia una nueva aplicacin de Windows y dale el nombre de ConfiguraPropiedades. Agrega dos cuadros de texto y un botn a Form1. Usa la ventana de propiedades para configurar el texto del Button1 con Configurar texto. Configura el texto de TextBox1 y TextBox2 dejndolo en blanco, haciendo doble clic en sus propiedades de texto y oprimiendo la tecla de retroceso. Haz doble clic en Button1 para editar el cdigo de evento del botn de clic. Agrega la siguiente lnea de cdigo:
TextBox2.Text = TextBox1.Text
Crea e inicia tu proyecto. Teclea texto en TextBox1 y haz clic el botn 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 cdigo Visual Basic.NET lee la propiedad de texto de TextBox1 y despus configura la propiedad de texto de TextBox2 con este valor. Eso es prctico.
Vamos a agregar un cdigo para que un cuadro de verificacin est seleccionado automticamente y un segundo cuadro de verificacin estar automticamente sin seleccionarse cuando el usuario abra la aplicacin. Agrega un cuadro de verificacin a Form1 y configura su propiedad de texto con trabajo urgente usando la ventana de propiedades. Agrega un segundo cuadro de verificacin 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 cdigo de evento de carga de Form1_Load para su edicin. El cdigo del evento de carga de formato se ejecuta cuando el formato se crea por primera vez y se despliega antes de que cualquier otro cdigo de programa haya sido ejecutado. Agrega las siguientes lneas de cdigo:
Crea e inicia tu proyecto. Cul de las casillas de verificacin est marcada? Tu cdigo configur automticamente la propiedad de checked para las dos casillas de verificacin cuando se carg el formato.
Unidad 05 Proper, Georgia 98
Yo s que el tamao de llanta ms comn es el 14. Entonces, vamos a usar el cdigo para elegir automticamente 14 en nuestro cuadro combinado de tamao 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 lnea nueva para cada elemento en la lista. Haz doble clic en Form1 (no en ComboBox1) para editar el cdigo de carga de formato. Agrega la siguiente lnea de cdigo:
ComboBox1.SelectedItem = "14"
Crea e inicia tu proyecto. Qu elemento est seleccionado en el cuadro combinado? Pensemos que me equivoque, descubr que el tamao de llanta ms comn es 13. Cmo cambiaras el cdigo para seleccionar automticamente 13 en el cuadro combinado?
En J# y C# puedes configurar las propiedades igual que en Visual Basic.NET. El cdigo a continuacin muestra cmo configurar la propiedad de verificada de una cuadro de verificacin en C# o en J#.
{ checkBox1.Checked = True; }
05 Ejercicio 01 Arco iris El evento de carga de formato se usa a menudo para inicializar un programa. La inicializacin configura ciertos valores antes de que el formato se despliegue para el usuario. Por ejemplo, podramos agregar cdigo al evento de carga de formato para configurar el tamao del formato y su color de fondo as como seleccionar ciertos botones de opcin antes de que se despliegue el formato.
Unidad 05 Proper, Georgia 99
Inspirado por un lindo arco iris que vimos desde el asiento frontal de la camper, nuestros compaeros decidieron ver quien poda imitar la vida con un programa artstico.
Tu tarea es demostrar que puedes manipular tambin las propiedades usando cdigo 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.
Tu tarea es agregar objetos del cuadro de herramientas para que el formato tenga esta apariencia. Tambin actualizars elementos en la ventana del cdigo como se describe a continuain.
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 estndar al Button1. Nombra Personalizar colores al Button2.
Arco iris de colores. Disears un formato que despliegue un arco iris de colores. Modificars un cdigo existente para hacer que el programa funcione y lo agregars 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.
Unidad 05 Proper, Georgia 100
4. Haz doble clic en el Button1 para ver el cdigo que ya te dimos. Vers 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 cdigo:
MyPen.Color = System.Drawing.Color.Black
Con este cdigo
MyPen.Color = System.Drawing.Color.Red
En cuanto se teclea el punto despus 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 cdigo que ya se te asign. En vez de negro, escoge los siete colores que quieras.
Una vez que hayas creado tu formato, crea la solucin. Si no hay errores de creacin, escoge Depurar/ Iniciar para ejecutar tu programa.
Si tu programa funciona correctamente, mustraselo a tu instructor.
Prueba extra
Si quieres, puedes hacer cambios a los parmetros de Dibujar arco para la opcin personalizar con el propsito de obtener otros resultados interesantes.
Recomendacin para el profesor La funcin Dibujar arco es en realidad un valo circunscrito por un rectngulo invisible. Los parmetros especifican el tamao del rectngulo, donde inicia el arco y hasta donde llega el arco. El hecho de cambiar los parmetros puede producir algunos efectos interesantes.
Unidad 05 Proper, Georgia 101 IntelliSense y notacin de punto
Ahora sabes como escribir un cdigo Visual Basic.NET para leer y configurar todas las propiedades de los formatos y los controles de formato. S, apuesto que puedo adivinar cul es tu siguiente pregunta. Ya que cada formato y control tiene tantas propiedades, cmo llevo un control de todas ellas? No es muy conveniente estar cambiando de la ventana de cdigo a la Ventana de propiedades cada vez que necesitamos saber qu propiedad pertenece a un control en particular. No hay otro modo ms fcil?
En efecto, s lo hay. Se llama IntelliSense. Es una parte de Visual Studio. IntelliSense ahorra mucho tiempo cuando ests escribiendo un cdigo en la ventana de cdigo. 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 ms 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 cdigo. Con IntelliSense no tienes que memorizar todas las propiedades de todos los controles. Te ahorra capturar mucha informacin! Yo lo uso todo el tiempo.
Recomendacin para el profesor De ser posible, haga una demostracin de Intellisense. Seale 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. El grupo y yo hemos tocado durante tanto tiempo que ya saben que voy a hacer a continuacin
Unidad 05 Proper, Georgia 102
Inicia una nueva aplicacin de Windows llamada IntelliSense. Agrega un cuadro de texto y un botn a Form1. Haz doble clic en el botn para abrir el cdigo 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 ms 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 ms 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 cdigo despus de TextBox1. Ahora escribe ="Clifford". El cdigo ahora debe decir:
TextBox1.Text = "Clifford"
No fue fcil y rpido? IntelliSense ayuda a eliminar errores de captura y tambin de sintaxis. Es el mejor.
Unidad 05 Proper, Georgia 103
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 sealando un elemento en una lista. El icono que representa un mtodo es un cuadro prpura o diamante prpura. (En un minuto te explicar los mtodos.) Dependiendo del control, tambin 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 Notacin de punto, una vez que tecleas el nombre del control, como TextBox1, tienes que teclear un punto (.). Despus tecleas el nombre de la propiedad. El punto es lo que conecta el control con su propiedad. Esta es la sintaxis bsica para referir una propiedad de un formato o control usando notacin de punto:
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 Ya que todas las propiedades estn resaltadas en la lista Intellisense, una recomendacin aparece junto a ella. La recomendacin te da informacin acerca de la propiedad de, como si se trata de una propiedad de slo lectura que no puede configurarse. La recomendacin tambin da informacin acerca de los parmetros de configuracin de la propiedad, tales como una cadena (texto) o un entero.
Unidad 05 Proper, Georgia 104 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 tendrs 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 tambin est disponible. Funciona igual que Visual Basic.NET. Solo teclea el nombre de tu control y despus un punto (.). IntelliSense despliega una lista de propiedades y mtodos disponibles. Debido a que J#, C# y Visual Basic.NET estn basados en el marco de trabajo .NET, la lista de propiedades y mtodos 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 mtodos.
Unidad 05 Proper, Georgia 105 Mtodos Probablemente ya te diste cuenta de que algunas de las propiedades en la lista desplegada por IntelliSense tienen un icono de diamante prpura junto a ellas. Estas no son propiedades sino mtodos. Las propiedades son caractersticas del control, tales como el color, nmero de asientos, libras de cromo y caballaje del motor son caractersticas de los autos. Los mtodos tienen ms similitud con las acciones del control, tales como girar a la derecha, parar, y acelerar hasta el fondo son acciones de los autos. Los mtodos no pueden accesarse mediante la ventana de propiedades. Para desplegar los mtodos debe usarse un cdigo.
Por ejemplo, la mayora de los controles de formato tienen un mtodo para ocultar y mostrar. Cuando usas el mtodo ocultar de un control, el control deja de ser visible aunque est en el formato. Cuando usas el mtodo mostrar, el control se hace visible. Algunos mtodos te permiten producir una accin que normalmente sera realizada por un usuario. Por ejemplo, un botn tiene un mtodo Hacer clic el cul permite que tu cdigo hacer clic en un botn, simulando la accin de un usuario.
Algunos mtodos requieren que incluyas cierta informacin cuando los usas. Esta informacin afecta la forma en que se realiza el mtodo y los resultados. Estos datos se llaman argumentos del mtodo. Un mtodo puede requerir uno o ms argumentos. Algunos de ellos pueden ser opcionales.
Por ejemplo, el mtodo 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 mtodo para mostrar el cuadro de mensaje pero tal vez no te diste cuenta que estabas usando un mtodo con un argumento.
MessageBox.Show("Hola Mundo")
En el cdigo que est sobre el texto "Hello World" se encuentra un argumento del mtodo para mostrar. El argumento determina lo que se despliega en el cuadro de mensaje. Recuerda, la diferencia principal entre las propiedades y los mtodos es que stos realizan una accin. Los mtodos tienen que usarse partiendo del cdigo y no pueden accesarse a partir de la Ventana de propiedades. Algunos mtodos pueden requerir uno o ms parmetros (argumentos) cuando se usan. Algunos mtodos devuelven un valor que puedes usar en tu cdigo.
Llamar mtodos con el cdigo
La sintaxis para llamar un mtodo es casi idntica a la sintaxis de configuracin o lectura de una propiedad. Usa la notacin de punto para conectar el control de formato con su mtodo. Algunos No, eso es falso
Unidad 05 Proper, Georgia 106 mtodos, 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 mtodo es:
Recuerda que usaste el mtodo mostrar del cuadro de mensaje cuando diste un argumento:
MessageBox.Show(Hello World)
Como puedes ver, una gran diferencia entre llamar un mtodo y leer (o configurar) una propiedad es que no hay un signo de igual en el cdigo empleado para llamar un mtodo.
Ahora veamos algunos de mis mtodos favoritos y como puedes usarlos partiendo del cdigo. Te dar unos ejemplos de como ocultar y mostrar controles de formato, borrar el texto en un cuadro de texto y establecer la ubicacin del cursor. Para empezar, inicia una aplicacin nueva de Windows llamada Mtodos. 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 lnea de cdigo. TextBox1.Show()
En el evento de clic de Button2 agrega la siguiente lnea de cdigo.
TextBox1.Hide()
Crea e inicia tu aplicacin. Haz clic en los botones "Show" y "Hide". Cada vez que haces clic en un botn ests usando un mtodo del control del botn. Agrega un tercer botn a Form1. Configura el texto de Button3 con "Reset" agrega el siguiente cdigo al evento de clic de Button3.
TextBox1.ResetText() TextBox1.Focus()
El mtodo ResetText elimina el texto del cuadro de texto. El mtodo Focus coloca el cursor en el cuadro de texto. Crea e inicia tu aplicacin. Teclea el texto en el cuadro de texto y haz clic en el botn Reset. El texto se elimina del cuadro de texto y el cursor se coloca automticamente en el cuadro de texto, listo para teclear datos.
Recomendacin para el profesor Una alternativa comn para TextBox1.ResetText() es el no asignar nada TextBox1.Text = y el interior de las comillas est vaco.
Unidad 05 Proper, Georgia 107 Como habrs adivinado, los mtodos se usan en J# y C# igual que en Visual Basic.NET. Este es un cdigo de J# que elimina el texto de un cuadro de texto y pone el cursor en el cuadro de texto. El cdigo C# se ve exactamente igual.
{ TextBox1.ResetText(); TextBox1.Focus(); }
Unidad 05 Proper, Georgia 108 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 mtodos de controles de formato usando cdigo Visual Basic.NET. Como viste, la mayor parte del cdigo pasa a las secciones de eventos de los controles de formato. Para abrir el cdigo para la seccin de eventos slo haz doble clic en el control, la ventana de cdigo se abre y la seccin de evento est lista para edicin. Para leer o configurar una propiedad, o usar un mtodo, teclea el nombre de un control y despus teclea un punto (.). IntelliSense muestra una lista de propiedades y mtodos disponibles para el control. Selecciona el que quieras y oprime la tecla de tabulador para agregarlo a tu cdigo.
Tenemos tiempo suficiente para un Ejercicio o dos y una prueba antes de que nos pongamos algo ms elegante y vayamos al Peach 'n Bass Caf. Listo?
El fantstico mapa de viaje inspir a Nikki a preguntar si alguien podra 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 cdigo VB real, no slo 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. Tambin deber actualizar los elementos en la ventana de cdigo como se describe a continuacin.
1. Haz clic en el formato y cambia el nombre del formato a Medidor de viaje.
2. Crea 13 botones de opcin. Que el ancho de cada botn sea 150 pxeles. Tal vez quieras usar la funcin copiar y pegar.
3. Alinalos verticalmente y despus sepralos uniformemente. Sabas 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.
Medidor de avance del viaje
Crea un formato que muestre un medidor que indique el avance del viaje de las reglas de cdigo. Puedes agregar un cdigo 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. Fin
Unidad 05 Proper, Georgia 110
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 botn llamado fin. Haz doble clic para obtener la pgina de cdigo asociado. Coloca la palabra fin en el evento del clic de botn.
6. Coloca una barra vertical de desplazamiento en tu pgina. Tal vez tengas que recorrer el cuadro de herramientas usando el tringulo 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 ms delgado, cambia el parmetro mximo para la barra de desplazamiento a 1000.
7. Ahora puedes escribir el cdigo. Haz doble clic en el primer botn de opcin. Coloca esta lnea de cdigo en el evento de clic.
VScrollBar1.Value = 0
Este mueve el indicador de desplazamiento a la posicin cero, para el rango de 0 1000. Para cada botn de opcin, usa una lnea de cdigo similar, haciendo cada valor 83 veces mayor que el valor previo. El ltimo valor debe ser 1000.
Una vez creado tu formato, crea la solucin. Si no hay errores de creacin, elige Depurar / Iniciar para ejecutar tu programa.
Si tu programa funciona correctamente, mustraselo a tu instructor.
Unidad 05 Proper, Georgia 111 05 Reto Flores
Cuando pasamos por un campo de flores me pongo de buen humor. Creo que deberamos tener un programa de flores.
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 pgina de cdigo. Justo arriba del cdigo hay dos listas desplegables. De la lista desplegable izquierda, escoge Label1. Recomendacin para el profesor Algunos alumnos configurarn MouseHover para el cuadro de imagen. Las instrucciones hacen que el ratn se coloque sobre el ttulo que tiene el nombre de la flor, no sobre la flor. En este reto crears un formato para mostrar flores. Escribirs un cdigo 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
Unidad 05 Proper, Georgia 112
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 ttulos, 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 ratn se mantiene sobre la descripcin.
Una vez que tu programa funciona correctamente, mustraselo a tu instructor.
Extensin / desviacin
Cuando una flor haya sido seleccionada, cambia el color de fondo del formato.
Unidad 05 Proper, Georgia 113 Dado que ya vamos a llegar a Proper, GA tienes que resolver otra prueba del rally. Buena suerte.
Puedes usar un cdigo de programa para: Cmo haces que el cdigo seleccione un cuadro de verificacin ? Todas las instrucciones de asignacin de Visual Basic: Qu lnea de cdigo lee y despliega la propiedad de seleccionado de un botn de opcin? Leer propiedades de los controles
Configurar las propiedades de los controles
Ambas Van de izquierda a derecha
Van de derecha a izquierda
Van en cualquier direccin porque son iguales
Unidad 06 XY, Arkansas Pgina 114 de 321
Temas en el camino a XY XY Asignaciones Tipos Tipos primitivos Qu son las variables? Variables de declaracin Variables de inicializacin El uso de variables Otro tipo de variables La llegada a XY
Unidad 06 XY, Arkansas Pgina 115 de 321
XY
Ahora nos estamos dirigiendo a XY, Arkansas. Es la ciudad natal del famoso jugador de basketball Al'Gebra. Mi ex- novia viva aqu. Por qu ex-novia? Es que no nos entendamos muy bien. Creo que era demasiado voluble.
En el camino a XY, te ensear 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 cmo utilizarlas en tu cdigo, el cul utiliza variables para almacenar informacin de tipos diferentes. Las variables constituyen un bloque bsico de creacin para la escritura de un cdigo. Yo estoy seguro que aprenders rpido y comenzars a basarte en las variables tanto como lo hacemos Nikki y yo para escribir un cdigo.
Unidad 06 XY, Arkansas Pgina 116 de 321
Asignaciones Nikki nos hizo primero escribir un cdigo en Visual Basic.NET que es realmente til. Ahora ustedes saben cmo leer y configurar las propiedades mediante un cdigo. Sabas que cuando asignas una propiedad ests utilizando una instruccin de asignacin? Hablamos de ellas en el camino a Pseudo, PA. Las instrucciones de asignacin asignan una cosa a otra. El cdigo para una instruccin de asignacin parece una simple ecuacin que contiene un signo de igual. TextBox1.Text = Code Rules Ahora rige esta instruccin de asignacin.
Algo que t debes saber acerca de las instrucciones de asignacin es que el lado derecho de la ecuacin (la parte que se encuentra a la derecha del signo de igual) se evala primero. Despus, el lado izquierdo de la ecuacin (la parte que se encuentra a la izquierda del signo de igual) se asigna a este valor. Parece algo retrgrada, pero es as como funciona el programa. En la ecuacin que se presenta a continuacin, Code Rules se evala primero. Despus TextBox1.Text se asigna a ese valor. TextBox1.Text = Code Rules
Unidad 06 XY, Arkansas Pgina 117 de 321
Tipos Otra cosa que siempre debes tener en mente es que el la parte izquierda de la ecuacin espera que su parte derecha sea de true type (texto, nmero, color, etc.) te lo explicar mediante la siguiente lnea de cdigo como ejemplo: TextBox1.Texto = Code Rules Rocks Aqu, el lado izquierdo de la ecuacin es la propiedad de Texto de TextBox1, que slo puedes asignarse al texto, de modo que el lado derecho tambin 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 ningn error.
El siguiente cdigo 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 cdigo es correcto porque al lado derecho de la ecuacin evala un tipo entero y a la Propiedad de altura slo le puedes asignar un valor entero. TextBox1.Height = 200 Este cdigo es incorrecto porque incluye un decimal. TextBox1.Height = 200.5 Recuerda, cuando ests utilizando instrucciones de asignacin, el lado derecho de la ecuacin debe ser del tipo correcto -- tiene que ser del tipo que lado izquierdo de la ecuacin est esperando.
Recomendacin para el profesor Con frecuencia, Visual Basic convertir exitosamente un tipo de datos mal correlacionado. No se puede garantizar una conversin exitosa as que se deben especificar los datos correctos para las variables como una costumbre para lograr una buena programacin. J# y C# son ms sensibles a errores de correlacin.
Unidad 06 XY, Arkansas Pgina 118 de 321
Hasta ahora hemos usado el texto como un tipo, en el marco de trabajo de .NET, se le denomina una cadena. Cuando ests usando un cdigo para configurar una propiedad que requiere un tipo de cadena, debes recordar que dicho texto va entre comillas, as: Button1.Text = Click Here Hasta aqu hemos usado texto como tipo. En el marco .NET todos los textos se llaman cadena. Cuando usas un cdigo para definir una propiedad que requiere un tipo cadena, acurdate te colocar el text en s entre comillas.
Button1.Text = Click Here
Unidad 06 XY, Arkansas Pgina 119 de 321
Tipos primitivos
El entorno de .NET soporta a varios tipos bsicos, a los cules se les conoce como primitivos. Tu ya has utilizado el tipo de cadena para asignar la propiedad de Texto de un botn. 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 ms comnmente son: Cadena (texto), Entero (nmeros enteros), Sencillo (nmeros decimales) y Booleano (True o False), estos tipos primitivos son comunes en todos los lenguajes de programacin de .NET, incluyendo Visual Basic.NET, C#, y J#.
A continuacin se presentan algunos ejemplos de valores que permitidos para cada uno de estos tipos primitivos:
Tipo Ejemplo Comentario Cadena "Hello" El texto debe estar entre comillas dobles Entero 123 Todos los nmeros enteros sin puntos decimales Sencillo 55.12 Nmeros con puntos decimales Booleana True Slo puede ser True o False
Recomendacin para el profesor La mayora de los alumnos tienen problemas con el concepto de que un nmero, como el entero 1, el cul no es lo mismo que el carcter de cadena 1. El formato binario del entero es 00000001 y el formato binario del carcter de cadena 00110001, obviamente no son iguales.
Visual Basic complica el asunto porque intenta realizar conversiones segn sean necesarias. Por ejemplo, Dim A as Integer = 1 Dim B as string = 1 Si (A = B) Entonces
El cdigo anterior regresa un valor de True a pesar del hecho que la representacin interna es diferente.
Remind students not to directly do arithmetic using the Text property of a textbox.
Unidad 06 XY, Arkansas Pgina 120 de 321
Ve estos ejemplos de cdigo de instrucciones de asignacin los cuales muestran las propiedades de diferentes tipos: TextBox1.Texto="Smile" TextBox1.Visible=True TextBox1.Width = 1000
Aqu hay algo interesante! Debido a que C# y J# tambin son lenguajes de .NET, tienen los mismos tipos primitivos como Visual Basic.NET--cadenas, enteros, sencillos, Booleanos y todos los dems.
Cuando selecciones una propiedad o mtodo de la lista del IntelliSense, tambin se desplegar un tip de ayuda, el cul te dir a que tipo de propiedad debe configurarse o qu tipo de argumentos de mtodo debe ser:
Button1.Text = Presiona aqui
Unidad 06 XY, Arkansas Pgina 121 de 321
Qu son las variables? Las variables son utilizadas por tu cdigo para almacenar informacin que podr necesitar en algn momento ms adelante. Las variables en el cdigo son como las variables en las matemticas. 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 cdigo, tu programa utiliza a las variables para "recordar" la informacin. Si tu cdigo no utiliz alguna variable, entonces tu programa tendra que detenerse constantemente y pedirle al usuario que teclee la informacin cada vez que la necesite. Imagnate que tu programa requiriera saber la edad del usuario en tres momentos diferentes No sera 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 solicitara slo una vez que el usuario teclee su edad, sta se guardara en una variable que el cdigo utilizara cada vez que el programa necesitara saberla.
Unidad 06 XY, Arkansas Pgina 122 de 321
Por qu utilizar las variables? Como pudiste ver, las variables nos ayudan a ahorrar tiempo real, reduciendo tambin el volumen de informacin que un usuario debe teclear. Tambin nos ayudan a reducir los errores. Si tuviste que teclear un nmero de varias cifras una y otra vez, existe una mayor posibilidad de que en algn momento cometieras por lo menos un error.
Adems de ahorrar informacin 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 tambin para hacer comparaciones que determinan el orden en el que se ejecuta el cdigo. Se emplean tambin para contar cosas, como, por ejemplo, cuntas veces se ha realizado un clculo.
Un componente fundamental en la programacin es aprender cmo almacenar informacin en las variables, las cules se utilizan en todos los lenguajes de programacin. Son absolutamente necesarias para realizar ciertos tipos de clculos y llevara a cabo ciertas acciones en tu cdigo.
Unidad 06 XY, Arkansas Pgina 123 de 321
Declaracin de variables Antes de que tu programa pueda utilizar una variable, debes declararla. Para declarar una variable debes escribir una lnea de cdigo que establece el nombre de la variable y le asigna un tipo especfico. Debes declarar todas las variables en Visual Basic.NET. De todos modos es un buen ejercicio porque te hace pensar acerca de cmo se utilizar dicha variable y acerca de su tipo. Declarar tus variables acelera el tiempo de compilacin y logra que el programa se ejecute ms eficazmente. Tambin evita que escribas mal el nombre de la variable cuando se utiliza en tu cdigo.
Para declarar una variable en cdigo de Visual Basic.NET, utilizas una instruccin "Dim".
La instruccin Dim tiene la siguiente sintaxis: Dim VariableName As VariableType Aqu hay algunos ejemplos de cmo 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 slo puedes asignarle a una Cadena. La segunda variable, MyWeight, se declara como una variable de tipo Entero, es decir que slo puede asignarse a un Entero. La variable PanComido slo puede asignarse a al tipo Booleana y la variable de DVDprice slo puede asignarse al tipo Sencillo.
Unidad 06 XY, Arkansas Pgina 124 de 321
En C# y J# declaras las variables de una manera un poco diferente. Primero, escribes el tipo de variable, despus 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; Recomendacin para el profesor Los alumnos tienden a escoger nombres de variables que son ya sea lindos o no tienen sentido, o letras solas para ahorrarse la tecleada. Ms tarde se les olvida lo que significan las variables, originando errores causados por haber utilizado un nombre equivocado. Adems, 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. 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 convencin de nombres estndar llamada camel case, de esta forma, cada palabra de la variable empieza con mayscula, por ejemplo: CamelCase, MyName, MaximaVelocidadWinnwbago, LimiteVelocidadLocal. Visual Basic pone con mayscula la primera letra. Mientras que J# y C# no lo hacen.
Button1.Text=Click Here
Unidad 06 XY, Arkansas Pgina 125 de 321
En dnde se declaran las variables? Puedes declarar las variables que quieras en tu cdigo de Visual Basic.NET. Se pueden declarar como cualquiera de los tipos permitidos por el entorno de .NET. Nikki y yo aplicamos una prctica de codificacin estndar al escribir un cdigo. Declaramos todas nuestras variables al inicio de nuestro cdigo. De esta manera sabemos en dnde buscarlas y fcilmente podemos ver de qu tipo son. Tambin permite que nuestro cdigo se quede limpio y organizado. Si necesitamos crear otra variable al escribir nuestro cdigo, regresamos al inicio del mismo y la declaramos junto con el resto de las variables. No declaramos variables nuevas a la mitad de nuestro cdigo. Puedes declarar las variables de modo que sean variables globales o variables locales. Hasta ahora, todo el cdigo que hemos escrito han estado en los manejadores de eventos de controles de forma --como el cdigo de manejador de eventos para el botn de clic. Todas las variables que declaramos en el cdigo del manejador de eventos han sido variables locales. A las variables locales slo puedes leerlas o cambiarlas por medio del cdigo del manejador de eventos en el que las declaraste. Ningn otro manejador de eventos u otro cdigo del formato puede tener acceso a ellas. Los valores de las variables locales slo se guardan cuando se estn ejecutando en el cdigo del manejador de eventos, despus 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 botn de clic. Para declarar variables locales, configura la instruccin Dim en tu cdigo del manejador de eventos esta variable debe declararse primero, antes de que escribas cualquier otro cdigo. Aqu hay un ejemplo: Private Sub Button1_Click(ByVal sender As System.Object, 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 cdigo del formato. Las variables globales se pueden acceder por todos los manejadores de eventos y todo el resto del cdigo 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 nmero total de veces el que se ha hecho clic en cada uno de los botones.
Para declarar las variables globales que se pueden utilizar por todos los cdigos del formato, debes poner la instruccin Dim en el cuerpo del mismo. El mejor lugar para declarar variables globales en el cdigo de una forma es justo despus de la instruccin que dice: Windows Form Designer generated code Esta lnea de cdigo est encerrada en un cuadro y tiene un signo de ms a su izquierda. Declara sus variables justo despus de esta lnea. Ve este ejemplo: Windows Form Designer generated
Recomendacin para el profesor MyName se declara dentro de un Sub (subprograma). En cuanto se ejecuta la instruccin End Sub (finalizar subprograma), se borra MyName.
Unidad 06 XY, Arkansas Pgina 126 de 321
code Dim TotalButtonClicks As Single La variable TotalButtonClicks es una variable global. TotalButtonClicks se puede leer o configurar por otro cdigo del formato como, por ejemplo, el cdigo en los manejadores de eventos.
Si declaras todas tus variables aqu en el cuerpo del formato, todas sern globales. Sus valores se puedes leer o configurar por todos los cdigos del formato y los manejadores de eventos.
Unidad 06 XY, Arkansas Pgina 127 de 321
06 Ejercicio 01 Pedazo de Pi
Mi postre favorito en un restaurante es el pastel de manzana. Esto me hizo pensar en cmo el nmero Pi podr aparecer en diferentes formatos.
Pinte una forma como esta:
En el evento de botn 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
Slo 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, mustraselo a su instructor.
Pedazo de Pi En este ejercicio vers 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.
Unidad 06 XY, Arkansas Pgina 128 de 321
Iniciar las variables Una vez que una variable se haya declarado, puedes utilizarla en tu cdigo. Una de las primeras cosas que deber hacer tu cdigo es asignar la variable a un valor inicial. Puedes asignar la variable a cualquier valor que desees mientras que sea el tipo correcto. Slo puedes asignar la variable a un valor que tenga el mismo tipo que la variable misma. Cuando asignas una variable a un valor, ests utilizando una instruccin de asignacin. 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 mtodo abreviado que puedes utilizar para declarar tu variable y asignar su valor inicial mediante una sola lnea de cdigo. 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 cdigo en dnde 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 Pgina 129 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 asignacin 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", ests en lo correcto, la variable MyName se asigna a Bill, despus 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 cdigo en J# o C#. Puedes ver algunas similitudes y tambin ciertas diferencias. Ve cmo 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 cdigo no se compilar. Dim MiNombre as String Dim DVDPrice As Single
Unidad 06 XY, Arkansas Pgina 130 de 321
MiNombre = "Paul Bunion" DVDprice = MiNombre Recuerda, tus variables se declaran como un tipo especfico. Slo se les puedes asignar valores del mismo tipo.
Unidad 06 XY, Arkansas Pgina 131 de 321
Aumentar de velocidad con las variables Te platiqu acerca de los tipos de variables, porqu se utilizan las variables y cmo declarar y asignarlas. Qu ms hay acerca de ellas? Escribiremos un programa con las variables!
Inicia una nueva Aplicacin de Windows en Visual Studio.NET. Asigna el nombre XACTLY a la aplicacin. Abre la Ventana de Herramientas y agrega un botn 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 cdigo de evento de clic en botn. Ingresa las siguientes lneas de cdigo: 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 aplicacin. Haz clic en el botn "Show XY". Tu cdigo 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 cdigo y ejecuta tu programa nuevamente.
Ahora vamos a modificar este programa. Agrega un tercer cuadro de texto. Despeja la Propiedad de Texto del TextBox3. Asegrate que la Propiedad de ReadOnly de TextBox3 est asignada a False. Recomendacin para el profesor Esta unidad se pueden comprender ms fcilmente si el alumno le sigue creando el mismo cdigo en su propia aplicacin de Visual Studio, segn se solicite.
Unidad 06 XY, Arkansas Pgina 132 de 321
Haz doble clic en Button1 para editar el cdigo de evento de clic. Modifica tu cdigo 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 aplicacin. teclea algn texto en el TextBox3. Haz clic en el botn de "Show XY". Qu es lo que pasa? Tu cdigo 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 haba asignado a la propiedad de Texto del TextBox3). La variable YName se asigna a XName (que apenas se asign al valor almacenado en XName) Despus, el cdigo asigna la propiedad de Texto del TextBox1 a XName a la propiedad de Texto del TextBox2 a YName. Este cdigo muestra cmo asignar el valor almacenado en una variable a aquel de una variable diferente. Aqu hay un ltimo ejemplo para Show cmo se utilizan las variables globales. Inicia una nueva Aplicacin de Windows denominada TotalButtonClicks. Agrega tres Botones al formato1. En la ventana de Cdigo encontrars el cdigo: Windows Form Designer generated code Justo despus de esta lnea de cdigo, agrega el siguiente cdigo: Dim TotalButtonClicks as Integer
Unidad 06 XY, Arkansas Pgina 133 de 321
Haz doble clic en el Button1 y agrega el siguiente cdigo al manejador de eventos de clic. TotalButtonClicks = TotalButtonClicks + 1 MessageBox.Show(TotalButtonClicks) Agrega el mismo cdigo a los manejadores de eventos de clic para el Button2 y Button3.
Crea e inicia tu aplicacin. Haz clic en todos los botones en cualquier orden. Cada vez el nmero total de clics en botones se despliega en un cuadro de mensaje. Este cdigo funciona porque declaramos una variable global denominada TotalButtonClicks en el cdigo de forma. La variable global se utiliza para guardar el nmero total de clics en botones. Cada vez que el usuario haga clic en un botn, 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 adems 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 cdigos que proporcionan una funcionalidad bsica de los lenguajes .NET. La parte ms difcil 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 algn cdigo que emplee una propiedad o un mtodo 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 aplicacin de ShowXY y agrega un segundo botn al formato1. Cambia la propiedad de Texto del Button2 a "Color". Haz doble clic en el Button2 para editar el cdigo de eventos de clic en botones.
Agrega el siguiente cdigo: Dim MiColor as System.Drawing.Color MiColor = System.Drawing.Color.Blue Format1.ActiveForm.BackColor = MiColor Crea e inicia tu aplicacin. Haz clic en el Button2.
Tu cdigo declar una variable denominada MiColor del tipo System.Drawing.Color. La variable MiColor fue asignada a System.Drawing.Color.Blue, un System.Drawing.Color vlido. 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 Pgina 134 de 321
Puedes explorar las clases del Sistema por tu cuenta. La mejor manera es teclear System. (punto) en la Ventana de Cdigo. IntelliSense despliega una lista de todas las propiedades y mtodos disponibles para la clase del Sistema. Selecciona una propiedad o un mtodo y teclea otro punto para ver si tiene sus propias propiedades y mtodos. Hay mucho que explorar.
Unidad 06 XY, Arkansas Pgina 135 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. Despus de eso, haz la prueba e iremos a que nos perforen la tarjeta del rally. Ahora que has aprendido acerca de las variables, sers realmente capaz de ayudarnos con el Reto del Rally.
06 Ejercicio 02 Rana saltarina
Inspirado por el estanque de ranas que vimos en la maana, creo que deberamos escribir un programa de rana saltarina.
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 botn Leap, el contenido del cuadro de texto arriba del botn se asigna al cuadro que se encuentra dos cuadros a la derecha. No olvides vaciar el cuadro actual.
Cuando tu programa funcione correctamente, mustraselo a tu instructor. 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.
Unidad 06 XY, Arkansas Pgina 136 de 321
06 Reto Bicho
Splat, Otro bicho aplastado en el parabrisas. Me recuerda algo. Necesitamos practicar la bsqueda de bichos en un programa. La mayora 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 lnea de cdigo 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 cdigo correcto cuando la lnea con error tiene una eleccin completamente inapropiada.
Abre el archivo denominado splat.sln. Aplstalo.
Cuando tu programa trabaje correctamente, mustraselo a tu instructor.
Extensin / Desviacin
Quin es Commodore Grace Hopper? Por qu preguntaramos eso en este Reto?
Recomendacin para el profesor La plantilla contiene muchos errores intencionales. Se espera que el alumno corrija el cdigo. No se requiere una correccin particular. Por ejemplo, si X = 123.4 es incorrecto, X = 123 es una correccin inaceptable pero tambin lo es X = 1234 Recomendacin para el profesor Commodore Hopper descubri el primer bicho de la Tecnologa de Informacin un autntico bicho en los tubos de vaco de una de las primeras computadoras. Bicho
Encontrars 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.
Unidad 06 XY, Arkansas Pgina 137 de 321
En una instruccin de evaluacin, cuntos elementos se pueden asignar al lado izquierdo del signo de igual? Cualquier nmero Las variables se usan para: Cambiar propiedades
Recordad valores de datos
La propiedad de una caja de texto siempre contiene qu tipo de datos? Sencillos
Enteros
De cadena Antes de que uses una variable en un programa debes: Declarar (Dim) la variable
Calcular la variable
Unidad 07 Switchboard, Oklahoma Pgina 138 de 321
Temas en el camino a Switchboard Switchboard, OK Operadores Operadores aritmticos Operadores de cadena El operador NOT en asignacin Instrucciones Operadores en accin Cdigo de depuracin Llegada a Switchboard
Unidad 07 Switchboard, Oklahoma Pgina 139 de 321
Switchboard, OK Estamos listos para seguir avanzando. Siguiente parada, Switchboard, Oklahoma! Cliff ya te ha enseado cmo utilizar los instrucciones de asignacin y las variables, de modo que ahora cuentas ya con algunas herramientas de programacin bsicas que puedes emplear. Ahora te ensear sobre los operadores en nuestro trayecto a Switchboard. El uso de los operadores es otra de esas herramientas bsicas de programacin que debes tener en su caja de herramientas. Una vez que aprendas cmo utilizar los operadores en Visual Basic.NET, podrs utilizarlos en cualquier lenguaje de programacin. El uso de los operadores es fcil, cuando nos acerquemos a Switchboard, te mostrar cmo utilizar algunas de las herramientas de depuracin que forman parte de Visual Studio.NET. stas te ayudarn a que tu cdigo est libre de errores, de modo que se pueda compilar en todo momento.
Unidad 07 Switchboard, Oklahoma Pgina 140 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, multiplicacin y la divisin. Has estado empleando los operadores desde el primer grado. Es simplemente que no los llamabas de este modo. En programacin, existen otros operadores tambin, para realizar clculos matemticos complejos y unir cadenas de texto.
Los operadores generalmente actan sobre dos valores, aunque algunos actan exclusivamente sobre un valor nico. Los valores se denominan operandos. La siguiente es la sintaxis bsica para el uso de los operadores:
operando 1, operador, operando 2:
Por ejemplo, 3 + 4
En la expresin 3 + 4 hay dos operandos (3 y 4) unidos por un operador (+) El operador realiza una operacin (es este caso, suma) sobre los dos operandos (3 y 4)
Usar los operadores es fcil y tambin divertido, puedes crear ecuaciones muy complejas empleando los operadores. Comencemos revisando los operadores aritmticossuma, resta, multiplicacin y divisin. Despus te mostrar cmo unir cadenas de texto y echaremos un vistazo a un operador especial denominado NOT.
Unidad 07 Switchboard, Oklahoma Pgina 141 de 321
Operadores aritmticos Reglas matemticas, me agradan las matemticas. Me encantara hacer problemas matemticos todo el da, pero en ocasiones me canso y comienzo a cometer errores. Los programas de computadora son excelentes para hacer problemas matemticos. 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 pequeo 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 cmo utilizar los operadores aritmticos en tu cdigo. De esta forma puedes decirle a tu programa qu problema matemtico deseas que resuelva. Dado que las computadoras son tan buenas para las matemticas, todos los lenguajes de programacin tienen un conjunto estndar de operadores aritmticos. Como estas operaciones son tan comunes, los smbolos utilizados para representar estos operadores en el cdigo son bsicamente los mismos en todos los lenguajes de programacin. Esto lo facilita an ms.
Unidad 07 Switchboard, Oklahoma Pgina 142 de 321
La siguiente es una lista de los operadores aritmticos ms comunes y los smbolos que se utilizan cotidianamente en comparacin con los smbolos utilizados en el cdigo. Nota que el nico que es diferente es el de la multiplicacin. En el cdigo, usas * en lugar de una x para representar el operador de multiplicacin.
Operador Smbolo Cotidiano Smbolo de Cdigo Suma + + Resta - - Multiplicacin x * Divisin / / Veamos un par de ejemplos de operadores aritmticos en cdigo. 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, multiplicacin y divisin.
Unidad 07 Switchboard, Oklahoma Pgina 143 de 321
Operadores de Cadena S, reglas matemticas, pero no todos los programas que vayas a crear se relacionan con clculos. En ocasiones tu programa solo requiere trabajar con cadenas de texto. Sabas que en Visual Basic.NET y otros lenguajes de programacin pueden sumar texto? En realidad, no es como la suma regular de nmeros. La suma de texto se denomina concatenacin, que es simplemente un nombre atractivo para llamarle a la unin de dos cadenas de texto juntas. En Visual Basic.NET, el operador de concatenacin es un signo de conjuncin (&) Lo usas justo como el operador de suma, pero con cadenas en vez de nmeros.
Los siguientes son un par de ejemplos:
Bill & Mike 1 & 2
En C# y J# no utilizamos un signo de conjuncin (&) para unir cadenas de texto. Utilizamos un signo de ms (+). Observa esta lnea de cdigo nombre completo = Bill + Bob; Recomendacin para el profesor Dado que Visual Basic intent ser flexible, en ocasiones aceptar un signo de ms (+) en lugar de uno de conjuncin (&) cuando ambos operandos se definen como cadenas. sta es una mala tcnica de codificacin. Estimule a los alumnos a utilizar siempre el signo de conjuncin. Cuando unes dos cadenas de textos utilizando el operador de concatenacin, Visual Basic no puede agregar automticamente ningn espacio, tendrs que decirle
Unidad 07 Switchboard, Oklahoma Pgina 144 de 321
El Operador NOT El operador NOT es un operador especial que slo opera sobre un nico operando. Adems, el operando debe evaluarse segn 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.
Atencin, en C# utilizamos un signo de exclamacin (!) en lugar de NOT. Revisa este cdigo C# TextBox3.Visibl e = !(TextBox1.Visible); . Cuando ?
Unidad 07 Switchboard, Oklahoma Pgina 145 de 321
Instrucciones de asignacin As que cmo utilizas los operadores en el cdigo? La mayor parte del tiempo utilizas un enunciado de asignacin. Recuerda, un enunciado de asignacin tiene el aspecto de una ecuacin con un signo de igual en l. Los operadores y operandos se colocan del lado derecho del signo de igual. La expresin al lado derecho del signo de igual se evala, despus el lado izquierdo de la ecuacin se determina en este valor. Aquello que se encuentra del lado derecho de la ecuacin debe evaluarse segn el mismo tipo que el lado izquierdo para que el cdigo realice la compilacin. A continuacin se proporcionan un par de ejemplos de uso de los operadores aritmticos y el operador de concatenacin en instrucciones de asignacin. Dim FormWidth as Integer FormWidth = 200 + 300
Dim FormHeight as Integer FormHeight = 1000 / 2
Dim Winnebagoname as String Winnebagoname = Cde & Bus
Unidad 07 Switchboard, Oklahoma Pgina 146 de 321
Los operadores en accin Los ejemplos que acabo de proporcionarte eran bastante simples, con slo dos operandos y un nico operador en cada enunciado de asignacin. Sin embargo, en el mundo real de la codificacin, frecuentemente debers traducir frmulas o hacer clculos que implican muchos operadores y operandos. Afortunadamente, con la mayora de los lenguajes de programacin, puede aadir tantos operandos y operadores como requieras para concatenar texto o convertir frmulas a cdigo. Adems, puedes utilizar variables como operandos. Exacto! Los operadores funcionan sobre las variables tambin siempre y cuando sean del tipo correcto. An ms, puedes incluso determinar una variable en una expresin que contenga a la variable misma. As que veamos unos cuantos ejemplos que son un poco ms complejos. El primer ejemplo calcula la circunferencia de las llantas de la camper.
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 parntesis para asegurarme que los costos se sumaran y que los galones se sumaran tambin 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)
Poblacin
Unidad 07 Switchboard, Oklahoma Pgina 147 de 321
Recomendacin para el profesor Revise el orden de las operaciones. Cuando no hay parntesis, la divisin y multiplicacin se realizan antes que la suma y resta. Promueva el uso de parntesis para asegurar que los clculos se realicen como pretende el programador. NOT hay problema en utilizar demasiados parntesis. Puedes usar el parntesis en tu cdigo tal y como lo haces en problemas normales de asociacin. Cuando pones algo entre parntesis, se evala primero, por ejemplo: (5+7)/(1+5)=2
En esta operacin, (5+7) se evala primero, (1+5) despus, y al ltimo se ejecuta la operacin de divisin. La respuesta en 2.
Sin los parntesis, obtenemos una respuesta diferente:
5+7/1+5=17
Usa el parntesis en tu cdigo cuando quieras decirle al programa el orden el cul
Unidad 07 Switchboard, Oklahoma Pgina 148 de 321
Operadores de comparacin Recuerda, mencion que puedes especificar una variable para una expresin que contiene a la variable misma? Cmo es eso, preguntaras? 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 lneas del cdigo enuncian la variable del MileCounter y establecen su valor inicial en 100. La tercera lnea del cdigo toma el valor actual del MileCounter (100) y le suma 200 para obtener 300. Recuerda, el lado derecho de la ecuacin siempre se evala primero. Despus el lado izquierdo de la ecuacin (MileCounter) se especifica en el valor del lado derecho de la ecuacin (300). La cuarta lnea del cdigo 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 ecuacin es irrelevante cmo se calcula el resultado del lado derecho de la ecuacin, siempre y cuando los tipos coincidan. En lo concerniente al lado izquierdo de la ecuacin, la variable del MileCounter del lado derecho es slo una variable ms, no ella misma.
Determinar una variable para una expresin, la cual contiene a la variable misma, es una prctica de codificacin comn 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 tcnica es perfecta para contar o aadir una serie de valores. Sabas que la lnea de cdigo ms comn es probablemente variable = variable + 1, que se utiliza para contar algo? Frecuentemente se utiliza para contar el nmero de veces que se completa un ciclo. Te dir ms sobre los circuitos a medida que avancemos en nuestro trayecto. Los operadores NOT y de concatenacin en accin Demasiadas matemticas ah. Ahora voy a mostrarte un ejemplo rpido del operador de concatenacin en accin y despus uno del operador NOT. A continuacin 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 concatenacin no agrega espacio automticamente. Mi ltimo ejemplo te muestra cmo 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. Recomendacin para el profesor Revise la diferencia entre asignar un valor y agregar un valor. TextBox1.text = Hello en comparacin con TextBox1.Text= TextBox1.Text & Joe
Unidad 07 Switchboard, Oklahoma Pgina 149 de 321
TextBox1.Visible = True TextBox2.Visible = NOT (TextBox1.Visible) No s por qu querra utilizar esa ltima lnea de cdigo.
Unidad 07 Switchboard, Oklahoma Pgina 150 de 321
07 Ejercicio 01 Costo de la gasolina Puedes calcular el costo de la gasolina para el siguiente tramo de nuestro viaje? Intntalo.
1. Crea un formato que tu mismo(a) disees.
Incluye los siguientes elementos:
nombre de forma apropiado; cuatro cuadros de texto para mostrar estos puntos: o Millas hasta el siguiente destino o Millas por galn (MPG) para el vehculo o Precio por galn de gasolina o Costo total de la gasolina requerida cuatro rtulos para identificar cada cuadro de texto. un botn de comando marcado para iniciar el clculo.
2. Despus de que el usuario del programa teclea la distancia, MPG y precio, calcula el costo total para llegar a la siguiente ciudad destino. 3. Una vez que hayas creado tu formato, crea la solucin. Si no hay errores en ella, elige Depurar / Inicio para ejecutar tu programa.
Si tu programa funciona correctamente, mustraselo a tu instructor.
Extensin / Desviacin Dale un formato al costo total que tenga la apariencia de dinero. Estudia el siguiente cdigo. X = 123.45 X = FormatCurrency(X) Recomendacin para el profesor Costo = (distancia / MPG) * precio Costo de la gasolina En este ejercicio usars lo que haz aprendido acerca de los operadores para disear un programa que calcula los costos de la gasolina. El archivo file07_proveit01_files contiene instrucciones para este ejercicio y todos los archivos de soporte que puedas necesitar
Unidad 07 Switchboard, Oklahoma Pgina 151 de 321
Cdigo de depuracin
Ests haciendo un gran trabajo! Hasta ahora has creado bastantes cdigos, tambin has creado y operado muchos proyectos. Tal vez no todos tus proyectos hayan realizado la compilacin a la primera, pero seguramente ests mejorando al descubrir cul es el problema con tu cdigo y resolverlo. De modo que ahora te dar algunos consejos que te ayudarn a resolver tus problemas an ms rpido. Resolver los problemas de un cdigo se denomina depuracin. La depuracin es un paso necesario para hacer que un programa se ejecute sin errores y produzca los resultados correctos. Antes que nada te mostrar cmo Visual Studio te ayuda a depurar tu cdigo a medida que lo ests creando.
1. Primero crea una nueva Aplicacin de Windows denominada Depurar Vista. Agrega un botn y un cuadro de texto a format1. Haz doble clic en el Botn 1 y agrega el siguiente cdigo.
MyName = Bill TextBox1.Text = MyName 2. Nota que incluso antes de que Crearas tu proyecto, Visual Studio.NET puso una lnea azul en zig zag bajo MyName en la primera y segunda lneas del cdigo. 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 algn problema con el cdigo antes de que realices la compilacin. 3. Crea y ejecuta tu proyecto. La Ventana de Resultados muestra que hubo un error. La Lista de Tareas te muestra Recomendacin para el profesor Adentrarse en un programa lnea por lnea al mismo tiempo que se visualiza el contenido de las variables, resulta extremadamente valioso. Hay demasiados alumnos que ignoran esta leccin. Cuando despus tienen problemas con su cdigo, 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 cdigo.
Unidad 07 Switchboard, Oklahoma Pgina 152 de 321
por qu fall. Ves dos lneas en la lista de tareas que te notifican que no se has enunciado el nombre en MyName.
Unidad 07 Switchboard, Oklahoma Pgina 153 de 321
4. Haz doble clic en Nombrar si MyName no se enuncia en la Lista de Tareas. Te llevar al lugar del cdigo en dnde se encuentra el error.
5. Notas que la variable MyName se encuentra resaltadaste es el problema que debes resolver. Agrega la siguiente lnea de cdigo al evento de clic del Botn 1 para resolver el problema. Dim MyName as String La lnea azul en zig zag desaparecer.
6. Crea ejecuta tu proyecto. Se compilar sin errores. has depurado tu programa con xito.
Unidad 07 Switchboard, Oklahoma Pgina 154 de 321
Entrar al cdigo En ocasiones los errores en tu cdigo no sern errores que Visual Studio.NET pueda detectar y advertirte sobre ello. Tu programa se compila sin errores, pero los resultados o efectos no estn muy bien. En este caso, sus errores pueden ser errores de lgica o flujo del programa, en lugar de errores de sintaxis. stos son errores que has incorporado en el diseo del programa, pero que no son considerados por Visual Studio.NET como errores en el cdigo, dado que la sintaxis es correcta.
En casos como ste, resulta til poder adentrarse en tu cdigo, lnea por lnea, para ver cmo se est ejecutando y qu camino est tomando. Por lo general estableces un punto de quiebre en el cdigo, despus te adentras en el cdigo para ver cmo ejecuta lnea por lnea. El punto de quiebre acta como un signo de altola ejecucin se detiene en la lnea del cdigo que has marcado con un punto de quiebre. Despus oprime la tecla F11 para ejecutar cada lnea del cdigo a su vez. Ahora te mostrar cmo funciona.
1. Encuentra la siguiente lnea de cdigo en el evento de clic del Botn 1: MyName = Bill Ubica el cursor en algn lugar sobre esta lnea de cdigo. Haz clic con el botn derecho del ratn y seleccione Insertar Punto de Quiebre del men desplegable.
2. Nota que la lnea de cdigo se resalta en color caf y que aparece un crculo color caf en el margen izquierdo de esta lnea de cdigo. Crea y ejecuta tu programa. Cuando aparezca el formato haz clic en el Botn.
Unidad 07 Switchboard, Oklahoma Pgina 155 de 321
3. El cdigo ejecuta y hace correr la lnea de cdigo que marcaste con el punto de quiebre (MyName = Bill) Esta lnea de cdigo no se ha ejecutado an. La lnea de cdigo se resalta en amarillo y el crculo caf que se encuentra junto tiene ahora una flecha amarilla dentro.
4. En la Ventana de cdigo desplaza el cursor sobre la variable MyName. Aparecer un consejo mostrndote 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 cdigo 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 Introduccin en el cdigo, ejecutando la lnea actual (MyName = Bill) y resaltando la siguiente lnea en amarillo.
6. En la Ventana de Cdigo, 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 Pgina 156 de 321
7. En la Ventana de cdigo 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 Introduccin en el cdigo, ejecutando la lnea actual (Cuadro de Texto 1.Texto = MyName) y resaltando la siguiente lnea en amarillo. 8. En la Ventana de Cdigo, 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 cdigo 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 ms. El formato aparece de Nuevo porque el programa ha terminado de ejecutar el cdigo en el evento de clic del botn. Haz clic en la X que se encuentra en el extremo del formato para cerrarlo. 10. En la Ventana de Cdigo, haz clic en el inicio de la lnea de cdigo con el punto de quiebre. Haz clic con el botn derecho del ratn y selecciona Eliminar Punto de Quiebre del men desplegable.
Unidad 07 Switchboard, Oklahoma Pgina 157 de 321
Ya has finalizado la sesin de depuracin. Resulta bastante prctico adentrarse en tu cdigo lnea por lnea. Puedes seguir la ruta que tu programa emplea a medida que ejecutas tu cdigo. En ocasiones tal vez descubras que le has dicho accidentalmente a su programa que ejecute tu cdigo en el orden incorrecto, o que ha utilizado una variable errnea en un enunciado de asignacin. Adentrarse en tu cdigo te muestra en dnde se ha desviado errneamente tu programa. A medida que te introduces en el cdigo, puedes monitorear los valores de las propiedades y variables moviendo tu cursor sobre ellos en la Ventana de Cdigo. Los valores se actualizan despus que se ejecuta cada lnea del cdigo.
Estas tcnicas de depuracin se vuelven ms importantes a medida que tu cdigo se hace ms complejo. Un cdigo complejo es ms difcil de depurar. Pronto aprenders cmo controlar el orden en que se ejecuta tu cdigo utilizando instrucciones If y bucles. Las herramientas de depuracin son extremadamente valiosas para rastrear cmo 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 cmodo utilizando los operadores para decirle a tu cdigo cmo hacer problemas matemticos y unir cadenas. Puedes incluso utilizar las herramientas de depuracin de Visual Studio.NET como ayuda para diagnosticar problemas. Creo que encontrars que las Pruebas son ms divertidas y desafiantes a medida que avancemos. Intenta realizar aquellas que se encuentran en el PDA. Mantente actualizado resolviendo la prueba y despus Cliff nos llevar a nuestro siguiente destino. Recomendacin para el profesor Para reforzar esta habilidad, haga que cada uno de los alumnos demuestre individualmente su dominio en la tcnica utilizando un programa previamente creado.
Unidad 07 Switchboard, Oklahoma Pgina 158 de 321
07 Ejercicio 02 Depurar un programa Practiquemos ahora las habilidades de depuracin 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 ningn cdigo en lo absoluto. Slo debes encontrar el archivo denominado DebugMe.sln y despus 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 matemticas, las respuestas a tres preguntas. 1. Qu valor introdujiste en el cuadro de texto del formato?
2. Cul es el valor final de la variable denominada Respuesta Uno? 3. Cul es el valor final de la variable denominada Respuesta Dos?
El cdigo de este programa se ha hecho deliberadamente confuso y complicado para que no tengas la tentacin de intentar descubrir cmo es que llega el programa a sus respuestas. Todo lo que tienes que hacer es colocar e crculo de depuracin de punto de quiebre de color caf en el margen vertical izquierdo, adentrarte en el cdigo, despus colocar el cursor sobre la variable en donde deseas ver el valor DESPUS que se haya ejecutado esa lnea de cdigo. sta es una de las herramientas ms valiosas que debes utilizar en todos tus programas futuros. Cuando tengas las respuestas, mustreselas a su instructor.
Depurar un programa Utiliza tus habilidades de depuracin 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.
Unidad 07 Switchboard, Oklahoma Pgina 159 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. An me pregunto cul era el ms pesado. Dado que estn hechos del mismo material, aquel con mayor volumen es el ms 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:
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 atencin a la clase de geometra, a continuacin se encuentran algunas frmulas. 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. Podras utilizar 3.14 como el valor de Pi, o bien utilizar Math.PI.
Una vez que tu programa funcione correctamente, mustraselo a tu instructor.
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 botn de descarga para bajar este archivo.
Lado del cubo Radio Esfera Calcular Volumen cubo Volumen esfera
Unidad 07 Switchboard, Oklahoma Pgina 160 de 321
Extension / Desviacin Slo por diversin, puedes encontrar dos valores que produzcan los mismos volmenes, por lo menos de 4 puntos decimales? Si eres especialmente bueno para las matemticas, 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 Pgina 161 de 321
Que se usa para cambiar la secuencia en la cul se evalan los operadores? Dos puntos Parntesis ampersands desconocido Cul es el resultado de esta operacin? SomeVariable = 55 & One Que operador se usa para concatenar dos cadenas? Cul es el resultado de esta operacin? 56 55Uno desconocido And = &
Unidadt 08 WhatIf, Texas Pginaage 162 ofde 321
Temas en el camino a WhatIf: WhatIf, TX Lgica Booleana Operadores Booleanos Operadores de comparacin Cdigo condicional Instruccin IfThen Ms de una instruccin If Then Ms de un condicional Operadores Booleanos en cdigo Llegada a
Unidadt 08 WhatIf, Texas Pginaage 163 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 matemticas en tsu cdigoerators to create math equations in your code. No s mucho de matemticas, pero s de lgicaI'm not so much into math, but I am into logic. La lgica es el procedimiento que usted utilizas para tomar decisionesogic is the process you use to make decisions. Tomamos decisiones todos los das de nuestra vida We make decisions everyday of our lives. Yo he tomado algunas buenas decisiones, como cuando decid llamar a una estacin de radioI've made some good decisions. Like when I y me gandecided 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. Tambin he tomado algunas malas decisiones, como meter mi pantaln 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 aquwill always be around -- Los ver el ao 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 cmo los programas de computadoracin toman decisiones utilizando la frmulaI'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 errnea al dirigirnos aI was just thinking. What if we made a wrong
Unidadt 08 WhatIf, Texas Pginaage 164 ofde 321
turn on our way to WhatIf? Tal vez nunca lleguemosWe might never get there.!
Unidadt 08 WhatIf, Texas Pginaage 165 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? Dnde 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 tambin 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 decisin, 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 musica escuchar o to listen to, or con quin pasearwho to hang out with. Los programas de computadoraprogramas de computacin 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 enunciadodeclaracin 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, imagnaetese que ests en un restaurante intentando ordenar una hamburguesa, papas fritas y cerveza de razFor example, imagine you're in a restaurant trying to order a hamburger, fries, y el mesero slo 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? SYes.
Desea cafDo you want coffee? No.
Desea tDo you want tea? No.
Desea refrescoDo you want soda? SYes.
Desea refresco deDo you want a cola? No.
Unidadt 08 WhatIf, Texas Pginaage 166 ofde 321
Desea cerveza de razDo you want root beer? SYes.!
Bueno, esto llev seis preguntas y ni siquiera he ordenado la hamburguesa y las papas fritas todavaWell, 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 cmo un programa de computadoracin toma una decisin;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 lgica se denomina lgicaogic is called Booleana (VerdaderoTrue/Falseo) logic.
Unidadt 08 WhatIf, Texas Pginaage 167 ofde 321
Unidadt 08 WhatIf, Texas Pginaage 168 ofde 321
Lgica Booleana Logic Como viste en tu camino al Tablero de DistribucinSwitchboardAs you saw on our way to Switchboard, los programas de computadoraprogramas de computacin son buenos para resolver problemas matemticoscomputer programs are good at doing math problems. Tambin son buenos para resolver problemas de lgicaThey are also good at doing Booleana logic problems. En un problema de lgicaIn a Booleana logic problem, la respuesta es siempre Verdadero othe answer is always either True or Falseo, -- no haythere is no "ms o menoskind of", "una especie desort of" onior "casialmost". Veamos, leTe mostrar algunos ejemplosLook, I de lgica'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)? SYes, ethat's VerdaderoTrue.
Puedes ver que en cada uno de los problemas lgicos 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 nmeros, colores, ni palabras. As es como un programa de computadoracin puede
Unidadt 08 WhatIf, Texas Pginaage 169 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 Pginaage 170 ofde 321
Operadores Booleanos Operators Al igual que las matemticas convencionalesJust like regular math, la lgica Booleana tiene sus propios operadoreslogic has its own operators. Pero no trabajan con nmeros, 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 aadir 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 ms complejosproblems.
Existen tres operadoresThere are three Booleanos operators: ANDYAND, ORR y, and NOTT. Los operadores ANDY y ORThe AND and OR actan sobre dos operandos operators act on two operands. El operadorThe NOT acta en un soloT operator acts on a single operando. Los tres dan un resultado que es tambinAll 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 lgicaLet's look at some Booleana que utilizan los operadoreslogic problems that use the Booleanos operators. Despus explicar los detalles de cmo 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 lgicos 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. Despus Then we evaluatemos 2=1+1, lo cual tambin es Verdaderowhich is also True. Despus 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 Pginaage 171 ofde 321
TRUE. Si ambos lados de una ecuacin 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 lgicos 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. Despus evaluamosThen we evaluate 5=2+2, lo cual eswhich is Falseo. Despus 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 ecuacin YAND es Falso, la respuesta final esIf either side of an AND equation is False, the final answer is Falsoe.
Unidadt 08 WhatIf, Texas Pginaage 172 ofde 321
Un ltimo ejemploOne last example,
3=1+2 OROR 5=2+2
EEs VerdaderoThat's True.
PrimeroFirst we evaluamoste 3=1+2, lo cual es Verdaderowhich is True. Despus evaluamosThen we evaluate 5=2+2, lo cual eswhich is Falseo. Despus 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 ecuacin 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 prcticaIt may take some practice, pero, despus de haber trabajado algn tiempo con los operadoresbut after you've worked with the Booleanos , sete acostumbrars 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 Pginaage 173 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 Pginaage 174 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 No lLado dDerechot Right Side (rRespuesta fFinal Answer) TrueVerdadero Falsoe 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 Pginaage 175 ofde 321
Operadores de cComparacinComparison Operators
Recuerdase que, Remember, NikkiNikki ttele ha dicho que los programas son excelentes para resolver problemas matemticosold 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 lgicaWell, the same thing is true about Booleana logic problems. Los programas de computadoraprogramas de computacin son excelentes para resolverComputer programs are great at solv problemas de lgica 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 lgicato set up the Booleana para que tsu programa los resuelvalogic problems for your program to solve. Cuando se ejecuta el cdigoWhen 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 decision" 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 asignacin, pero tambin 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 comparacinison 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 comparacin 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 (<) lado derechothe right side. En cada caso, hacen la pregunta, que debe ser respondida con Verdadero oIn each case, they ask a question, which must be answered with True or Falseo. VeObserve estos ejemplosLook at these examples:
3<4 Hace la preguntaAsks the question is: Is 3 es menor aless than 4?
SYes, es Verdaderothat's True.
Unidadt 08 WhatIf, Texas Pginaage 176 ofde 321
2>5 Hace la preguntaAsks the question:: Is 2 es mayor agreater than 5?
No, esthat's Falseo.
Unidadt 08 WhatIf, Texas Pginaage 177 ofde 321
A continuacin aparece una lista de los operadores de comparacin ms comnmente utilizadosHere's a list of the most commonly used comparison operators:
Operatdor MeaningSignificado QuestionPregunta = Igual aequal to El lado izquierdo es igual al lado derechoIs the left side equal to the right side? > greater thanMayor a Is the left sideEl lado izquierdo es mayor al lado derechogreater than the right side? < less thanMenor a Is the left sideEl lado izquierdo es menor al lado derecholess than the right side? Falseo >= Mayor o igual agreater than or equal to Is the left sideEl lado izquierdo es mayor o igual al lado derecho greater than or equal to the right side? <= Menor o igual aless than or equal to Is the left sideEl lado izquierdo es menor o igual al lado derecholess than or equal to the right side? <> No igual anot equal to Is the left sideEl lado izquierdo no es igual al lado derechonot equal to the right side?
Tal vez no estas familiarizadoYou may not be familiar w con los operadoresith the >=, <= andy <> operators. Son dos operadores en unoThey are two operators in one. Contienen dos enunciadosThey contain two Booleanos statements connectaedos por un operador by an ORR operator. Si cualquiera de los enunciados es VerdaderoIf either statement is True, entonces todo el enunciado es Verdaderothen the whole statement is True. PFor ejemploxample, >= significameans: Is the left sideEl lado izquierdo es Naranja es igual a manzana? No, eso es Falsoe
Unidadt 08 WhatIf, Texas Pginaage 178 ofde 321
mayor al lado derechogreater than the right side? ORR is the left sideEl lado izquierdo es igual al lado derechoequal to the right side? Dos preguntas separadas unidas por el OperadorTwo separate questions joined by the Booleano Operator ORR. ElT operadorhe <> significaoperator means: Is the left sideEl lado izquierdo es menor al lado derecholess than the right side? ORR is the left sideEl lado izquierdo es mayor al lado derechogreater than the right side? El operadorThe <> pregunta realmenteoperator really asks: Los dos lados son distintosAre the two sides not equal?
Veamos unos cuantos ejemplos, utilizando los operadores de comparacin para plantear ecuacionesLet's look at a few examples, using the comparison operators to set up Booleanas equations. Tal vez tengas que revisar de nuevo las tablas para ver cmo funciona el operador OOR en cada casoYou may have to look back at the tables to see how the OR operator works in each case.
3<=3 3<3 ies Falseo. 3=3 ies VerdaderoTrue. Falseo ORR VerdaderoTrue = VerdaderoTrue VerdaderoTrue, 3 ies menor o igual aless than or equal to 3.
Falseo, 2 is no es mayor o igual at greater than or equal to 3.
3<>4 3<4 ies VerdaderoTrue. 3>4 ies Falseo. VerdaderoTrue ORR Falseo = VerdaderoTrue VerdaderoTrue, 3 is no es igual at equal to 4.
3<>3 3<3 ies Falseo. 3>3 ies Falseo. Falseo ORR Falseo = Falseo Falseo, 3 is no es igual at equal to 3. De modo queSo 3 eis igual a equal to 3
Unidadt 08 WhatIf, Texas Pginaage 179 ofde 321
Hasta ahora tele he dado ejemplos con nmerosThe examples I gave you so far have been with numbers. Pero puedes utilizar los operadores de comparacin para comparar cadenas de texto y otros valoresBut you can use the comparison operators to compare text strings and other Booleanos values. VeObserve estos ejemplosLook at these examples:
ConsejoRecomendacin para el MaestroProfesorTeachers Tip La comparacin de cadenas es de izquierda a derechaThis is an example of a text box we can use for the Teachers Guide.String comparison is left to right. El primer caracter delThe first character of operando 1 se compara con el primeris compared to the fist character delof
Puedes usar los operadores de comparacin con cadenas como si compararas nmeros ABC < DEF Es ABC < DEF?
Unidadt 08 WhatIf, Texas Pginaage 180 ofde 321
Cdigo cConditcional Code
Ahora puedes hacer que tsu programa hagaHaz una pregunta Verdadera o FalsaNow you can make your program ask a True or Fal utilizando operadores de comparacin y lgicase question using comparison operators and Booleana logic. As queY qu es lo que haces con la respuestaSo what does it do with the answer? Tomas unaIt makes a decisiondecisin.! CCon base en si la respuesta al problema lgico es Verdadero oBased on whether the answer to the logic problem is True or Falseo, puedesit can "elegirchoose" hacer una cosa u otrato do one thing or another. En realidad, no tienes una verdadera eleccinActually, it doesn't really have a choice. Si la respuesta es VerdaderoIf the answer is True, entonces haces algothen it does something,. sSi la respuesta esIf the answer is Falsoe, entonces no haces nadathen it do. Aqu hay algunos ejemplos de la vida realesn't do anything. Here are some real life examples.
Si lavo el autocoche de Mam antes de que llegue PapIf I wash Mom's car before my Dad gets home, entonces l me pagarthen he will pay me $5. Lleg PapDad's home. Lav el cocheautoDid I wash the car? VerdaderoTrue. Pap me pagaDad pays me $5.
Lleg PapDad's home. Lav el cocheautoDid I wash the car? Falseo. Pap no me pagaDad does not pay me $5.
Temas enSi el medidor de gasolina est bajo, salgo aqu. Est bajo? Verdadero. Entonces me salgo.
Unidadt 08 WhatIf, Texas Pginaage 181 ofde 321
Si le gusto aIf Paulinae thinks I'm nice, entonces me invitar a salirthen she will ask me out.
Le gusto aDoes Paulinae think I'm nice? VerdaderoTrue. Me invita a salirShe asks me out.
Le gusto a Paulinae?Does Pauline think I'm nice? Falso. No me invita a salire. She does not ask me out.
Aqu hay algunos ejemplos de cmo un programa puede tomar decisionesHere are some examples of how a program can make decisions:
Si la casilla de verificacinIf the "Tamao GiganteSuper Size" se encuentra check box is marcadachecked, entonces mostrar la imagen grandethen show the large picture.
La casilla de verificacinIs the "Tamao GiganteSuper Size" se encuentracheck box marcada checked? VerdaderoTrue. Mostrar la imagen grande Show the large picture.
La casilla de verificacin "Tamao Gigante" se encuentra marcada?Is the "Super Size" check box checked? Falseo. No mostrar la imagen grandeDon't show the large picture.
Si laIf the variable Galones TotalesGallons ies mayor a c greater than zero, calcular entonces el costo de la gasolinal gasthen calculate the gas cost.
LaIs the variable Galones TotaleGallons es > 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 Pginaage 182 ofde 321
Como puedes ver mis ejemplos de la vida real y de mi programa tienen algounas cosas en comn
You can see my real life examples and my program examples have some things in common:. uUtilizan lgicaThey 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 comparacin como igual a y menor o igual a. La respuesta a la pregunta es ya sea Verdadero o Falsoe question uses comparison operators like equal to and less than or equal to. The answer to the question is either True or False. Si la respuesta 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 condicin es VerdaderaIf a certain condition is True, entonces algo sucedethen something happens. Si la condicin esIf the condition is Falsea, entonces no pasa nadathen nothing happens. Cuando deseas que tsu programa tome una decisinWhen you want your program to make a decision, escribesa una instruccin enunciadoyou write an "IfSiIf...ThenEntoncesThen" del mismo modo statement in the same way. IEn Visual Basic.NET la sintaxis esthe syntax is: IfSiIf condicintion ThenEntoncesThen enunciadoinstruccin conditcional statement End IfTerminaEnd IfSi El siguiente es un ejemplo deHere's an example in Visual Basic.NET: Teachers TipConsejoRecomendacin para el MaestroProfesor This is an example of a text box we can use for the Teachers Guide.Recominderdatorio
Unidadt 08 WhatIf, Texas Pginaage 183 ofde 321
IfSiIf myyAgeiEdadAge = 3 ThenEntoncesThen MessageBoxCuadrodeMensajesMessageBox.ShowMostrarShow("T engoI am 3.".) End IfTerminaEnd IfSi Fjese 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 condicin viene inmediatamente despus de la palabraThe condition comes right after the word "IfSiIf". La condicin realizaHace una comparacin 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 despus de la condicinfollows right after the condition. Tambin eEs una palabra claveIt deis a Visual Basic.NET, por lo que tambin aparece en azul keyword too, so it's in blue. Despus deAfter "ThenEntoncesThen" viene la instruccinel enunciado condicional que debe ejecutarsecomes the conditional statement to be executed. Pretendemos que esta lnea facilite la lectura del cdigoWe indent this line to make the code easier to read. Si laIf the condicin 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 enunciadoinstruccin condicionalfollow the conditional statement. stas tambin sonThese are palabras clavekeywords too y. Las palabrasThe words "End IfTermina Si" completan el enunciadoe the "IfIfSi" statement.
Unidadt 08 WhatIf, Texas Pginaage 184 ofde 321
Ahora intntaelo tustedNow you try it! Iniciae una nueva Aaplicacin de Start a new Windows denominadaApplication named IfThenSiEntoncesIfThen. Aadagrega un cuadro de texto a laAdd a text box to Forma 1. Coloqueca un botn en laPlace a button on Forma 1. Hagaz doble clic en el botn para editar elDouble click the button to edit the cdigo de evento de clic del botnbutton click event code. Aadea las siguientes lneas de cdigodd 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 botnClick the button. Esto es lo que est sucediendoHere's what's happening. TSu cdigo 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 instruccinel enunciado the conditcional despus destatement after "ThenEntoncesThen" is executed. El cuadro de texto despliega The textbox displays "TengoI am 3.".
Ahora cambiemos el cdigo como se muestra a continuacinNow 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 botnClick 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 Pginaage 185 ofde 321
"enunciado IfSiIf statement" hace la preguntaasks t he questions Is myAgeiEdadyAge = 3? Esta vez la respuesta es FalsoThis time the answer is False, sde modo que la instruccinel enunciadoo the conditcional despus 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 condicin se evala comobox is not changed because the condition evaluates to Falseo. TuSu Your programa hizo exactamente lo que se pretenda que hiciera did exactly what it was supposed to.
Unidadt 08 WhatIf, Texas Pginaage 186 ofde 321
Veamos otro ejemploLet's look at another example. Agrega enEn laOn Forma 1, aada una casilla de verificacin add a checkbox. Editae el cdigo de evento de clic del botnEdit the button click event code. Reemplaceza el cdigoce the existente con lo siguienteing code with the following: IfSiIf CasilladeVerificacinCheckBoxCheckBox1.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 verificacin y hagahaz clic en el botnCheck the checkbox and click the button. LaThe condicintion se evala como Verdaderauates to True (marcaste la casilla de verificacinyou 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 verificacin y hagahaz clic en el botnThis time, uncheck the checkbox and click the button. Qu sucedeWhat happens? No sucede nadathing happens. Esta vez la condicin esThis time the condition is Falsea (quitaste la marca de la casilla de verificacinyou unchecked the checkbox), de modo que el texto so the text no cambiais not changed. TSu programa ha tomado una decisinYour program has made a decision (determinar la propiedad del textoto set the text property) con base en una condicinbased on a condition (si una casilla de verificacin est o no marcadawhether a checkbox is checked or not).
Unidadt 08 WhatIf, Texas Pginaage 187 ofde 321
Debes poner una sangra en todas las instrucciones condicionales entre las lneas If...Then y End If. Eso facilita la lectura y comprensin de tu cdigo. An con una sola instruccin condicional deberas poner una sangra. Visual Studio.NET pone la sangra automticamente por omisin.
If CheckBox1.Checked = True Then MessageBox.Show(Danger!) End If Temas en
Unidadt 08 WhatIf, Texas Pginaage 188 ofde 321
Ms 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 podra ma requeriry revisar el estado de una casilla de verificacinneed to check the state of a checkbox, despus revisar el estado de unthen check the state of a botn de radioradio button, luegothen comparar dos nmerose 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 "SYes". Puedes aadir tantaosYou can add as man enunciadosinstrucciones dey "IfSiIf...ThenEntoncesThen" como requiera a stu cdigostatements to your code as you need. Como cualquier otra instruccino enunciadoLike any other statements, staos se ejecutan en el orden en el que ocurren en el cdigothey are executed in the order in which they occur in the code. Construyamos una aplicacin que muestre el uso de ms de una instruccinenunciadoLet's build an application that demonstrates the use of more than one "IfSiIf...ThenEntoncesThen" statement.
Digamos que nuestro programa tiene una casilla de verificacin denominadaLet's say that our program has a checkbox called "Desplegar Todas lasisplay All Alarmas". Si esta casilla de verificacin 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 podras escribir este cdigo es utilizando tres instruccionesenunciadosOne way you could write this code is to use three separate "IfSiIf...ThenEntoncesThen" separadaostatements. En cada unaoIn each, la condicin revisara si la casilla de verificacinthe condition would check to see if the "Desplegar Todas lasisplay All Alarmas" est marcadacheckbox is checked. Si la condicin es Verdadera, se ejecuta una enunciadoinstruccin condicionalIf the condition is True, a conditional statement is executed. Ahora tse lo mostrarHere, I'll show you. Iniciae una nueva aAplicacin deStart a new Windows denominadaApplication called Disparar Alarma de IncendioFireAlarm. Aadgrega una casilla de verificacindd a checkbox,, un
Unidadt 08 WhatIf, Texas Pginaage 189 ofde 321
cuadro de a texto y un botn de comando para la box, and a command button to Forma 1. Chambiae elnge the Texto del Buottonn of Button1 toa "Thhreeres IfsSise If's". HagaHaz doble clic en el Double click Buttonuttotnn 1 parato editar el evento de clic del botnedit the button click event. Aadea el siguiente cdigodd the following code. IfSiIf CasilladeVerificacinCheckBoxheckBox1.CheckedMarcadaChecked = VTrue ThenerdaderoTrue EntoncesThen Forma.ActiveFFormaActivaeForm.BackColorBackColordeFondo = Systemistemaystem.DrawingDibujarrawing.Color.Redojoed EndTermina IfSiE nd If IIfSif CasilladeVerificacinCheckBoxheckBox1.CheckedMarcadaChecked = VTrue ThenerdaderoTrue EntonThences CuadrodeTextoTexBoxBox1.Texto = "Red Alerta RojaAlerta Roja" End IfEndTermina IfSi IfSiIf CasilladeVerificacinCheckBoxCheckBox1.CheckedMarcadaChecke d = VTrue ThenerdaderoTrue EntonThences CuadrodeMenssajesMessageBoxgeBox.ShowMostrarShow("Peli groPeligroDanger! PeligroPeligroDanger!") End IfEndTermina IfSi Creae e iniciae tsu proyectoBuild and start your project. Marqueca la casilla de verificacin y hazgaCheck the checkbox and clic en el botn dek the "Three Ifshres 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 instruccinenunciadoThe 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 Pginaage 190 ofde 321
08 PruebaProve ItEjercicio 01 Gift Ideas de rRegalo
Al acercarnos aWhile nearing WhatIf, Texas, nos detuvimos en una tienda de regaloswe stopped at a gift shop. Si creas un programa para ayudar a los clientes a seleccionar un regaloIf you write a program to help customers select gift, el dueo de la tienda tle dar una postal original con la imagen de unl hermosothe shop owner will give you a genuine postcard featuring beautiful downtown centro de WhatIf del centro.
1. Dibujae unaPaint a formato denominadoa Ideas de Regalo called Gift Ideas. Includyeea una etiqueta rtuloa label GGente que comprPeople who bought y una etiqueta rtuloand a label Tambin comprAlso bought.
2. Colocaque un Combo box Cuadro ComboPlace a Combo box (vease la Unidadsee Unit 4) en el formatosobre la formaon the form. Determinae la propiedad de texto en Elegir un Regalo. Llenae el conjunto de Artculos con los regalos enumerados abajo, o utiliceza tsus propias ideas de regalo.
3. Colocaque un cuadro dePlace a texto box. Permitea que hayaAllow multiples lineas 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 artculos que hayan sido tambin 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 Cinta de Sombrero de pPiel de vVbora para sombreroSnakeskin Hat Band Ideas de regalo
En este Ejercicio debers crear un programa de seleccin de regalos. El usuario escoge un regalo de una lista desplegable a cuyo lado se encuentra una lista con ideas de regalos relacionados.
El archivo 08_ProveIt01_files contiene
Ideas de regalo
En este ejercicio debers crear un programa de seleccin de regalos. El usuario escoge un regalo de una lista desplegable a cuyo lado se encuentra una lista con ideas de regalos relacionados.
El archivo 08_ProveIt01_files contiene instrucciones para este ejercicio y archivos de apoyo que pudieras necesitar.Temas en
Unidadt 08 WhatIf, Texas Pginaage 191 ofde 321
Corbata para cChalecoBolero Tie Bootas Lustre para Bbotas de pPiel de aArmadillo Hide Boot PolishLustre Quita botasCota de Bota Desprendible FcilmenteEasy Off Boot Jack Stuffed JackalopeConejo con cCuernos dDisecado Mapa Secreto de la mMina de oOro secreta Gold Mine Map Oro gGenuine Gold Oreo Postales Cards Lpiz gGrabadoEngraved Pencil Camiseta deBig as TTexas T-Shirt Chili PeppersChilePepinillos Picantes Mangos en Forma de ChilesPanhandle Chili Salsa Picante Tornado Hot Sauce
Unidadt 08 WhatIf, Texas Pginaage 192 ofde 321
El nmero del artculo seleccionado se encuentra en la propiedad ndice Seleccionado
Unidadt 08 WhatIf, Texas Pginaage 193 ofde 321
The item number selected is found in the SelectedIndex property, comenzando en cerostarting at zero.
El nombre del artculoThe name of the seleccionado se encuentra en la propiedadted item is in the Se Artculo SeleccionadotedItem property. Si deseas que las dosIf you want the two recommendactiones to appearezcan en lneas 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 & vbNewLineuevaewLinenea & B
Por supuestoOf course, A andy B son reemplazadasare r por laseplaced by the recommendatciones.
Cuando tsuWhen your programa funcione works correctamentely, mustraeselo a tsu instructorshow it to your instructor.
Teachers TipConsejoRecomendacin para el MaestroProfesor Algunos alumnos pueden considerar queThis is an example of a text box we can use for the Teachers Guide.Some students may find the las instructciones no son un clearas. Se espera que el alumno tenga una serie de enunciadosinstrucciones IfSiThe student is expected to have a series of If statements. El
Unidadt 08 WhatIf, Texas Pginaage 194 ofde 321
Ms 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 tenan la mismaexample had the same condiction? Todaos utilizabanThey all used: SiIfIf CasilladeVerificacinCheckBoxCheckBox1.MarCheckecadaChecked = VTrue ThenerdaderoTrue EntoncesThen Lo nico que cambiaba era el enunciadoThe only thing different was the la instruccin condidicionational utilizadao en cada unostatement each one used. Parece demasiado cdigo Seems like a lot of repetitivoe code, verdaddoesn't it? No existe una manera ms sencillahay una forma ms fcilIsn't there an easier way? Bueno, claro que la hayWell, of course there is! Visual Basic.NET y la mayora de los lenguajes modernos de programacin permiten mltiples instruccionesenand most modern programming unciadoslanguages allow multiple conditcionales para una misma condicinstatements under the same condition. La sintaxis es la siguienteHere's the syntax: IfSiIf conditcion EThenntoncesThen enunciadoinstruccin conditcional statement 1 instruccinenunciado conditcional statement 2 instruccinenunciado conditcional statement etc. End IfEnd IfTermina Si Sabiendo estoKnowing this, podemos rescribir el cdigo que utilizamos enwe can re-write the code we used la aplicacin de Disparar Alarma de Incendioin the FireAlarm application, simplificndoloying it, eliminando los enunciados de condicin repetitivos y facilitando la comprensiting the repetitive condition statements, and making it easier to unnderstand. Abrea tsuOpen your aplicacin de Disparar FireAlarma de Incendio application. Aaddea un segundo botn de comando a la a second command button to Forma 1. Chambiae el nge the Texto del of Buttuttonotn 2 ato "UnOne SiIf". HagaHaz dobleDouble clic en elk on Buttonotn utton2 parato editar el evento de clicedit the click event. Agregaada el siguiente cdigodd the following code: IfSiIf CasilladeVerificacinCheckBoxheckBox1.CheckedMarcadaChecked
Unidadt 08 WhatIf, Texas Pginaage 195 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 verificacin y hagahaz clic en el botnCheck the check box and click the "UnOne SiIf"One If" button. Se evala el enunciado de condicin 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 haca antesdid before. Sin embargoThis time, esta vez laos tres instruccionesenunciadoshowever, the three conditcionales comparten una nica condicinstatements share a single condition, lo que requiere menos cdigo y ste es ! Utilizando una nica condicin con mltiples enusnciadosing a single condition with multiple conditcionales que dependen de ella, requiere menos cdigo y el cdigo es ms fcil de comprender statements under it takes less code and the code is easier to understand.
Unidadt 08 WhatIf, Texas Pginaage 196 ofde 321
Opcin mltipleMultiple Choice Recuerdas cuando orden cerveza de raz utilizando slo 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 opcin mltiples 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 opcin mltipleYou en un cdigo 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 aAplicacin deStart a new Windows denominadaApplication called Elegir Un ChooseAColor. Aadagrega tresdd three botones de radioradiobuttons y un botn 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 Botn de RadioRadioButton of RadioButton 1 ato "RojoRojoed". Chambiae elnge the tTexto del of Botn de RadioButtonRadioButton 2 ato "AmarilloYellow". Chambie elnge the tTexto del of Botn de RadioButtonRadioButton 3 ato "VerdeGreen". Chambiiaenge el the tTexto del Buttonotn of Button1 toa "ColorameColor Me". Ajustae la propiedad MarcadaSet the Checked propert dely of Botn de RadioButtonRadioButton 1 en Verdaderto Trueo. HagaHaz doble clic en el Buttonotn Double click Button1 para editar el cdigo de evento de clicto edit the click event code. Aadagrega las siguientes lneas de cdigodd the following lines of code: Dim myyiColor AsComoAs Systemistemaystem.DrawingibujarDrawing.Color IfSiIf BotndeRadioButtonRadioButton1.MarcadCheckedoChecked = VTrueerdaderoTrue ThenEntoncesThen myyiColor = Syistemaystem.Dibujarawingrawing.Color.RRojoojoed End IfEndTermina IfSi IfSiIf BotndeRRadioButtonRadioButton2.CheckedMarcadoChecked = VTrueerdaderoTrue ThenEntoncesThen
Unidadt 08 WhatIf, Texas Pginaage 197 ofde 321
myyiColor = Systemistemaystem.Dibujarawingrawing.Color.AmarilloAmarillo Yellow End IfEndTermina SiIf IfSiIf BotndeRadioButtonRadioButton3.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 botn de radioNotice that the "Rojoed" se encuentra marcado. HagaHaz clic enradiobutton el botn is checked. Click the "Colorame" Me" button. El formatoLaThe forma y los botones se colorean de rojo and buttons are colored red. Seleccionae unt a different botn de radioradiobutton distinto y hazgaand clic en el botnk the "Colorame" Me" button. ElLaThe formato yand los buotones se colorean de un color distintottons are colored a different color!.
Observae el cdigoLook at the code. Se utiliza unaA serie de instruccionesenunciadoss of "IfSiIf...ThenEntoncesThen" para responder una pregunta de opcin mltiplestatements is used to answer a multiple choice question: "QuWhich botn de radioradiobutton se encuentra marcadois checked?" A medida que el cdigo ejecuta una ordens code executes an order, el programa determina finalmente cul 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 instruccin condicional apropiadaoThen the program executes the appropriate conditional statement para especificar el to set the color.
Unidadt 08 WhatIf, Texas Pginaage 198 ofde 321
Operadores Booleanos en el Operators in el cCdigoode Hemos hablado de cmo puedes utilizarWe talked about how you can use los operadores Booleanos operators para unir expresiones y resolver to join expressions t problemas complejos deo lgicagether 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 condicin complejathe AND Boolean operator to build a complex condition.
Vamos aWe are going to modificar nuestra aplicacin dey our Elegir Un ChooseAColor aadiendo una casilla de verificacin que habilitar o deshabilitar la funcionalidad 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 condicin ms compleja que requiera que to build a more complex condition which requires that la casilla de verificacin se encuentre marcada the checkbox para que el is checked or the color pueda cambiarsecan't be changed.
Abrea tsu aplicacinOpen your Elegir Un ChooseAColor application. En laOn Forma 1, aadaagrega una casilla de verificacindd a checkbox. Chambiae la propiedad delnge the tTexto a property to "HabilitarEnable Colores". Editae el cdigo de evento de clic de botn del Buttonotn the button click event code of Button1. Reemplaceza el cdigo con lo siguientece the code with the following: Dim myyiColor AsComoAs Syiystema.Drawingibujarrawing.Color IfSiIf BotndeRadioButtonRadioButton1.CheckedMarcadoChecked = VTrueerdaderoTrue AndYAnd CasilladeVerificacinCheckBoxCheckBox1.CheckedMarcadaChecke d ThenEntoncesThen myyiColor = Syistystemema.Dibujarawingrawing.Color.RRojoojoed End IfEndTermina IfSi IfSiIf BotndeRadioButtonRadioButton2.CheckedMarcadoChecked = VTrueerdaderoTrue AndYAnd CasilladeVerificacinCheckBoxheckBox1.CheckedMarcadaChecked ThenEntoncesThen myyiColor = Syiystema.Drawingibujarawing.Color.AmarilloAmarilloYellow
Unidadt 08 WhatIf, Texas Pginaage 199 ofde 321
End IfEndTermina IfSi IfSiIf BotndeRadioButtonRadioButton3.CheckedMarcadoChecked = VTrue AnderdaderoTrue YAnd CasilladeVerificacinCheckBoxheckBox1.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 botnClick the "Colorame Me" button. No sucede nadaNothing happens.! No hay cambio de colorr change. Ahora marqueca la casilla de verificacinNow check the "HabilitarEnable Colores" y hagahaz clic de nuevo en el botncheckbox and click the "Colorame Me" button again. El formatoLaThe forma y los controles se colorean de rojo and controls are colored red. Esto es lo que est sucediendoHere's what's happening. Aadimosgregamos el siguiente cdigo a la condicin deWe added the following code to the cada instruccinenunciado condition of each IfSiIf...ThenEntoncesThen statement: AndYAnd CasilladeVerificacinCheckBox heckBox1.CheckedMarcadaChecke d
Teachers TipConsejoRecomendacin para el MaestroProfesor Algunos alumnos tienen problemasThis is an example of a text box we can use for the Teachers Guide.Some students have trouble con el uso de enunciados Si complejos with using complex (Booleanos) If statements. Los evitan, creando en lugar de ello programas ms complejosThey avoid Teachers TipConsejoRecomendacin para el MaestroProfesor Algunos alumnos tienen problemasThis is an example of a text box we can use for the Teachers 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 ms
Unidadt 08 WhatIf, Texas Pginaage 200 ofde 321
Esto aadeagrega una condicinThis 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, BotndeRadioButton2RadioButton2.CheckedMarcadoChecked = VTrue AnderdaderoTrue YAnd CasilladeVerificacinCheckBoxheckBox1.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 expresin se eva on either side of the AND operator are False, then the expression will evalluar comouate to Falsa y el color no cambiare 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 Pginaage 201 ofde 321
EntradaLlegada aEntering WhatIf Bueno, lo hemos logradoWell, we made it! Ya estamos enHere we are in WhatIf, TX. Nunca dud que lo lograramosI had no doubt we'd make it. En el trayecto usted aprendiste otro tipo esencial de enunciadoinstruccin de cdigo, 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 disfrutars de staI think you'll really enjoy this one. No olvides efectuar sutu prueba examen deDon't forget your Verificacin 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 Pginaage 202 ofde 321
08 Pruebaove ItEjercicio 02 Encuesta de aAptitud en pProgrammming Aptitude acinSurvey
Sabemos que sete encuentras en este viaje de Reglas de Cdigo porque has demostrado tsus aptitudes en el saln 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 deseara disponer de una simple formato de encuesta para ayudar a que otros alumnos decidan si deben tomar un curso de programacin o nowould like a simple survey form to help other students decide if they should take a programming course.
Dibujae unaPaint a formato como stea like this:
Encuesta de aptitudes
En este Ejercicio debers crear un formato de encuesta interactivo. Usando una escala del 1 al 10 el usuario debe estimar su aptitud para diferentes habilidades de programacin. El programa suma sus puntajes y proporciona una evaluacin de la aptitud de programacin.
El archivo 08_proveit02_files contiene instrucciones para este Ejercicio y archivos de apoyo que podrs necesitar.
Unidadt 08 WhatIf, Texas Pginaage 203 ofde 321
Cuando se hagahaces clic en el botnWhen the Evaluarte button is clicked, aadagrega los nmeros 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 nmeroSince the content of a text box is a string, not a number, usted ttendrs 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 funcinThe Val function calcula el valor de la cadenates the value of the string. Despus usted puedes asignarlo a una variable comoThen you can assign it to a variable such as X.
Si el nmero es mayor aIf the number is greater than 40, assignae un mensaje al cuadro de texto de a message to the Evaluacin, 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 programacinming course.
Si el nmero es deIf the number is from 20 a 39, entonces dilegale al alumno que su xito en la programacin es incierto, pero que es
Unidadt 08 WhatIf, Texas Pginaage 204 ofde 321
bienvenido a intentarlo then tell the student that their programming success is uncertain but that they are welcome to try.
Si el nmero 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.
Cul es tsu propio puntajeWhat is your own score?
Cuando tsuWhen your programa isea correcto, mustraeselo a tsushow it to your instructor.
Teachers TipConsejoRecomendacin para el MaestroProfesor Al calificar estea Pruebaove ItThis is an example of a text box we can use for the Teachers Guide.When grading this Prove It, verifique que exactamentey that
Unidadt 08 WhatIf, Texas Pginaage 205 ofde 321
Unidadt 08 WhatIf, Texas Pginaage 206 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 crearloCremoslo conLets create it with Visual Basic.NET. Requerir algunas cosas que no hemos cubiertoIt will require some things we especficamentehavent 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. Aadagrega controles a la formato, para que se vea asdd controls to the form so it looks like this:
Teachers TipConsejoRecomendacin para el MaestroProfesor EsteThis is an example of a text box we can use for the Teachers Guide.This programa es ms grande que los programas anteriores is larger than previous programs. Puede resultar til revisarIt may be 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 necesitars.Temas en
Teachers TipConsejoRecomendacin para el MaestroProfesor EsteThis is an example of a text box we can use for the Teachers Guide.This programa es ms grande que los programas anteriores is larger than previous programs. Puede resultar til revisarIt may be ZapTemas en
Unidadt 08 WhatIf, Texas Pginaage 207 ofde 321
Unidadt 08 WhatIf, Texas Pginaage 208 ofde 321
ElThe propsitoobjecto del juego es hacer clic en el objetivo en movimiento of the game is to click the moving target. El cdigo mover la imagen, dificultando hacerle clicThe code will move the picture, making it hard to click. El botn Inicio restablece inicializa e inicia el juegoThe Start button initializes and starts the game;. eEl botn Detener termina el juegoThe Stop button ends the game y. eEl botn 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. Aadagrega un Cuadro de iImagen para mantenercolocar el grfico objetivodd a PictureBox to hold the target graphic.
El grfico 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 Cronmetro para hacer que el cdigo se ejecute en intervalos de tiempo especficos uses a Timer to cause code to execute at specific time intervals. Despus de haber dibujado ella formato, encuentrae el control del Cronmetro 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 botn Inicio hagahaz clic en evento, aadagrega el cdigo 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 cCronmetro en VerdaderoSet the Enable property of the Timer to True.
Unidadt 08 WhatIf, Texas Pginaage 209 ofde 321
4. Agregaada el cdigo al evento de clic del botn de Inicio para realizar lo siguientedd code to the Start button click event to do the following: --Si elIf Botn de RadioRadioButton Radiobutton1 ies VerdaderoTrue, ajustae la propiedad de Intervalo del Cronmetro 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 Botn de Radiobutton RadioButton 2 ies VerdaderoTrue, ajustae la propiedad de Intervalo del Cronmetro 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 Botn de RadiobuttonRadioButton 3 ies VerdaderoTrue, ajustae la propiedad de Intervalo del Cronmetro 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 botn DetenerIn the Stop button click event, ajustae la propiedad Habilitar del cCronmetro enset the Enable property of the Timer to Falseo.
6. En el evento de clic del botn 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, aadagrega el cdigo que aumenta por un punto el marcador delaadir uno aldd code that will add one to the contador de Aciertosaciertos Hits counter y pngalo en el Cuadro de Texto marcado comoand put it into the TextBox labeled "AciertosHits".
8. En el evento Cdel CronmetroIn the Timer event (hagahaz double -clic en el cronmetro para obtener la ubicacin del cdigok the timer to get to the code location), usted aadeagrega el siguiente cdigo para mover el objetivoyou add the following code to move the target. Presupone que tsu It assumes your formato tiene un tamao de is 250 porby 550 in size.
Dim MyRandomGenerator As System.Random MyRandomGenerator = New System.Random Dim RandomX As Integer Dim RandomY As Integer
9. En el evento del Cronmetro, despus del cdigo anterior, agregaadaIn 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. Agregaadadd 1 alto the contador de AciertosHits counter.
Extension / Desviacinisparo LateralSide Trip
Al inicio del cdigo del de cronmetro, 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 Pginaage 211 ofde 321
Las computadoras toman las decsisciones basadas en Cuando el operador AND rregresa un valor de TrueVerdadero?Temas en Cul es el significado de estTemas en Cuando el operador OR regresa un valor de TrueVerdadero?Temas en Cuando el lado izquierdo o el lado derecho es TrueVerdadero
Cuando ambos lados son TrueVerdadero
No se puede determinarTemas en Cuando el lado izquierdo o el lado derecho es True
Cuando ambos lados son True Cuando el operador AND regresa un valor de TrueTrue?Temas en Cuando el lado izquierdo o el lado derecho es True
Cuando ambos lados son True Cuadrar un nmero No igual Lo mismo queTemas en Verdadero/Falso
Hacer/Hasta
Estado de Byte Cuadrar un nmero No igual Lo mismo queTemas en
Cuando el lado izquierdo o el lado derecho es TrueVerdadero
Cuando ambos lados son TrueVerdadero No se puede determinarTemas en
Unidad 09 - IfElse, New Mexico Pgina 212 de 321 Temas en el camino a IfElse:
IfElse Ampliacin de If...Then Instrucciones If...Then anidadas Condiciones contrarias If...Then...Else Introduccin a If Instrucciones If en C# y J# Operadores en C# y J# Entrada a IfElse, NM
Unidad 09 - IfElse, New Mexico Pgina 213 de 321 IfElse, Nuevo Mxico
Cliff explic muy bien las instruccin If...Then, y ya las entiendes. Ahora tus programas pueden tomar decisiones. Casi es como si pensaran. Te indic cmo usar los operadores booleanos, trabajar con lgica booleana y programar instruccins If...Then en Visual Basic NET. Cliff us algunos ejemplos muy buenos para demostrar el uso de las instruccins If...Then para tomar decisiones de opcin mltiple, y cmo usar operadores booleanos para formar condiciones complejas.
Cliff te llevar a tu prximo destino: IfElse, Nuevo Mxico. Los paisajes son espectaculares, aunque en esta poca del ao 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 ensear algunos trucos ingeniosos que harn todava ms tiles a las instruccins If...Then. Al terminar este viaje podrs hacer que tus programas tomen casi cualquier decisin que desaes.
Unidad 09 - IfElse, New Mexico Pgina 214 de 321 Ampliacin de If...Then Ya conoces cmo configurar una instruccin If...Then en Visual Basic.Net. Es mucho lo que se puede hacer slo con ella. Si usas ms de una instruccin If...Then, tu programa puede tomar un sin nmero de decisiones. Hasta podr contestar preguntas de opcin mltiple, usando una serie de instruccins If...Then. Cliff te ense tambin cmo las instruccines condicionales mltiples pueden compartir una sola condicin. Si la condicin es Cierto, todas las instruccins condicionales que haya bajo ella se ejecutan en orden. Esto simplifica tu programa y facilita leerlo y corregirlo.
Al usar instruccins simples If...Then, puedes escribir un programa para hacer cualquier tipo de decisin, 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 ensearte algunos trucos de programacin que simplificarn tu vida y le agregarn una funcionalidad poderosa a la instruccin If...Then simple. Primero te mostrar cmo anidar las instrucciones If...Then. Despus te ensear cmo 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 Pgina 215 de 321
Declaraciones If...Then anidadas
Slo para simplificar, Cliff no toc un secretillo acerca de If...Then. En una instruccin If...Then, puedes tener otra If...Then como instruccin condicional. Piensa lo que significa! La segunda instruccin If...Then slo se ejecuta si la condicin de la primera resulta Cierto. La primera instruccin contiene a la segunda. A esto se le llama anidamiento porque una instruccin 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 cdigo, eso se vera como sigue: If tengo $200 Then If la tienda est abierta Then Comprar un reproductor MP3 End If End If Es como dos instruccins If...Then en una. La primera instruccin If...Then envuelve a la segunda. La primera contiene una condicin (si tengo $200) y una instruccin condicional (si la tienda est abierta, comprar un reproductor MP3); esta ltima es otra instruccin If...Then. La segunda If...Then tiene su propia condicin (si la tienda est abierta) y su propia instruccin 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 condicin de la primera instruccin If...Then es Falso, y no importa que la tienda est abierta o no -- no habr reproductor MP3.
Recomendacin para el profesor Algunos alumnos observarn que el ejemplo anterior se puede escribir como instruccin 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 sangra, o despus en la unidad, cuando se introduce la parte Else de If. Recomendacin para el profesor Las sangras y el alineamiento son vitales para evitar errores al escribir instruccins anidadas If.
Unidad 09 - IfElse, New Mexico Pgina 216 de 321 Veamos ahora algn otro programa. Iniciaremos una nueva aplicacin llamada Anidamiento. Agregaremos dos casillas de verificacin y un botn de comando a Form1. Cambia el texto del Button1 a Quin se registra? Haz doble clic en Button1 para editar el cdigo del evento clic. Agrega el siguiente cdigo:
If CheckBox1.Checked = True Then If CheckBox2.Checked = True Then MessageBox.Show("All are checked.") End If End If
Crea e inicia tu aplicacin. Elige la primera casilla de verificacin y despus haz clic en el botn Quin se registra? Qu sucede? Bueno, nada sucede. Ahora elige la segunda casilla de verificacin y haz clic de nuevo en el botn Quin se registra? Esta vez un cuadro de mensaje muestra el mensaje Ambos estn registrados. Como puedes ver, la primera lnea del cdigo es una condicin:
If CheckBox1.Checked = True Then
Esta condicin contiene una instruccin condicional que en realidad es otra instruccin If...Then, anidada en la primera. La instruccin If...Then anidada tiene su propia condicin:
If CheckBox2.Checked = True Then
Tambin tiene su propia instruccin condicional:
MessageBox.Show("All are checked.")
Entonces qu sucede? Si la primera condicin es Cierto (la casilla de verificacin 1 est marcada), entonces se ejecuta la instruccin condicional. Sucede que la instruccin condicional es una segunda instruccin If...Then. Si la segunda condicin es Cierto (la casilla de verificacin 2 est marcada), entonces se ejecuta la instruccin 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 verificacin 1 como la 2 deben estar elegidas, porque de lo contrario no aparecer el cuadro de mensaje. Si el celular de Nikki est encendido y acepta mis disculpas, regresar y me llevar
Unidad 09 - IfElse, New Mexico Pgina 217 de 321 En el cdigo anterior, observa que la segunda instruccin If...Then est contenida dentro de la primera. El End If de la primera instruccin If...Then se encuentra despus del End If de la segunda instruccin If...Then. La segunda est anidada, o contenida, en la primera. Puedes usar el anidamiento para combinar varias instrucciones If...Then para que slo se ejecute una instruccin 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 ms de tres capas de anidamiento se vuelve confuso y difcil para corregir errores. Asegrate de sangrar las instrucciones interiores>
Unidad 09 - IfElse, New Mexico Pgina 218 de 321 Condiciones opuestas Hasta ahora nuestras condiciones han sido algo unilaterales. Si la condicin es Cierto, entonces se ejecuta la instruccin condicional. Si la condicin es Falso, nada sucede. Y si quisiramos que pasara algo cuando la condicin sea Falso? Y si quisiramos ejecutar otras lneas del programa?
Bien, una posibilidad es escribir otra instruccin If...Then con la condicin opuesta y su propia instruccin condicional para ejecutar. Escribamos el cdigo! Inicia una nueva aplicacin llamada IfThenOtherwise. Agrgale un botn de comando y dos casillas de verificacin a Form1. Cambia la propiedad de Texto de Button1 a IfThen. Ponga el siguiente cdigo 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 botn If Then. El formato se vuelve azul. Elige la casilla de verificacin 1 y haz clic de nuevo en el botn IfThen. El formato se vuelve roja.
Cmo trabaja este cdigo? En la primera instruccin If...Then se comprueba la condicin para ver si CheckBox1.Checked = True. Si es Cierto, el color de fondo del formato se pone en rojo. En la segunda instruccin If...Then se comprueba la condicin para ver si CheckBox1.Checked = False (la condicin 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 cdigo casi idntico, para la condicin contraria. Esto puede ser tardado, y se presta a errores.
Unidad 09 - IfElse, New Mexico Pgina 219 de 321
Es tardado y puede haber errores al escribir dos instrucciones If...Then. En vez de ello, usa una nueva clase de instruccin llamada If...Then...Else, para simplificar tu programa.
Unidad 09 - IfElse, New Mexico Pgina 220 de 321 IfThenElse Visual Basic.NET ofrece una alternativa que elimina las lneas repetitivas del programa, y hace que ste sea ms claro y fcil de leer. Esta alternativa es la instruccin If...Then...Else, la cual slo necesita una condicin, pero proporciona instrucciones condicionales separadas para cada resultado (Cierto o Falso). La instruccin If...Then...Else se usa en lugar de escribir dos instrucciones If...Then que tengan condiciones contrarias. La sintaxis es la siguiente: If condicin Then instruccin condicional 1 Else instruccin condicional 2 End If Cmo trabaja este cdigo? Primero, se evala la condicin. Si sa es Cierto, entonces se ejecuta la instruccin condicional 1. En caso contrario (else) se ejecuta la instruccin condicional 2.
Ahora modifiquemos nuestra aplicacin IfThenOtherwise para usar una instruccin If...Then...Else y demostrar que funciona igual que dos instrucciones If...Then independientes, pero contrarias. Agrega un segundo botn a Form1. Cambia la propiedad de Texto del Button2 a IfThenElse. Al evento clic en botn de Button2 agrega el siguiente cdigo: 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 botn IfThenElse. El formato se vuelve azul. Elige la casilla de verificacin 1 y haz clic de nuevo en el botn IfThenElse. El formato se vuelve rojo. El programa hace lo mismo cuando usa una instruccin IfThenElse que cuando usaba dos instrucciones IfThen. El cdigo funciona porque se verifica la condicin, para ver si la casilla de verificacin est marcada (CheckBox1.Checked = True). Si es Cierto, la primera instruccin condicional se ejecuta y el formato se vuelve rojo. Si no es as (Else), se ejecuta la segunda instruccin condicional (la que est despus de Else) y el formato se vuelve azul.
Veamos otro ejemplo de If...Then...Else. Vamos a modificar la aplicacin IfThenOtherwise, para incluir varias lneas de cdigo en las instrucciones condicionales. Una instruccin If...Then...Else puede tener varias lneas de cdigo para sus instrucciones condicionales despus de las clusulas If...Then y Else.
Abre tu aplicacin IfThenOtherwise. Quita el cdigo del evento de clic en Button2 y cmbialo por el siguiente:
Observa que las instrucciones condicionales despus de los renglones If...Then...Else lleven una sangra. Esto lo hace Visual Studio.Net de manera automtica, y ayuda a mantener su programa ordenado y bien legible.
Unidad 09 - IfElse, New Mexico Pgina 221 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 botn IfThenElse y suceden tres cosas. Ahora elige la casilla de verificacin 1 y haz clic de nuevo en el botn IfThenElse y suceden tres cosas distintas. Introduccin a If Ahora usaremos las funciones de depuracin de Visual Studio.NET para entrar al cdigo en una instruccin If...Then...Else. De este modo vers cmo funciona desde la perspectiva del cdigo.
Crea una nueva aplicacin de Windows llamada StepInIf. Agrega un slo botn de comando a Form1. Pon la propiedad de verificacin de la casilla de verificacin 1 en True. Cuando arranca la aplicacin se marcar la casilla de verificacin.
Haz doble clic en el botn de comando para editar el cdigo del evento clic. Agrega el siguiente cdigo:
Dim MyValue As Integer MiValor = 1 If CheckBox1.Checked = True Then MyValue = 2 Else MyValue = 3 End If
1. Pon un punto de interrupcin en la primera lnea del cdigo (MyValue = 1) haciendo doble clic en la zona gris a la izquierda del cdigo, o haciendo clic derecho y escogiendo Insertar punto de interrupcin.
2. Crea e inicia el proyecto. Cuando aparece el formato, haz clic en el botn. El cdigo se ejecuta hasta la lnea que tiene el punto de interrupcin.
Recomendacin para el profesor Anime a los alumnos a recorrer realmente el cdigo, y no slo que lo lean.
Unidad 09 - IfElse, New Mexico Pgina 222 de 321
3. Oprime la tecla F11 para ejecutar la lnea de cdigo actual (MyValue = 1). Se destaca el siguiente rengln del cdigo.
Unidad 09 - IfElse, New Mexico Pgina 223 de 321
4. Oprime la tecla F11 para ejecutar la lnea de cdigo actual (If CheckBox1.Checked = True Then). Como la casilla de verificacin 1 (CheckBox1) est elegida, el siguiente rengln del cdigo que se debe destacar es MyValue=2.
5. Oprime la tecla F11 para ejecutar la lnea de cdigo actual (MyValue = 2). Se destaca la siguiente lnea del cdigo.
6. Oprime la tecla F11 para ejecutar la lnea de cdigo actual (End If). Se destaca la siguiente lnea del cdigo.
7. Oprime la tecla F11 para ejecutar la lnea de cdigo actual (End Sub). Aparece de nuevo el formato.
Unidad 09 - IfElse, New Mexico Pgina 224 de 321 8. Deselecciona la casilla de verificacin 1 (CheckBox1) y haz clic en el botn. 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 cdigo. Esta vez se ejecuta la clusula Else seguida por la lnea MyValue = 3.
Muchas posibilidades! Ahora ves cmo funciona en realidad una instruccin If...Then...Else.
Unidad 09 - IfElse, New Mexico Pgina 225 de 321 Practicaremos ahora lo que hemos aprendido.
09 Ejercicio 01 Marcadores de golf
Nos divertimos jugando golf esta maana, no es cierto? Bien, usted se divirti, pero mi marcador fue horrible! Calculemos los resultados.
Prepara un formato como este:
Cuando haces clic en el botn Calcular, se calcula el marcador promedio en el golf. Como el contenido de un cuadro de texto es una cadena y no un nmero, habr que convertirlo en un nmero. Visual Basic.Net permite varias formas de hacerlo. Veamos una.
X = Val(TextBox1.Texto)
La funcin 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, mustraselo a tu instructor. Marcadores de golf
Debes crear un formato que muestre los marcadores de golf y algunos clculos relacionados.
El archivo 09_proveit01_files contiene instrucciones para este ejercicio y todo archivo de soporte que necesitas.
Unidad 09 - IfElse, New Mexico Pgina 226 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 cmo 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 embargo, su sintaxis es algo diferente. Tambin tienen condiciones e instrucciones convencionales. Te mostrar un ejemplo rpido en C# y despus te describir los detalles. int MiEdad; MiEdad=3; if (MiEdad==3) { MessageBox.Show("Tengo 3."); MessageBox.Show("Todava tengo 3."); } Primero declaramos una variable de tipo entero, llamada MiEdad, y despus la igualamos a un valor inicial. A continuacin iniciamos nuestra instruccin con la palabra if observa que est en minsculas. Despus, nuestra condicin es (Piedad==3). La condicin se encierra entre parntesis. Apuesto que te ests preguntando que hace aqu el doble signo igual. Bien, es el smbolo 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 cdigo sea ms legible, algunos programadores ponen las llaves en renglones separados. Observa que cada una de las instrucciones condicionales tienen al final punto y coma. Tambin observa que la palabra Then no se usa. Y en J#? Bien, en este caso, el cdigo en J# es exactamente igual que en C#. Recomendacin para el profesor Los alumnos avanzados podrn tomar un programa terminado de Visual Basic y escribirlo en C# o en J#.
Unidad 09 - IfElse, New Mexico Pgina 227 de 321 Veamos ahora una instruccin If...Then...Else en C#. Busca las semejanzas y las diferencias entre esta instruccin en C# y la misma instruccin en Visual Basic.NET. int MiEdad; MiEdad=3; if (MiEdad==2) { MessageBox.Show("Tengo 2."); MessageBox.Show("Todava tengo 2."); } else { MessageBox.Show("Tengo 3."); MessageBox.Show("Todava tengo 3."); } Observa de nuevo que la condicin se encierra entre parntesis. Tambin observa que hay dos grupos de instrucciones condicionales, uno despus de la condicin y otro despus 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 cdigo para la instruccin If...Then...Else es exactamente igual que en C#.
Unidad 09 - IfElse, New Mexico Pgina 228 de 321 Operadores en C# y en J# Hay un par de cosas ms 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 Visual Basic.NET C# J# AND And && && OR Or || || NOT Not ! !
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 estn todas en minsculas. 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 automtica, se usa el mtodo ToString. El mismo cdigo 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 Pgina 229 de 321 El cdigo 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 cdigo J# tuvimos que decir explcitamente convertir el valor Booleano a una cadena, usando el mtodo System.Convert.ToString para poder mostrarlo en un cuadro de mensaje. Algunos de los operadores de comparacin tambin 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. Adems, para representar no es igual, C# y J# usan != en lugar de <>. En la tabla siguiente se muestran los operadores de comparacin.
Operador de comparacin Visual Basic.NET C# J# Igual a = == == Mayor que > > > Menor que < < < Mayor o igual que >= >= >= Menor o igual que <= <= <= No es igual a <> != !=
Ve este cdigo en J# o en C# que usa el operador no es igual a. int MiEdad; MiEdad=2; if (MiEdad!=3) { MessageBox.Show("No tengo 3."); } Como puedes ver, aparece el mensaje No tengo 3 cuando se ejecuta este cdigo.
Unidad 09 - IfElse, New Mexico Pgina 230 de 321 Eso fue una muy buena explicacin. Veo muy pocas diferencias en las formas en que se codifican If...Then e If...Then...Else en Visual Basic.NET, en C# y en J#, pero muchas semejanzas. Hacen lo mismo y en las mismas formas, pero con una sintaxis distinta.
Llegada a IfElse, NM
Aqu estamos en IfElse, Nuevo Mxico. Aprendiste mucho en el camino? Ahora tenemos ms herramientas de programacin para trabajar. Puedes escribir instrucciones If...Then anidadas, y tambin codificar instrucciones If...Then...Else. Ahora tu cdigo realmente puede tomar decisiones.
Bien, es tiempo de practicar un poco ms. Veamos una demostracin matemtica.
Unidad 09 - IfElse, New Mexico Pgina 231 de 321 09 Ejercicio 02 Cuadrado mgico
No soy un mago profesional, como el que vimos en el Parque de diversiones IfElse, pero conozco un truco de magia. Puedo tomar los nmeros 1 a 9 y ordenarlos en un conjunto (array) de 3 por 3, de tal modo que sumen lo mismo en cualquier direccin. Puedes escribir un programa para hacerlo?
Prepara un formato como el siguiente, o si deseas ahorrar tiempo, usa el que hay en 09_proveit02_template:
Cuando haces clic en el botn Calcular, se calcula la suma de los tres renglones, de las tres columnas y de las dos diagonales, poniendo los resultados en los cuadros de texto 10 a 17 (de izquierda inferior a derecha superior).
Cuadrado mgico
Elabora un formato para llenarla con un cuadrado mgico, y decir si el jugador tuvo xito o fracas.
El archivo 09_proveit02_files contiene instrucciones para este archivo ejercicio, y todos los archivos de soporte que necesitas.
Haz clic en el botn Descargar para descargar el archivo.
Unidad 09 - IfElse, New Mexico Pgina 232 de 321 Como el contenido de un cuadro de texto es una cadena, y no un nmero, habr que convertirlo a un nmero. Visual Basic.Net permite varias formas de hacerlo. Veamos una.
X = Val(TextBox1.Text)
La funcin Val calcula el valor de la cadena. Despus puedes asignarla a una variable y usarla en una instruccin If.
Cada suma debe ser igual a 15. La suma de los nueve cuadros de texto debe ser 45.
La etiqueta 2 (Label2) en la parte inferior de la forma se puede usar para decir que hubo xito, para animar al jugador a repetir la prueba, o para indicar que un nmero se us dos veces.
Cuando tu programa quede correcto, mustralo a tu instructor. Recomendacin para el profesor Si la suma de los 9 cuadros no es 45, es probable que se haya puesto un nmero dos veces. El alumno tambin debe de comprobar que ningn nmero sea mayor que 9 ni menor que 1.
Unidad 09 - IfElse, New Mexico Pgina 233 de 321 Listo para un reto? 09 Reto Volado
Cada vez que no nos ponemos de acuerdo, como por ejemplo para ver a quin le toca tirar la basura, lanzamos una moneda. Hagamos que la computadora lance las monedas. Veremos si se puede adivinar si la moneda saldr guila o sol.
Haz una forma parecida a la siguiente, o usa la plantilla 09_challenge_template:
Cuando oprimes el botn adecuado de seleccin, se pone el texto del cuadro de texto 1 (TextBox1.Text) en guila o en Sol".
Al hacer clic en Lanzar, se genere un nmero aleatorio con el siguiente programa:
Dim MyRandomGenerator As System.Random MyRandomGenerator = New System.Random Dim RanNum As Integer
' Generar un valor aleatorio entre 0 y 2, sin incluir a 2. RanNum = MyRandomGenerator.Next(0, 2)
Si el nmero aleatorio es cero, pon guila en el cuadro de texto 2 (TextBox2.Text). En cualquier otro caso, pon Sol.
Si TextBox1.Text es igual a TextBox2.Text, sume 1 al nmero de victorias, y en cualquier otro caso sume 1 a derrotas.
Ponga las victorias y las derrotas en los cuadros de texto adecuados.
Advertencia: En la Unidad 7, aprendiste que no se pueden mezclar nmeros y cadenas. Una propiedad de Texto siempre se define como una cadena. Visual Basic.NET le permite sumar directamente a un cuadro de texto, cuando ya contiene un nmero; pero es un mal hbito hacerlo. Volado
En este examen vers qu tan bueno eres para adivinar cmo caer una moneda.
El archivo 09:challenge_files contiene instrucciones para este reto y los archivos de soporte que puedas necesitar.
Unidad 09 - IfElse, New Mexico Pgina 234 de 321 Define una variable entera para victorias y otra para derrotas. Smalas. Despus las debers pasar a los cuadros de texto.
Una vez que tu programa funcione bien, mustraselo a tu instructor.
Extensin / desviacin
Agrega campos para mostrar el porcentaje de victorias y el porcentaje de derrotas.
Unidad 09 - IfElse, New Mexico Pgina 235 de 321
Nunca se usa Limitarse con corchetes Sangrarse para ser ms legible El que est despus de la instruccin Then El que est despus de la instruccin Else El que est despus de la instruccin Otherwise Cuando una instruccin If est anidada en otra cuntas declaraciones If hay? Todas las que se deseen. Qu debe ser una instruccin If anidada? Cuando una instruccin If es falsa qu cdigo se ejecuta? Cuntas lneas de cdigo puede haber despus de una instruccin Else?
Unidad 10 Def Valley Pgina 236 de 321 Temas en el camino a Def Valley:
Def Valley Bucles For...Next Entrar en un bucle For...Next 1000 problemas de suma Sacar la basura Bucles en bucles Letrero de salida For...Next en C# y en J# Llegada a Def Valley, CA
Unidad 10 Def Valley Pgina 237 de 321 Def Valley, California Definitivamente, en este viaje estamos progresando. Siguiente parada, Def Valley! Es un lugar bastante desolado, con mucha arena, y casi nada ms. No me gustara perderme all. Uno puede vagar durante das sin llegar a ningn lado, ms bien dando vueltas. Creo que despus de un rato podras quedar abrumado.
En esta parte del viaje iremos en una direccin totalmente distinta. Creo que ya adquiriste el hbito de escribir programas que tomen decisiones, as que ahora te voy a indicar cmo escribir cdigos que hagan bucles. Los bucles se usan para ejecutar instrucciones de cdigo una y otra vez. Como programador, necesitas saber cmo escribir bucles; son otra de las herramientas esenciales de la caja de recursos de todo programador.
Unidad 10 Def Valley Pgina 238 de 321 Bucles En la vida repetimos muchas cosas una y otra vez. Recuerdo cuando pint mi motocicleta. Le di tres manos de pintura. Fue mucho trabajo, pero al final se vio perfecta. Mi mam dice que me tiene que decir exactamente cinco veces que saque la basura para que lo haga. (Me he fijado, y en realidad slo me lo tiene que decir cuatro veces)
Los cdigos son iguales. A veces tu programa necesita efectuar lo mismo una y otra vez, hasta que lo haya hecho una determinada cantidad de veces. Por eso todos los lenguajes de programacin tienen bucles. El cdigo en un bucle se ejecuta una y otra vez. Los bucles son muy tiles; en primer lugar reducen la cantidad de programas que hay que escribir. Al poner el cdigo dentro de un bucle, slo lo debes escribir una vez. Eso tambin ayuda a reducir errores.
Veamos un ejemplo de lo til que son los bucles en los programas. Imagina que quieres sumar todos los nmeros del 1 al 100. Lo podras hacer escribiendo una larga ecuacin. Por ejemplo, Dim CuentaTotal As Integer CuentaTotal = 0 CuentaTotal = 1 + 2 + 3 + 4 'etc. Se ve tedioso! Y si en su lugar hacemos esto? Dim CuentaTotal As Integer CuentaTotal = 0 CuentaTotal = CuentaTotal + 1 CuentaTotal = CuentaTotal + 1 CuentaTotal = CuentaTotal + 1 CuentaTotal = CuentaTotal + 1 'etc. Todava es mucho programa repetitivo. Tendras que repetir el mismo rengln 100 veces.
Y qu tal si ahora quieres sumar todos los nmeros del 1 al 1000? Cmo por Dios lo vas a hacer?
Unidad 10 Def Valley Pgina 239 de 321 ForNext Aqu es donde entran los bucles. Como mencion antes, todos los lenguajes de programacin tienen bucles que permiten ejecutar el cdigo una y otra vez. Con frecuencia uno sabe cuntas veces se quiere ejecutar el cdigo. En el ejemplo que present, de sumar todos los nmeros de 1 a 1000, queremos que el cdigo que suma los nmeros se ejecute 1000 veces. Cuando se conoce cuntas veces se quiere ejecutar el cdigo, se usa un bucle definido. Se llama bucle definido porque se ejecuta una cantidad definida de veces. Se usa el bucle para indicar exactamente al cdigo cuntas veces se debe ejecutar.
En Visual Basic.NET se forma un bucle definido con la instruccin For...Next. El cdigo que se desea ejecutar una cantidad especfica de veces est contenido en el bucle For...Next. La sintaxis del bucle For...Next, en Visual Basic.NET es la siguiente: Dim ContadorBucle As Integer For ContadorBucle = ValorMenor To ValorMayor instruccin1 instruccin2 instruccin etc. Next Observa que las palabras For, Next y To son palabras reservadas; aparecen en azul, y todas comienzan con mayscula. ContadorBucle es una variable que debes declarar como tipo entero antes de poderla usar en el bucle For...Next. (No debe tener nicamente el nombre ContadorBucle.) La variable ContadorBucle rastrea cuntas veces se ha ejecutado el bucle. Puedes ingresar el valor del ContadorBucle dentro del bucle. Cada maana hago 40 levantadas de pesas y 25 lagartijas antes de pasar a la andadora.
Unidad 10 Def Valley Pgina 240 de 321 Tanto el ValorMenor como el ValorMayor deben ser enteros (integers), variables de tipo entero, o expresiones que se reduzcan a un entero, com o(3 + 1) o (X + 1). ValorMenor es el valor inicial del ContadorBucle. ValorMayor es el valor final del ContadorBucle. Cada vez que se ejecuta el bucle, la variable ContadorBucle aumenta en uno. Cuando ContadorBucle es mayor que el ValorMayor, se detiene el bucle. Escribiremos un programa que usa un bucle definido, formado con el uso de la instruccin For...Next. Para los principiantes, haremos un bucle que se ejecute 2 veces, y muestre el valor del contador del bucle cada vez que ste se ejecute. Crea una nueva aplicacin de Windows llamada ForNextTwo. Agrega un botn de comando a Form1. Haz doble clic en Button1 para editar el evento clic en botn. Agrega este cdigo: Dim ContadorBucle As Integer For ContadorBucle = 1 To 2 MessageBox.Show(ContadorBucle) Next Crea e inicia tu proyecto. Haz clic en el botn. Un cuadro de mensaje muestra "1, el valor actual del ContadorBucle. Haz clic en Aceptar. Un cuadro de mensaje muestra "2, el valor actual del ContadorBucle. Haz clic en Aceptar. El bucle termin de ejecutarse, por lo que ya no aparecen ms mensajes.
Lo que pas fue lo siguiente. En el cdigo declaras una variable llamada ContadorBucle del tipo entero. En la instruccin For, inicializas el ContadorBucle en 1, y pones el lmite superior de ContadorBucle en 2. La instruccin que se debe ejecutar se coloca entre la instruccin For y la instruccin Next. Cada vez que se ejecuta el bucle, ContadorBucle aumenta en uno. El cuadro de mensaje muestra el valor actual del ContadorBucle (1 2). Cuando el valor de ContadorBucle llega a 3, el bucle se detiene y el cuadro de mensaje ya no se muestra. Fin del bucle.
Recomendacin para el profesor Los alumnos comprenden con facilidad los bucles que usan enteros en los puntos inicial y final. Se les olvida que en este ejemplo, el 1 o el 2 puede ser una variable como X, o hasta una expresin, como X + 3. Recomendacin para el profesor Cuando termina un bucle For, la variable del bucle siempre es 1 mayor que el valor mximo del bucle.
Unidad 10 Def Valley Pgina 241 de 321
Entrar a un bucle For...Next Examinaremos el cdigo For...Next que acabas de escribir usando las herramientas de depuracin de Visual Studio.NET. Entraremos al cdigo y veremos cmo ejecute lnea tras lnea. Aqu las instrucciones detalladas: 1. Pon un punto de interrupcin en la lnea de cdigo que contenga la instruccin For. Crea e inicia tu aplicacin.
2. Se abre el formato. Haz clic en Button1. El cdigo se ejecuta hasta el punto de interrupcin. El cdigo que tiene el punto de interrupcin est destacado.
3. Oprime la tecla F11. Se ejecuta la lnea del cdigo que est resaltada. Recomendacin para el profesor Anime a los alumnos a hacer lo que se presenta, y no slo leerlo. La opcin predeterminada del contador de bucle es incrementar en uno cada vez que se ejecuta el bucle. Puedes hacer que el contador de bucle incremente un entero mayor si incluyes la opcin de incremento como se ve en el cdigo a continuacin: Dim ContadorBucle As Integer For ContadorBucle = 0 to 100 Step 5 MessageBox.Show(ContadorBucle) Next En este caso, el CondadorBucle se incrementa en 5 cada vez. El cuadro de mensaje muestra 0, 5, 10, 15, etc.
Unidad 10 Def Valley Pgina 242 de 321 For ContadorBucle = 1 To 2 Mueve el cursor sobre ContadorBucle. El valor de ContadorBucle es 1.
4. Oprime la tecla F11. Se ejecuta el cdigo resaltado. MessageBox.Show(ContadorBuc le) El cuadro de mensaje muestra 1. Haz clic en Aceptar para cerrar el cuadro de mensaje.
5. Oprime la tecla F11. Se ejecuta el cdigo resaltado.
Next
6. Y se ejecuta el bucle For. For ContadorBucle = 1 To 2 Mueve el cursor sobre el ContadorBucl, en la instruccin For. El valor de ContadorBucle es 2.
7. Oprime la tecla F11. Se ejecuta el cdigo resaltado. MessageBox.Show(Contador Bucle) El cuadro de mensaje muestra 2. Haz clic en Aceptar para cerrar el cuadro de mensaje.
8. Oprime la tecla F11. Se ejecuta el cdigo resaltado.
Unidad 10 Def Valley Pgina 243 de 321 Next
9. Y se ejecuta el bucle For. For ContadorBucle = 1 To 2 Mueve el cursor sobre el ContadorBucle, en la instruccin For. El valor de ContadorBucle es 3.
10. Oprime la tecla F11. Se ejecuta el cdigo resaltado. End Sub Aparece de nuevo el formato.
Acabas de usar las herramientas de depuracin para recorrer el cdigo en un bucle For...Next. De este modo realmente ves cmo se ejecuta el cdigo desde el punto de vista del programa.
Unidad 10 Def Valley Pgina 244 de 321 1000 problemas de adicin Tengo una idea. Ahora escribamos el cdigo para sumar los nmeros de 1 a 1000. Listo? Es fcil con un bucle For...Next. Crea una nueva aplicacin de Windows llamada AddUp. Agrega un botn de comando a Form1. Cambia la propiedad de Texto del Button1 a Sumar. Haz doble clic en el Button1 para editar el evento clic. Aade el siguiente cdigo: Dim ContadorBucle As Integer Dim CuentaTotal As Integer = 0
For ContadorBucle = 1 To 1000 CuentaTotal = CuentaTotal + ContadorBucle Next MessageBox.Show(CuentaTotal) Crea e inicia tu aplicacin. Haz clic en el botn Sumar. El cuadro de mensaje muestra el total que se obtiene sumando todos los nmeros del 1 al 1000. No fue rpido? Escribiste el cdigo y el programa calcul la respuesta con ms rapidez de la que puedes obtenerla en tu calculadora. Cmo trabaja este cdigo? Primero se declararon dos variables enteras: ContadorBucle y CuentaTotal. El ContadorBucle rastrea cuntas veces se ha ejecutado el bucle. CuentaTotal guarda el total del problema de la suma. En la instruccin For el valor inicial de ContadorBucle se pone en 1, y el valor final se pone en 1000. Se debe a que queremos que el bucle se ejecute 1000 veces, para sumar todos los nmeros del 1 al 1000. La instruccin que se repite suma el valor actual de CuentaTotal al valor actual de ContadorBucle, y vuelve a guardar este valor en CuentaTotal. Cada vez que se ejecuta el bucle, se suma el valor de ContadorBucle a Cuenta total (0+1=1, 1+2=3, 3+3=6, 6+4=10, etc.). Despus de que ContadorBucle llega a 1000, hemos terminado. El bucle se termina y se ejecuta la lnea de cdigo siguiente a la instruccin Next. En este caso, un cuadro de mensaje muestra CuentaTotal.
Unidad 10 Def Valley Pgina 245 de 321
Tan pronto como termine un bucle For...Next se ejecuta la primera lnea de cdigo despus de la instruccin Next. En el ejemplo de arriba, la instruccin MessageBox.Show (CuentaTotal) se ejecuta tan pronto como termina el bucle.
Unidad 10 Def Valley Pgina 246 de 321 Sacar la basura Ahora veamos algunos ejemplos de bucle definido, que hacen otras cosas adems de matemticas. Recuerda que puedes poner cualquier cdigo que desees dentro de un bucle For...Next. Puedes formar automticamente largas cadenas de texto, mostrar mensajes molestos una y otra vez, o cambiar las propiedades con base en el nuevo valor del contador del bucle. Prueba con estos ejemplos de cdigo algunos usos distintos de bucles.
Inicia una nueva aplicacin llamada SacarBasura. Agrega un botn de comando a Form1. Cambia la propiedad Texto del Button1 a Mam dice. Haz doble clic en Button1 para editar el evento clic. Aade el siguiente cdigo: Dim MensajeMam As String Dim i As Integer = 0 MensajeMam = "Haz el favor de sacar la basura." For i = 1 To 5 MessageBox.Show(MensajeMam) MensajeMam = MensajeMam & vbNewLine & MensajeMam Next Crea e inicia tu proyecto. Haz clic en el botn Mam dice. Aparece el mensaje de mam. Haz clic de nuevo en el botn Mam dice. Observa cmo el mensaje de mam crece y crece. Ya voy, Ya voy! Creo que comprend. Un bucle es una forma de unir cadenas de texto entre s. Veamos otro ejemplo que es algo fro. Agrega otro botn de comando a Form1. Cambia la propiedad de Texto del Button2 a Iluminar de Nuevo. Haz doble clic en Button2 para editar el evento clic. Aade el siguiente cdigo: Dim i As Integer = 0 For i = 2 To 6 If i < 3 Or i > 5 Then MessageBox.Show(i) Form1.ActiveForm.BackColor = System.Drawing.Color.Red Else MessageBox.Show(i) Form1.ActiveForm.BackColor = System.Drawing.Color.Blue End If Next Crea e inicia tu proyecto. Haz clic en el botn Iluminar de nuevo. Un cuadro de mensaje muestra el valor actual del contador del bucle. Observa que esta vez el contador del bucle tiene un lmite inferior de 2 y un lmite superior de 6. Una instruccin If...Then...Else dentro del bucle For...Next decide cmo iluminar el formato, basndose en el valor del contador del bucle. Muy bonito!, eh? Puse el cuadro de mensaje para que puedas ver el valor del contador del bucle. Tambin muestra el bucle, para que puedas ver los cambios de color.
Unidad 10 Def Valley Pgina 247 de 321
Debe sangrar el cdigo contenido entre las instrucciones For y Next. Al hacerlo puede ver con facilidad qu instrucciones se repetirn en el ciclo. El cdigo sangrado es ms fcil de leer y de corregir.
Unidad 10 Def Valley Pgina 248 de 321 10 Ejercicio 01 Contar conejos
Cuidado! Casi atropellaste aquel conejo que cruzaba la carretera. Crees que el conejo supone que puede vivir eternamente? Oye, esto me da una idea. Supn que los conejos s vivieran eternamente. Digamos que hay una isla por all, con mucha vegetacin y nada de depredadores para los conejos. Supn que se ponen dos conejos en la isla, y que cada par de conejos tiene una camada de 4 conejos. As, despus de una generacin habra 2 + 4 = 6 conejos. Despus de dos generaciones habra 6 + 12 = 18 conejos.
Cmo crecera la poblacin de conejos en cada generacin?
Haz una forma parecida a la siguiente, o usa la plantilla 10_proveit_template:
Contar conejos Crea un formato para contar conejos durante muchas generaciones. El archivo 10_Proveit01_files contiene instrucciones para este ejercicio y todos los archivos de soporte que puedas necesitar. Haz clic en el botn Descargar para bajar el archivo.
Unidad 10 Def Valley Pgina 249 de 321 Muestra el nmero de la generacin, la cantidad de conejos y la cantidad de conejos por pie cuadrado, suponiendo que la isla ocupa una milla cuadrada y que hay 5280 pies en una milla.
Deja que el usuario elija el nmero de generaciones para mostrar.
Para facilitar la lectura de lo presentado, usa las constantes vbTab y vbNewLine, de Visual Basic.
Para formatear la salida, usa la funcin Format. Por ejemplo:
VariableX = Format(VariableX, ###, ###, ###, ###, ##0) O bien VariableY = Format(VariableY, ###, ##0.0000)
Una vez que tu programa funcione bien, mustraselo a tu instructor.
Unidad 10 Def Valley Pgina 250 de 321 Bucles en bucles Enredmonos! Sabas que se puede poner un bucle For...Next dentro de otro? El bucle For...Next interno es el cdigo que se ejecuta una y otra vez por el bucle For...Next externo. As que cuntas veces se ejecuta el cdigo interno? Veamos un ejemplo de cdigo, para conocer la respuesta a esta pregunta.
Inicia una nueva aplicacin llamada BucleDeBucle. Agrega un slo botn de comando a Form1. Haz doble clic en el Button1 para editar el cdigo del evento clic. Aade el siguiente cdigo: Dim LimiteExter As Integer = 3 Dim LimiteInter As Integer = 4 Dim ContadorExter As Integer Dim ContadorInter As Integer Dim Total As Integer = 0
For ContadorExter = 1 To LimiteExter For ContadorInter = 1 To LimiteInter Total = Total + 1 Next Next MessageBox.Show("Total= " & Total) Crea e inicia tu proyecto. Haz clic en el botn. El cuadro de mensaje muestra Total = 12. Es la cantidad total de veces que se ejecut el bucle interno. Regresa al cdigo. Has notado que 12 es igual a 3 (la cantidad de veces que se ejecuta el bucle externo) multiplicado por 4 (la cantidad de veces que se ejecuta el bucle interno)? Correcto! Cada vez que se ejecuta el bucle externo, el bucle interno se ejecuta 4 veces. Como el bucle externo se ejecuta 3 veces, eso quiere decir que el bucle interno se ejecuta un total de 4 x 3 = 12 veces.
Observa que en este ejemplo usamos dos variables, LimiteExterno y LimiteInterno, como lmites superiores de los bucles interno y externo. Los lmites superiores e inferiores no tienen que ser nmeros enteros. Tan slo tienen que ser variables o expresiones cuyo resultado sea del tipo entero. Tambin observa que el bucle interno tiene sangra. Letrero de salida Durante estos largos recorridos habr que tomar un pequeo descanso de vez en cuando. Es cuando buscamos un letrero de salida y salimos de la carretera para buscar un cambio de escenario. Creo que los cdigos se deben sentir as a veces; tambin necesitan un respiro. Imagnate sumando todos los nmeros del 1 al 1000. Yo tambin me cansara.
A veces debes detener un bucle antes que llegue al lmite superior del contador del bucle. Lo puedes hacer usando la instruccin "Exit For". sta se pone en una instruccin If...Then en el cuerpo del bucle. La condicin de la instruccin If...Then dice al cdigo dnde salirse del bucle. Escribamos algn cdigo que demuestre la instruccin Exit For.
Crea una nueva aplicacin de Windows llamada SalirLetrero. Agrega un botn de comando a Form1. Cambia la propiedad de Texto del Button1 a SalirAhora. Haz doble clic en Button1 para editar el cdigo del evento clic. Aade el siguiente cdigo: Recomendacin para el profesor Pida a los alumnos que estimen el valor del Total, antes de codificar realmente el ejemplo. Equipo de pits a DJ: Se detuvo la carrera por lluvia. Sal de la carretera!
Unidad 10 Def Valley Pgina 251 de 321 Dim i As Integer = 0 For i = 1 To 5 MessageBox.Show("i dentro= " & i) If i = 3 Then Exit For End If Next MessageBox.Show("i fuera= " & i)
Recomendacin para el profesor Exit se usa mucho en lo siguiente: Exit For, Exit Do, Exit Sub
Unidad 10 Def Valley Pgina 252 de 321 Crea e inicia tu proyecto. Haz clic repetidamente en el botn SalirAhora. Un cuadro de mensaje muestra el valor del contador de bucle. Cuando el contador de bucle llega a 3, la condicin de la instruccin If...Then es Cierto y se ejecuta la instruccin Exit For. El cdigo se sale del bucle sin terminar el resto de las iteraciones. Observa que el cuadro de mensaje muestra i dentro = 4. Cuando se sale del bucle, se ejecuta el cdigo que est despus de la instruccin Next. En este caso el cuadro de mensaje muestra i externo = 3
Veamos otro ejemplo de Exit For. Agregaremos algo ms de funcionalidad a tu aplicacin Salir Letrero. Agrega un cuadro de verificacin y otro botn de comando a Form1. Cambia su propiedad de texto a ChexIt. Haz doble clic en el Button2 para editar el cdigo del evento clic. Aade el siguiente cdigo: Dim IndiceBucle As Integer For IndiceBucle = 1 To 5 If IndiceBucle = 4 Then CheckBox1.Checked = True End If If CheckBox1.Checked = True Then MessageBox.Show("Salir en: " & IndiceBucle) Exit For End If Next Crea e inicia tu proyecto. Haz clic en el botn ChexIt. El bucle For...Next se ejecuta hasta que el ndiceBucle = 4. Entonces la propiedad marcada de la casilla de verificacin 1 se pone en Cierto. Como ahora la casilla de verificacin 1 est seleccionada, un cuadro de mensaje muestra el IndiceBucle y se ejecuta una instruccin Exit For. Se sale uno del bucle.
Haz clic de nuevo en el botn ChexIt cuando todava est seleccionada la casilla de verificacin 1. Qu sucede esta vez? La instruccin Exit For es llamada cuando el IndiceBucle = 1.
Unidad 10 Def Valley Pgina 253 de 321 For...Next en C# y J# Como todos los lenguajes modernos de programacin, C# y J# tambin pueden escribir bucles definidos. Quiz Len y Dirk puedan darnos algunas explicaciones para escribir bucles For...Next en esos dos lenguajes?
C# y J# tienen el equivalente al bucle For...Next de Visual Basic.NET, pero el cdigo se ve muy distinto. He aqu cmo se escribe un bucle definido en J#: for (int ContadorBucle = 1; ContadorBucle < 5; ContadorBucle++) { MessageBox.Show(ContadorBucle.ToString()); } Este cdigo se ve distinto a una instruccin For...Next, pero hace lo mismo.
En C# no se necesita tener una instruccin Next, y la palabra clave for est en minscula. El cdigo que va a ejecutarse con el bucle est entre las llaves. El cdigo entre parntesis despus de for controla el bucle: int ContadorBucle = 1; declara la variable del contador de bucle e inicializa el contador de bucle al valor menor del bucle. ContadorBucle < 4; establece una instruccin de condicin que funciona como lmite superior. ContadorBucle++ incrementa el bucle en 1. Esto tambin se podra escribir como sigue: ContadorBucle = ContadorBucle + 1 Todo en una sola lnea de cdigo. Aqu el mismo cdigo escrito en J#. Se ve igual, pero J# usa la funcin System.Convert.ToString para convertir el ContadorBucle de tipo entero a una cadena para mostrarla en el cuadro de mensaje. for (int ContadorBucle = 1; ContadorBucle < 5; ContadorBucle++) { MessageBox.Show(System.Convert.ToString(ContadorBucle)); }
Unidad 10 Def Valley Pgina 254 de 321 Bueno, gracias Len, por mostrarnos ese cdigo. Aun cuando se ve distinto a un bucle For...Next en Visual Basic.Net, se sigue usando para lo mismo: ejecutar repetidamente un cdigo una cierta cantidad de veces. Llegada a Def Valley, CA De veras que el viaje se hizo corto! Lo bueno fue que no nos perdimos en el desierto. Podramos estar caminando en crculo todava. En el camino te mostr cmo hacer que un cdigo se ejecute una y otra vez con un bucle For ... Next. Esta clase de bucle se usa cuando se sabe cuntas veces se quiere que el cdigo se repita. Otra cosa que te mostr fue cmo usar la instruccin Exit For para salir de un bucle antes que el contador del mismo llegue al lmite superior.
Ahora ya tienes otra herramienta importante ms de programacin en tu repertorio que puedes usar. Veamos si puedes aplicar lo que has aprendido acerca del bucle For...Next cuando hagas el siguiente Ejercicio. Estoy seguro que el comit del rally tiene un ameno examen para ti, y no olvides la prueba.
Unidad 10 Def Valley Pgina 255 de 321 10 Ejercicio 02 Nmeros primos
Espero cenar un buen prime rib hoy y no una pizza. Prime Rib! Yumm!
Eso me acuerda de una clase de matemticas donde estudiamos los nmeros primos. Un nmero primo es aquel que se puede dividir exactamente (sin residuo) entre l mismo y entre 1. Algunos ejemplos son: 2, 3, 5, 7. Los nmeros 4, 6, 8 y 9 no son primos, porque se pueden dividir exactamente entre 2, o en el caso de 9, entre 3.
Puedes escribir un programa para calcular cada nmero primo del 2 al 5000?
Haz un formato como el siguiente, o si deseas ahorrar tiempo, usa el que hay en 10_proveit02_template:
Cuando se hace clic en el botn Calcular, se determinan los nmeros primos hasta el 5000. Agrgalos al cuadro de texto.
Nmeros primos Escribe un programa para calcular todos los nmeros primos entre 2 y 5000. El archivo 10_proveit02_files contiene las instrucciones para este ejercicio, as como todos los archivos de soporte que puedas necesitar.
Unidad 10 Def Valley Pgina 256 de 321 He aqu algunas recomendaciones que te ayudarn.
Al leer el material del curso aprendiste que puedes tener un cdigo dentro de un cdigo, como una instruccin If dentro de otra instruccin If. Tambin puedes tener un bucle For dentro de otro bucle For. Puedes hacer que el bucle externo vaya de 2 a 5000.
La variable de este bucle externo es el nmero que se va a investigar si es primo. La variable interna podra ir desde 2 hasta la variable del bucle externo menos 1. Por qu detenerse en este valor del bucle externo? Porque si la variable del bucle interno es mayor que la del bucle externo, el nmero no se podr dividir exactamente. El resultado ser una fraccin. Por qu menos 1? Porque un nmero primo se puede dividir entre l mismo, as que para qu investigarlo?
Podras tener una variable que vea si un nmero del bucle externo es primo o no lo es. Podras ponerla en True antes del bucle interno para cambiarla a False si de acuerdo con las condiciones no es primo.
Dentro del segundo bucle puedes verificar si el nmero primo potencial dividido entre la variable del bucle interno tiene o no residuo.
Supn que los nmeros se representaran por X y Y. Cmo saber si X/Y tiene un residuo? Hay varios modos. Como estamos tratando de probar tus conocimientos de bucles, y no tus conocimientos matemticos, te diremos slo uno. El modo ms fcil es con el operador Mod. Supn que definiste una variable llamada Residuo:
Residuo = X Mod Y
Despus de tu bucle, puedes agregar el nmero primo al cuadro de texto si la variable que est examinando sigue siendo True. Es probable que desees tener algunos espacios entre los primos.
Una vez que tu programa quede correcto, mustraselo a su instructor.
Unidad 10 Def Valley Pgina 257 de 321 He aqu el reto que prepar el comit del rally.
10 Reto Roth IRA
Quiero ser un programador por mucho tiempo, pero algn da me retirar. He pensado en formas para ahorrar, porque s que si comienzo a ahorrar siendo joven, despus tendr mucho ms.
He odo acerca de una Roth IRA. IRA quiere decir Individual Retirement Account, o una Cuenta Personal de Retiro. Roth es el nombre de quien la patrocin en el Congreso. Una Roth IRA maneja las inversiones de modo especial en los impuestos. Nunca debers pagar impuestos sobre la renta sobre las ganancias. As que todo lo que ganes lo puedes conservar. Cul es el pero? Debes dejar el dinero sin tocarlo hasta la edad de 59, o hasta que lo uses para la escuela o para la compra de la primera casa.
As que hagamos una calculadora para Roth IRA.
Haz un formato parecido al siguiente, o usa la plantilla 10_challenge_template:
Recomendacin para el profesor Vea la recomendacin para el profesor en la pgina 25. Roth IRA
Aprender cmo hacerse rico con un Roth IRA. Escribir una calculadora Roth IRA. El archivo 10_challenge_files contiene las instrucciones para este reto y los archivos de soporte que necesita.
Unidad 10 Def Valley Pgina 258 de 321 Hay una edad a la que comienzas a ahorrar y una a la que terminas, la cantidad depositada cada ao y la tasa de inters sin decimales.
Como hemos estado estudiando bucles, parece una oportunidad ideal para usar uno. Las edades de inicio y de trmino parecen buenas para usarse en el bucle. No olvides de que los cuadros de texto tienen cadenas, as que la funcin Val se puede usar para convertirlas a nmeros, como
X = Val(TextBox1.Text).
Muestra la edad, el total de los depsitos desde el comienzo del ahorro, el saldo de la cuenta IRA y la ganancia, que es la diferencia entre los depsitos y el saldo.
Para formatear la salida, usa la funcin Format. Por ejemplo:
VariableX = FormatCurrency(VariableX)
Recomendacin1: Suma el depsito antes de calcular el inters. Recomendacin2: El inters es el saldo por (1 + tasa) (por ejemplo, 9% es 1.09).
Una vez que tu programa funcione bien, mustraselo a tu instructor.
Extensin / desviacin
No pagas intereses con un Roth IRA. Qu sucede si haces la misma inversin en una cuenta bancaria ordinaria? Con una cuenta bancaria ordinaria, tu gobierno federal quiere su tajada de tu ingreso. Supn que Hacienda toma el 25% de las ganancias cada ao. Cunto tendrs al final del perodo de los ahorros?
Unidad 10 Def Valley Pgina 259 de 321
Regresa al inicio de un bloque de cdigo Hace que falle un programa Se ejecuta una y otra vez La variable de contador de bucle en una instruccin For de qu tipo debe ser? Toma decisiones una y otra vez Ejecuta un conjunto de instrucciones de cdigo una cantidad especfica de veces Define a una variable En esta instruccin: For ContadorBucle = 1 To 2, cul es el valor de ContadorBucle cuando termina el bucle? Qu hace un bucle? Qu hace un bucle definido?
Unidad 10 Def Valley Pgina 260 de 321
Recomendacin para el profesor Un Roth IRA es como un 401K o un 503B, excepto que nunca se gravan las ganancias.
En general es un proyecto muy difcil para los alumnos, no por la programacin, sino por los conceptos de inters y de impuestos, que son nuevos para ellos. A continuacin se presenta una descripcin que ha funcionado en otras clases: Su meta es aumentar el tamao de su cuenta bancaria, que se inicia en cero.
Esto se hace de dos maneras. Una es que puede usted poner su dinero en la cuenta. Segundo, el banco puede agregar dinero a su cuenta, como premio por tener depsito en la cuenta.
En este proyecto suponemos que slo se pone dinero en la cuenta una vez cada ao, y que el banco slo le paga una vez por ao. Usar usted un bucle For para hacer que los depsitos (su dinero) y el inters (el dinero que le paga el banco) se cuenten una y otra vez durante la cantidad adecuada de aos.
Dentro del bucle usted hace lo siguiente: Uno, usted aumenta su dinero. Dos, el banco agrega dinero, y aumenta el tamao de su cuenta bancaria. El aumento se hace multiplicando la cuenta bancaria por 1 ms la tasa de inters. Si la tasa es 3%, se multiplica la cuenta bancaria por 1.03.
Una vez ejecutado el bucle, podr formatear el resultado y ponerlo en el cuadro que le corresponde.
A continuacin necesita sumar los depsitos totales de SU dinero. Usted hace un depsito cada ao, incluyendo el ao de inicio. Suponga que comienza a la edad de 16 e interrumpe a la edad de 20. Entonces usted hizo depsitos a las edades de 16, 17, 18, 19 y 20. Es igual que la edad de retiro menos la edad de inicio ms uno.
La cantidad de inters que pag el banco es lo que haya en la cuenta bancaria menos lo que usted deposit.
Y los impuestos? El gobierno toma una parte de todo el dinero que usted gane. Usted no paga impuestos sobre los depsitos, porque ya los pag al ganar ese dinero cuando trabajaba en Burger Mex o en cualquier otra parte. S paga impuestos sobre el inters, porque ese inters es otra ganancia que antes no se haba gravado.
Unidad 11 Whatever, Colorado Pgina 261 de 321 Temas en el camino a Whatever:
Whatever Bucles indefinidos Bucle Do While.. Entrar a un bucle DoWhile... Bucle Do Until... Bucles indefinidos en accin Formas alternas de bucle Exit Do Bucles indefinidos en J# y C# Llegada a Whatever, CO
Unidad 11 Whatever, Colorado Pgina 262 de 321
Whatever, Colorado Cliff nos llevar al siguiente destino: Whatever, Colorado. Tomaremos el circuito escnico. En nuestro ltimo viajecito explic muy bien los bucles definidos; son los que se ejecutan una cantidad definida de veces. En este viaje voy a hacer que otra vez te muevas en crculo. Te ensear cmo usar un bucle de una clase distinta; se llama bucle indefinido. Con un bucle indefinido no se sabe de antemano cuntas veces se va a ejecutar. Cesa de ejecutarse cuando se encuentra con una condicin especfica.
Vers que los bucles indefinidos son otra herramienta til que todo programador debe saber cmo usar. Hay veces en las que un bucle definido no funciona y se necesita usar uno indefinido.
Unidad 11 Whatever, Colorado Pgina 263 de 321 Bucles indefinidos Hay muchas cosas que se deben hacer una y otra vez, hasta que suceda otra cosa. Esa otra cosa es como la condicin que nos detiene en nuestra tarea repetitiva. Los bucles indefinidos se siguen ejecutando hasta que determinada condicin se vuelve Cierto o Falso, y entonces se detienen.
Por ejemplo, anoche tuvimos que dar vueltas a un estacionamiento durante una hora hasta encontrar un lugar suficientemente grande para la camper. Para entonces haba cerrado el Rocky Mountain Sushi Bar and Grill. Tuvimos que buscar otro lugar para comer. Mientras manejbamos buscando otro restaurante, mi estmago no cesaba de protestar. No termin sino hasta quedar satisfecho.
Los cdigos son iguales. A veces necesitas ejecutar el mismo cdigo una y otra vez, mientras que, o hasta que, una condicin determinada es Cierta. Por ejemplo, tu cdigo podra pedirle al usuario su clave de acceso una y otra vez hasta que haya tecleado la correcta. O bien, mientras tu programa hace clculos contina tocando msica electrnica sensacional como fondo.
Lo que distingue un bucle indefinido de uno definido, es que uno definido se ejecuta una cantidad especfica de veces. Por otra parte, un bucle indefinido se ejecuta mientras que, o hasta que, se cumpla cierta condicin. En realidad, hay dos clases de bucles indefinidos: Los bucles do while (hacer mientras) y los bucles do until (hacer hasta que). Los bucles do while se siguen ejecutando mientras una condicin siga siendo Cierta. Los bucles do until se siguen ejecutando hasta que una condicin se convierte en Cierta. La clave del uso de bucles indefinidos es saber elegir entre un bucle do while y uno do until.
Unidad 11 Whatever, Colorado Pgina 264 de 321 Bucle Do While... Un bucle Do While... ejecuta un bloque de cdigo una y otra vez mientras que determinada condicin siga siendo Cierta. Tan pronto como la condicin se vuelve Falsa, termina el bucle y ya no se ejecuta el bloque de cdigo. Parte del bucle Do While... es la condicin que se usa para controlarlo. La sintaxis del bucle Do While..., en Visual Basic.NET es la siguiente: Do While (condicin) instruccin de cdigo 1 instruccin de cdigo 2 instruccin de cdigo, etc. Loop Observe que las palabras Do, While y Loop son palabras clave; aparecen en azul. La instruccin de la condicin se encierra entre parntesis. La condicin puede ser cualquier expresin booleana que se evale como Cierta o Falsa; por ejemplo, X < 4. El cdigo que quieres ejecutar en forma repetida se pone entre las instrucciones Do While y Loop. Al iniciar cada pasada por el bucle se evala la condicin. Si la condicin sigue siendo True, se ejecutan los pasos de cdigo otra vez; si la condicin es Falso, el bucle termina. Ahora te mostrar cmo codificar un bucle Do While... Inicia una nueva aplicacin llamada DoWhileLoop. Agrega un botn de comando a Form1. Haz doble clic en Button1 para editar el cdigo del evento clic. Aade el siguiente cdigo: Dim ValorWhile As Integer ValorWhile = 0 Do While (ValorWhile < 2) MessageBox.Show(ValorWhile) ValorWhile = ValorWhile + 1 Loop Recomendacin para el profesor La condicin en un bucle Do puede ser compleja, como por ejemplo While (A > 1 and B < C) La banda repetir algunos compases hasta que yo haya terminado con esta introduccin.
Unidad 11 Whatever, Colorado Pgina 265 de 321 Crea e inicia tu proyecto. Haz clic en Button1. Un cuadro de mensaje muestra 0. Haz clic en Aceptar. Un cuadro de mensaje muestra 1. Haz clic en Aceptar. Se te regresa al formato. No aparecen ms cuadros de mensaje.
Cmo trabaja este cdigo? Hemos declarado una variable llamada ValorWhile. Al principio, ValorWhile se pone en 0. Cada vez que se recorre el bucle, el valor de ValorWhile se aumenta en 1. Al principio del bucle la instruccin Do While comprueba que el ValorWhile sea <2. Si esta condicin es Cierta, se muestra el cuadro de mensaje y se incrementa el ValorWhile. Si la condicin es Falsa, el bucle termina. Este bucle se ejecuta dos veces antes de que la condicin sea Falsa. La primera vez, el cuadro de mensaje muestra 0; la segunda vez, 1 y la tercera vez, ValorWhile = 2, y la expresin booleana 2 < 2 es falsa. El bucle termina y ya no se muestra el cuadro de mensaje.
Recomendacin para el profesor No hay ninguna razn publicada para que un bucle con For termine con Next, y uno con Do termine con Loop. Adviertales a los alumnos lo anterior, porque inevitablemente habr algunos que se equivoquen. Debes ponerle sangra al cdigo contenido entre las instrucciones Do While y Loop. Al hacerlo podrs ver con facilidad qu instrucciones repetir el bucle. Un cdigo con sangra es ms fcil de leer y de depurar.
Unidad 11 Whatever, Colorado Pgina 266 de 321
Unidad 11 Whatever, Colorado Pgina 267 de 321 Entrar a un bucle Do While... Usaremos las herramientas de depuracin de Visual Studio.Net fciles de usar para entrar al cdigo de tu aplicacin con DoWhileLoop, y veamos cmo se ejecuta, lnea por lnea. 1. En la ventana de cdigo pon un punto de interrupcin en la instruccin Do While
2. Inicia tu proyecto. El cdigo se ejecuta hasta el punto de interrupcin, y resalta la lnea de cdigo con el punto de interrupcin.
3. Oprime la tecla F11 para ejecutar la lnea de cdigo destacada. Do While (ValorWhile < 2) Mueve el cursor sobre ValorWhile. Su valor es 0.
4. Oprime la tecla F11 para ejecutar la lnea de cdigo destacada. MessageBox.Show(ValorWhile) Un cuadro de mensaje muestra 0. Haz clic en Aceptar. Recomendacin para el profesor Los alumnos deben hacerlo, y no slo leerlo.
Unidad 11 Whatever, Colorado Pgina 268 de 321 5. Oprime la tecla F11 para ejecutar la lnea de cdigo destacada. ValorWhile = ValorWhile + 1 El ValorWhile se incrementa en 1.
6. Oprime la tecla F11 para ejecutar la lnea de cdigo destacada. Loop El bucle se ejecuta de nuevo.
7. Oprime la tecla F11 para ejecutar la lnea de cdigo destacada. Do While (ValorWhile < 2) Mueve el cursor sobre ValorWhile. Su valor es 1.
8. Oprime la tecla F11 para ejecutar la lnea de cdigo destacada. MessageBox.Show(ValorWhile) Un cuadro de mensaje muestra 1. Haz clic en Aceptar.
Unidad 11 Whatever, Colorado Pgina 269 de 321
9. Oprime la tecla F11 para ejecutar la lnea de cdigo destacada. ValorWhile = ValorWhile + 1 El ValorWhile se incrementa en 2.
10. Oprime la tecla F11 para ejecutar la lnea de cdigo destacada. Loop El bucle se ejecuta de nuevo.
11. Oprime la tecla F11 para ejecutar la lnea de cdigo destacada. Do While (ValorWhile < 2) Mueve el cursor sobre ValorWhile. Su valor es 2. Ahora, la condicin ValorWhile < 2 es Falso, por lo que termina el bucle. Ya no aparece el cuadro de mensaje, y el ValorWhile no se incrementa.
12. Oprime la tecla F11 para ejecutar la lnea de cdigo destacada. End Sub El evento clic te saca y aparece de nuevo el formato.
Ahora que has visto cmo funciona el bucle Do While..., veamos la instruccin Do Until.... Bucle Do Until...
Unidad 11 Whatever, Colorado Pgina 270 de 321 Una instruccin Do Until... ejecuta un bloque de pasos de cdigo una y otra vez hasta que una condicin se vuelva Cierta. La instruccin condicional puede ser cualquier expresin booleana que se evale como Cierta o Falsa. La sintaxis del bucle Do Until... en Visual Basic.NET es la siguiente: Do Until (condicin) instruccin de cdigo 1 instruccin de cdigo 2 instruccin de cdigo etc. Loop Las palabras Do, Until y Loop son palabras clave; aparecen en azul. La condicin se evala al principio del bucle. Si sigue siendo Falsa, se ejecutan los pasos de cdigo otra vez. Cuando la instruccin en Do Until se evala como Cierta, el programa sale del bucle. Ahora te mostrar un ejemplo de una instruccin de bucle Do Until... en Visual Basic.NET; la vamos a codificar. Inicia una nueva aplicacin llamada DoUntilLoop. Agrega un botn de comando a Form1. Haz doble clic en Button1 para editar el cdigo del evento clic. Aade las siguientes lneas de cdigo: Dim ValorUntil As Integer ValorUntil = 0 Do Until (ValorUntil > 1) MessageBox.Show(ValorUntil) ValorUntil = ValorUntil + 1 Loop Crea e inicia tu proyecto. Haz clic en Button1. Un cuadro de mensaje muestra 0. Haz clic en Aceptar. Un cuadro de mensaje muestra 1. Haz clic en Aceptar. El bucle termina y el formato se muestra de nuevo.
Recomendacin para el profesor While arranca con una condicin Cierto, Until arranca con una condicin Falso.
Unidad 11 Whatever, Colorado Pgina 271 de 321 Cmo trabaja este cdigo Do Until...? Primero declaramos una variable llamada ValorUntil y la inicializamos a 0. La variable ValorUntil se usa en la comparacin para determinar si se debe ejecutar el bucle otra vez. Cada vez que se ejecuta el bucle, el valor de ValorUntil aumenta en 1. La instruccin Do Until contiene una instruccin de comparacin, que comprueba si ValorUntil es mayor que 1. La primera vez que se recorre, ValorUntil es 0. La instruccin booleana es Falsa, por lo que se ejecutan las instrucciones del cdigo. Aparece un cuadro de mensaje y ValorUntil se incrementa. La segunda vez en el bucle, ValorUntil es 1. La instruccin booleana sigue siendo falsa, y se ejecutan de nuevo los pasos del cdigo. La tercera vez que se ejecuta, ValorUntil es 2. La expresin booleana 2 > 1 es Cierta, y el bucle se detiene.
Bucles en accin Veamos ahora un par de ejemplos de los bucles Do While y Do Until, que usan expresiones booleanas que no dependen directamente del valor de un contador de bucle. Nuestro primer ejemplo es un bucle Do While con una expresin booleana que comprueba si el valor de una variable sigue siendo mayor que o igual a cero. Cuando el valor de esa variable es menor que cero el bucle termina.
Inicia una nueva aplicacin llamada BuclesEnAccin. Agrega un botn de comando a Form1. Cambia la propiedad de Texto del Button1 a CuentaRegresiva. Haz doble clic en el Button1 para editar el evento clic. Aade el siguiente cdigo: Dim IndiceBucle As Integer = 0 Dim ControladorWhile As Integer = 167 Do While (ControladorWhile >= 0) IndiceBucle = IndiceBucle + 1 ControladorWhile = ControladorWhile - (23 * IndiceBucle) Loop MessageBox.Show(ControladorWhile)
Unidad 11 Whatever, Colorado Pgina 272 de 321 Crea e inicia el proyecto BuclesEnAccin. Haz clic en el botn CuentaRegresiva. Un cuadro de mensaje muestra -63. Cmo trabaja este cdigo? Definimos dos variables enteras, IndiceBucle y ControladorWhile, y establecemos sus valores iniciales. La variable IndiceBucle se incrementa en 1 cada vez que se ejecuta el bucle y se calcula un nuevo valor de la variable ControladorWhile, usando una expresin algo complicada. El nuevo valor de ControladorWhile se calcula tomando el valor del IndiceBucle, multiplicndolo por 23 y restndolo del valor anterior de ControladorWhile. Cada vez que se ejecuta el bucle, el valor de ControladorWhile se hace ms pequeo. Es difcil decir cuntas veces se ejecutar el bucle antes de que el valor de ControladorWhile sea menor que 0 y termine el bucle. Pero en realidad eso no importa, porque la expresin booleana que controla el bucle slo se cuida del valor de la variable ControladorWhile y no del valor del IndiceBucle. Nuestro segundo ejemplo muestra un bucle Do While con una expresin booleana que depende de si est seleccionado el RadioButton3. En cada iteracin en el bucle se verifica un Radiobutton distinto.
En tu proyecto BuclesEnAccin, agrega un segundo botn de comando a Form1. Cambia la propiedad de Texto del Button2 a While. Agrega tres botones de seleccin a Form1. Haz doble clic en Button1 para editar el cdigo del evento clic. Aade el siguiente cdigo: Dim IndiceBucle As Integer = 0 RadioButton1.Checked = True Do While (RadioButton3.Checked = False) IndiceBucle = IndiceBucle + 1 If IndiceBucle = 1 Then RadioButton1.Checked = True ElseIf IndiceBucle = 2 Then RadioButton2.Checked = True ElseIf IndiceBucle = 3 Then RadioButton3.Checked = True End If Loop MessageBox.Show(LoopIndex) Crea e inicia tu aplicacin. Observa que el RadioButton1 est seleccionado. Haz clic en el botn While. El cdigo escoge el RadioButton3 y en un cuadro de mensaje aparece el ndice del bucle. Si tu ojo es rpido o si tu computadora es de veras lenta, puedes ver momentneamente RadioButton2 seleccionado cuando se ejecuta el bucle.
Lo que pas fue lo siguiente. Declaramos una variable llamada IndiceBucle para Oye, si pongo ahora las direccionales no se apagarn sino hasta que d una vuelta. Podra Este beb es mi orgullo y mi
Unidad 11 Whatever, Colorado Pgina 273 de 321 conocer la cantidad de veces que se ejecuta el bucle. Sin embargo, no se usa el IndiceBucle en la expresin booleana que controla el bucle Do While. En lugar de ello, IndiceBucle se usa para seleccionar cada vez un botn de opcin distinto. La expresin booleana para el bucle Do While comprueba si se ha seleccionado el RadioButton3. Tan pronto como RadioButton3.Checked=True el bucle termina.
Nuestro tercer ejemplo usa una instruccin Do Until. La expresin booleana compara la propiedad de texto de un cuadro de texto con una variable de cadena que cambia con cada iteracin en el bucle. Agrega un cuadro de texto a Form1 de tu proyecto BuclesEnAccin. Deja puesta la propiedad de texto del TextBox1 en "TextBox1". Agrega un tercer botn a Form1 y cambia su propiedad de texto a IgualTexto. Haz doble clic en el Button3 para editar el cdigo del evento clic. Aade el siguiente cdigo: Dim IgualTexto As String = "" Dim IndiceBucle As Integer = 0 Do Until (IgualTexto = TextBox1.Text) IndiceBucle = IndiceBucle + 1 If IndiceBucle = 2 Then IgualTexto = "Text" End If If IndiceBucle = 3 Then IgualTexto = "Cuadro1" End If If IndiceBucle = 4 Then IgualTexto = "CuadroTexto1" End If Loop MessageBox.Show("Nmero " & LoopIndex & " son iguales.") Crea e inicia tu aplicacin. Haz clic en el botn Igual texto. Un cuadro de mensaje muestra el valor de IndiceBucle cuando el texto coincide.
Este cdigo usa una instruccin Do Until. La variable IndiceBucle slo se usa para determinar el valor de la variable IgualTexto. La expresin booleana compara el valor de IgualTexto con la propiedad Texto del TextBox1. En la cuarta pasada por el bucle, el IndiceBucle es 4 e IgualTexto="TextBox1". La expresin booleana se evala en Cierto, ya que TextBox1=TextBox1, y el bucle termina.
Y si la propiedad de Texto de TextBox1 se hubiera puesto en El pozo Recomendacin para el profesor El nombre de la variable IndiceBucle es arbitrario. Podra haber sido ContadorBucle, VariableBucle, X, o cualquier otra cosa.
Unidad 11 Whatever, Colorado Pgina 274 de 321 prpura? Puedes agregar otra instruccin If...Then para que se siga ejecutando el cdigo?
Unidad 11 Whatever, Colorado Pgina 275 de 321 11. Ejercicio 01 Tiro al blanco
Siempre me gusta visitar el tiro con arco. Es divertido dar en el blanco, pero creo que es ms segura una versin computarizada. Crearemos un juego donde la computadora trata de dar en un blanco.
Usa el cdigo y el formato que se encuentran en la plantilla 11_proveit01_template. El formato se ve como este:
Hemos puesto todo el cdigo del botn Otro juego, porque este botn usa algunas funciones de juegos que no se ensean en este curso. Tu tarea es escribir el cdigo para el botn Jugar.
El objetivo del juego es contar la cantidad de intentos que se requiere para dar en el punto diminuto en el centro de la diana. Este punto tiene un tamao de 1 pixel. Como el cuadro de figura tiene 200 x 200 pixeles, el punto central est colocado exactamente en 100 por 100.
Crea un nmero aleatorio para la variable entera X, que se use para la medicin horizontal. Crea un nmero aleatorio para la variable entera Y que se use para la medicin vertical. Tiro al blanco
Prepara un programa para dar en el blanco en tiro con arco.
El archivo 11_proveit01_files contiene instrucciones para este ejercicio, y los archivos de soporte que necesitas.
Haz clic en el botn Descargar para bajar el archivo.
Unidad 11 Whatever, Colorado Pgina 276 de 321 El cdigo para crear un nmero aleatorio en el intervalo 0 a 200 es:
Dim MiGeneradorAleatorio As System.Random MiGeneradorAleatorio = New System.Random Dim NumAlea As Integer
' Generate random value between 0 and 200 - not including 200. NumAlea = MiGeneradorAleatorio.Next(0, 200)
Como ya estudiaste bucles indeterminados, es muy probable que uses uno aqu. Terminar cuando tanto X como Y sean iguales a 100.
Cuenta la cantidad de veces que se ejecuta el bucle. Pon el resultado en el TextBox1.
El cdigo para poner el punto de impacto de tu flecha es:
g.DrawEllipse(MyPen, New Rectangle(X, Y, 1, 1))
Una vez que tu programa funcione bien, mustraselo a tu instructor. Recomendacin para el profesor Habr preguntas. Repase antes la solucin con anotaciones para esas preguntas.
Unidad 11 Whatever, Colorado Pgina 277 de 321 Formas alternas de bucle Los bucles Do While y Do Until se pueden escribir de otra manera con la instruccin de condicin al final del bucle en lugar de al principio. En estas formas alternas, la instruccin de la condicin va despus de las instrucciones de cdigo. Las instrucciones de cdigo siempre se ejecutan cuando menos una vez. Entonces se verifica la instruccin de condicin. Estas formas alternas son las instrucciones Do...Loop While y Do...Loop Until. He aqu un ejemplo de la instruccin Do...Loop While: Dim ValorWhile As Integer ValorWhile = 0 Do MessageBox.Show(ValorWhile) ValorWhile = ValorWhile + 1 Loop While (ValorWhile < 2) Y un ejemplo de la instruccin Do...Loop Until: Dim ValorUntil As Integer ValorUntil = 0 Do MessageBox.Show(ValorUntil) ValorUntil = ValorUntil + 1 Loop Until (ValorUntil > 1) Observa que en ambos casos la instruccin de la condicin ahora forma parte de la instruccin de bucle, y no de la instruccin Do. Las instrucciones despus de Do y antes de Loop se ejecutan cuando menos una vez. Entonces se evala la instruccin de condicin para determinar si se repite el bucle. En el cdigo anterior, si ValorUntil hubiera comenzado como 5, el cuadro de mensaje hubiera mostrado 5 antes de llegar a la verificacin de la condicin.
Recomendacin para el profesor Poner la condicin al final del bucle garantiza que habr al menos una ejecucin del cdigo.
Unidad 11 Whatever, Colorado Pgina 278 de 321 Exit Do Recuerdas cuando Cliff te ense cmo interrumpir un bucle For...Next usando una instruccin Exit For? Bien, puedes escaparte de las instrucciones Do WhileLoop, Do UntilLoop, Do...Loop While y Do...Loop Until, en forma parecida. Sin embargo, en vez de usar Exit For, usas Exit Go. Usa una instruccin If...Then para tener una expresin booleana con qu controlar la ejecucin de la instruccin Exit Do. Si la expresin booleana se evala en Cierto, entonces se ejecuta la instruccin Exit Do y se sale uno del bucle. Usa Exit Do cuando quieres salir de un bucle, aunque no se hayan satisfecho las condiciones booleanas.
Vamos a escribir un cdigo para salir de un bucle Do Until. Inicia una nueva aplicacin llamada ExitDo. Agrega un botn de comando a Form1. Haz doble clic en Button1 para editar el evento clic. Agrega el siguiente cdigo, muy parecido al que tiene tu proyecto DoLoopUntil: Dim ValorUntil As Integer ValorUntil = 0 Do Until (ValorUntil > 10) MessageBox.Show(ValorUntil) ValorUntil = ValorUntil + 1 If ValorUntil = 5 Then Exit Do End If Loop MessageBox.Show("Valor salida= " & ValorUntil) Crea e inicia tu proyecto. Haz clic en Button1. En cada recorrido por el bucle, el valor de ValorUntil se incrementar en 1, y un cuadro de mensaje mostrar la cuenta del bucle (0, 1, 2, 3 y 4). Cada vez oprime Aceptar. Cuando ValorUntil llegue a 5, la expresin de comparacin de la instruccin If...Then se evala en Cierto. Se ejecuta la instruccin Exit Do. El bucle termina y se reanuda la ejecucin del cdigo en la primera lnea despus de la instruccin Loop Until. Este cdigo muestra un cuadro de mensaje que dice Valor salida= 5. Haz clic en Aceptar para regresar al formato.
Puedes usar exactamente la misma clase de instruccin Exit Do en tu cdigo de Do While...Loop para salir del bucle, antes de que la instruccin de comparacin se evale en Falso.
Bucles indefinidos en J# y en C# Echaremos un vistazo a los bucles indefinidos en J# y en C#. En C# puedes escribir un cdigo que haga lo mismo que la instruccin Do While...Loop y Do...Lop While en Visual Basic.NET. C# no tiene equivalente para las instrucciones Do Until...Loop o Do...Loop Until.
Un bucle while (while y loop no van con maysculas) en C#, que evala la condicin al inicio se puede codificar como sigue: int ValorWhile=0; While (ValorWhile<5) { MessageBox.Show(ValorWhile.ToString()); ValorWhile=ValorWhile+1; }
Unidad 11 Whatever, Colorado Pgina 279 de 321 Y un cdigo C# para un bucle do...while (do, while y loop no van con mayscula) que evale la condicin al final: int ValorWhile=0; do { MessageBox.Show(ValorWhile.ToString()); ValorWhile=ValorWhile+1; } while(ValorWhile C# no tiene el equivalente de Do...Until Loop de Visual Basic.NET.
Unidad 11 Whatever, Colorado Pgina 280 de 321 Veamos ahora el cdigo en J#. Como podrs ver, es muy parecido al cdigo en C#. J# no tiene equivalente para las instrucciones Do Until...Loop o Do...Loop Until, que se usan en Visual Basic.NET. Entonces, un bucle while (while y loop no van con mayscula) en J#, que evale la condicin al inicio se puede codificar como sigue:
int ValorWhile=0; while (ValorWhile<5) { MessageBox.Show(System.Convert.ToString(ValorWhile)); ValorWhile=ValorWhile+1; } Y un cdigo J# para un bucle do...while (do, while y loop no van con mayscula) que evale la condicin al final: int ValorWhile=0; do { MessageBox.Show(System.Convert.ToString(ValorWhile)); ValorWhile=ValorWhile+1; } while (ValorWhile J# no tiene el equivalente del bucle Do...Until Loop de Visual Basic.NET.
Unidad 11 Whatever, Colorado Pgina 281 de 321 Llegada a Whatever, Colorado Ya estamos en Whatever! Fue otra parte rpida y estimulante de nuestro viaje. En el camino aprendiste a codificar cuatro clases distintas de bucles indefinidos. Puedes codificar bucles indefinidos que se ejecuten mientras una condicin sea Cierta, o hasta que una condicin sea Cierta. Puedes codificar bucles indefinidos que evalen la condicin al principio o al final. Si se evala la instruccin de condicin al final, las instrucciones del bloque de cdigo siempre se ejecutarn al menos una vez. Vers que esas diferentes clases de instrucciones de bucle se complementan entre s. Pueden hacer cosas que no se pueden con un bucle For...Next. Veamos qu tiene el viejo organizador personal para ti. 11 Ejercicio 02 En seguida
Nos divertimos antes con un proyecto de lanzar la moneda. He aqu otro. Alguna vez te has pregunt cuntas veces debers lanzar una moneda para sacar tres veces en seguida guila? Cuntas para sacar 4? Cuntas para 5?
Usa el cdigo y el formato que se encuentran en la plantilla 11_proveit02_template.
El formato se ve como este: En seguida
Vas a pasar un rato ms lanzando una moneda.
El archivo 11_proveit02_ contiene instrucciones para este ejercicio, y todos los archivos de soporte que necesitas.
Unidad 11 Whatever, Colorado Pgina 282 de 321 El cdigo para generar un nmero aleatorio de 0 1 es:
Dim MiGeneradorAleatorio As System.Random MiGeneradorAleatorio = New System.Random Dim NumAlea As Integer
' Generar valor aleatorio entre 0 y 2 - sin incluir a 2. NumAlea = MiGeneradorAleatorio.Next(0, 2)
Supn que el valor 1 es guila, y el valor 0 es sol. Sigue generando nmeros aleatorios hasta que tengas tantos 1 seguidos como especifica el TexBox1. Si sacas cero, vuelve a comenzar. Pon la cuenta de lanzamientos en el TextBox2.
Durante las pruebas, los programadores cuidadosos ponen una instruccin if dentro del bucle, que muestra un mensaje y detiene el bucle si el contador rebasa algn nmero muy grande.
Una vez que tu programa funcione bien, mustraselo a tu instructor. Recomendacin para el profesor Este programa puede ser un poco ms fcil que el Ejercicio 01.
Unidad 11 Whatever, Colorado Pgina 283 de 321 Ve lo siguiente, es un reto acerca de una calculadora del promedio de calificaciones, un regalo del comit del rally. Estoy seguro que tus conocimientos de bucles te sern de gran utilidad en este caso. 11. Reto Calculadora del promedio de calificaciones
Me gusta este viaje, lstima que pronto terminar. Entonces regresar a la escuela a preocuparme por mi promedio de calificaciones. Sera bueno contar con un programa para calcular el promedio de un conjunto de calificaciones. As que hagamos una calculadora para tal propsito.
Crea un formato parecido al siguiente, o usa la plantilla 11_challenge_template:
Este programa usa una funcin InputBox que se ve como la de abajo. No tienes que crear este formato. Visual Basic.NET lo hace automticamente por ti.
Eso es nuevo, as que te daremos todo el cdigo que necesites.
Calculadora del promedio de calificaciones
Vas a calcular el promedio de una serie de calificaciones en letras.
El archivo 11_challenge_files contiene las instrucciones y todos los archivos de soporte que vas a necesitar para este examen.
Unidad 11 Whatever, Colorado Pgina 284 de 321
Define una variable que guarde cada calificacin, como la siguiente:
Dim CalifEnt As String = "No hay ninguna"
Despus, dentro de un bucle indeterminado, necesitars este cdigo:
CalifEnt = InputBox("Ponga A, B, C, D, o F", "Ingrese la calificacin en letra", "")
El usuario ingresar todas las calificaciones que desee. Cuando termina, ingresar ninguna calificacin o har clic en Cancelar. En todos los casos, la variable CalifEnt estar vaca. Vaco se codifica con dos comillas juntas, sin nada entre ellas.
A es 4 puntos B es 3 puntos C es 2 puntos, D es un punto, F es cero.
No tomes en cuenta cualquier otra letra o nmero. El usuario puede teclear letras maysculas o minsculas.
Pon todo lo que ingresaste en el cuadro de texto de la parte inferior, como referencia.
Cuando se hayan ingresado todas las calificaciones, calcula la calificacin numrica promedio.
Extensin / desviacin
Convierte la calificacin numrica promedio en una calificacin de letra.
Permite usar calificaciones con ms y con menos, como B+ y C-. Usa los nmeros que se usen en tu escuela, o usa los siguientes:
1.0 D - 1.3 D 1.7 D + 2.0 C - 2.3 C 2.7 C + Recomendacin para el pfofesor El bucle termina cuando CalifEnt = .
Unidad 11 Whatever, Colorado Pgina 285 de 321 3.0 B - 3.3 B 3.5 B + 3.8 A - 4.0 A
Unidad 11 Whatever, Colorado Pgina 286 de 321 Veamos esta prueba especial del punto de registro, para comprobar tus conocimientos.
Un bucle Do...While se ejecuta hasta que la condicin llega a ser cul? Un bucle Do...Until se ejecuta hasta que la condicin llega a ser cul? Arriba Abajo En cualquier lugar, pero no en ambos a la vez End Do Exit To Stop Do Dnde se pone la condicin en un bucle Do...While? Qu comando termina de inmediato un bucle?
Unidad 12 Function, South Dakota Pgina 287 de 321
Temas en el camino a Function: Funcin Qu son las subrutinas? Escribir tus subrutinas Llamar a tus propias subrutinas Escribir tus funciones Llamar a tus propias funciones Subrutinas y funciones incorporadas Funciones de cadena Funciones de conversin Llegada a Function
Unidad 12 Function, South Dakota Pgina 288 de 321 Function, South Dakota
Caramba! Increble! Estamos en el ltimo tramo de nuestro viaje. Tan slo una escala ms y nuestra jornada por Reglas de Cdigo se terminar. Estoy seguro que fue divertido. Nikki y yo de veras gozamos mostrndote los panoramas, y ensendote lo que sabemos de Visual Basic.NET y Visual Studio.NET en el viaje. Espero que pronto podamos viajar juntos otra vez por Reglas de Cdigo. Casi ests listos para un curso ms avanzado.
Hemos guardado para el final el mejor destino que es Function, South Dakota. En esta parte del viaje es donde aprenders a usar todo lo que has aprendido hasta ahora. En este tramo te mostrar cmo escribir tus propias subrutinas y funciones, y usar algunas de las que estn incorporadas en el entorno .NET.
Ser una parte divertida del viaje aunque larga. Tenemos mucho que explicar en el camino a Function, South Dakota, as que adelante! Recomendacin para el profesor Algunos profesores explican en forma breve esta unidad, despus de la unidad sobre instrucciones de asignacin, o despus de la unidad sobre aritmtica, para regresar a ella al final del curso. Muchos profesores la presentan al final del curso.
Unidad 12 Function, South Dakota Pgina 289 de 321 Qu son las rubrutinas? Las subrutinas (a veces se les dice subs) son semejantes a miniprogramas. Se escriben para efectuar tareas especficas en la aplicacin. Cuando escribes una aplicacin la descompones en partes de funcionalidad separada, y escribes una subrutina para cada una. Su aplicacin puede contener tantas subrutinas como se necesiten. Debes ser conciso en el uso de subrutinas, crear las que se necesiten, pero a la vez tratar de escribir unas que contengan determinada clase de funcionalidad en el programa.
Por qu usar subrutinas? Las subrutinas facilitan la escritura y la revisin de programas, porque dividen la funcionalidad de su aplicacin en partes ms pequeas. Es mucho ms fcil escribir y depurar varias subrutinas cortas que toda una aplicacin. Una vez que hayas depurado tu subrutina, se termina y queda lista para usarse. Funcionar cada vez que necesites usarla.
Las subrutinas ahorran tiempo realmente cuando tienes un cdigo grande y complicado al que quieres entrar desde distintas partes de tu programa. Pueden usarse cada vez que se desee. Una vez que escribes una subrutina se puede usar (accesar) desde cualquier parte de tu programa. Las subrutinas hasta pueden usar otras subrutinas. Imagnelo!
Las subrutinas sirven tambin para dividir el trabajo de programacin en una aplicacin grande. Con frecuencia, a programadores individuales se les asigna para escribir un conjunto especfico de subrutinas para la aplicacin. Son responsables de escribir y depurar sus subrutinas, y de asegurar que trabajen con otras partes del programa.
Algunos usos frecuentes de las subrutinas consisten en hacer clculos, formatear y mostrar informacin, personalizar la interfaz con el usuario, pedirle datos al mismo y proporcionar entradas y salidas al programa.
Yo solo podra encargarme de las paradas en pits, pero tardara horas. Mi personal de pits me regresa con rapidez a la carrera.
Unidad 12 Function, South Dakota Pgina 290 de 321 Escribir subrutinas Escribir subrutinas para una aplicacin es otra de esas reas de la programacin que realmente me gustan. Es como un diseo de formatos; se necesita una combinacin de creatividad y conocimientos de programacin. Ya que son como programas pequeos las subrutinas pueden contener cualesquiera de las instrucciones de cdigo que ya has aprendido.
Ahora har que escribas tu propia subrutina y despus te mostrar cmo usarla en una aplicacin. Comenzaremos aprendiendo la sintaxis de escritura de una subrutina, y despus te ensear cmo codificarla. La sintaxis es la siguiente: Private Sub NombreSub() instruccin de cdigo 1 instruccin de cdigo 2 instruccin de cdigo etc. End Sub Observa que las palabras Private, Sub y End Sub son palabras reservadas; aparecen en azul. La palabra reservada Private quiere decir que a esta subrutina slo se puede entrar con otro cdigo en la Form1. El NombreSub es el nombre de la subrutina. Puedes usar cualquier nombre que desees pero lo mejor es escoger algo descriptivo para conocer para qu sirve la subrutina. Nota el parntesis despus del nombre de la subrutina. Cuando se pasa una informacin a la subrutina, las variables que poseen la informacin se ponen entre los parntesis. Ya viste esto en todos los subprogramas de evento que has usado en unidades anteriores del curso. Las instrucciones de cdigo de la subrutina estn entre los renglones Sub y End Sub y se ejecutan en orden. Puedes usar casi cualquier instruccin que desees en la subrutina. Recomendacin para el profesor Vea ejemplos de subprogramas en el programa Tic Tac Toe. Debe sangrar el cdigo de su subrutina para que sea obvio lo que contiene.
Unidad 12 Function, South Dakota Pgina 291 de 321 Ahora te pido escribir tu propia subrutina y despus te mostrar cmo llamarla desde el cdigo. Inicia una nueva aplicacin llamada SimpleSub. Abre la ventana del cdigo. Busca el cdigo que diga Windows Form Designer generated code. En la siguiente lnea agrega este cdigo:
Private Sub MiMensaje() MessageBox.Show("Aqu est un mensaje de la subrutina MiMensaje.) End Sub
Como podrs ver, cuando se ejecuta el cdigo dentro de la subrutina MiMensaje, un cuadro de mensaje mostrar el texto: Aqu est un mensaje de la subrutina MiMensaje, pero cmo ejecutamos ese cdigo?
Recomendacin para el profesor Este curso preliminar no cubre asuntos relacionados con aplicaciones con varios formatos. La palabra reservada Private quiere decir que esta subrutina slo puede ser usada por el cdigo que hay dentro del Form1.
Unidad 12 Function, South Dakota Pgina 292 de 321 Llamar a tus propias subrutinas
Para hacer que se ejecute el cdigo en tu subrutina, necesitas escribir un rengln de programa que llame a la subrutina. Cuando se le llama, se ejecuta el cdigo contenido en la subrutina. La sintaxis para llamar una subrutina es sencilla. Slo se usa el nombre de la subrutina seguido de un par de parntesis. La sintaxis para llamar una subrutina es la siguiente:
SubName()
Ahora llamaremos esa nueva subrutina que acabas de escribir.
En tu proyecto SimpleSub, agrega un botn de comando al Form1. Cambia la propiedad Texto del Button1 a MiMensaje. Haz doble clic en Button1 para editar el evento clic. Aade la siguiente lnea de cdigo:
MiMensaje()
Crea e inicia tu proyecto. Haz clic en el botn MiMensaje. Aparecer un cuadro de mensaje que muestra Aqu est un mensaje de la subrutina MiMensaje. De dnde vino? Es la lnea de cdigo contenida en tu subrutina MiMensaje. Cuando esa subrutina fue llamada con el evento clic de botn, se ejecut esa lnea de cdigo.
Ahora te pido agregar otra subrutina a tu proyecto SimpleSub. Mostrar un mensaje diferente. Abre la ventana de cdigo y agrega el siguiente cdigo despus de la instruccin End Sub de la subrutina MiMensaje:
Private Sub TuMensaje() MessageBox.Show("Aqu est un mensaje de la subrutina TuMensaje.) End Sub
Esta vez llamaremos a TuMensaje desde MiMensaje, en lugar de con el evento clic en botn. Edita la subrutina MiMensaje para que se vea como sigue:
Private Sub MiMensaje() MessageBox.Show("Aqu est un mensaje de la subrutina MiMensaje.) TuMensaje() End Sub
Unidad 12 Function, South Dakota Pgina 293 de 321 Agregamos una llamada a la subrutina TuMensaje dentro de la subrutina Mimensaje. Crea e inicia el proyecto SimpleSub. Haz clic en el botn MiMensaje. Aparecen dos cuadros de mensaje. El primero muestraAqu est un mensaje de la subrutina MiMensaje y el segundo Aqu est un mensaje de la subrutina TuMensaje. Cmo trabaja este cdigo? El evento clic en botn llam a la subrutina Mimensaje. Cuando se llama esa subrutina se ejecuta el cdigo que contiene. La subrutina MiMensaje contiene dos lneas de cdigo. La primera lnea muestra un cuadro de mensaje que dice Aqu est un mensaje de la subrutina MiMensaje. La segunda lnea llama a la subrutina TuMensaje, que a su vez muestra un cuadro de mensaje que dice Aqu est un mensaje de la subrutina TuMensaje.
No fue elegante? Creaste tus dos primeras subrutinas, y llamaste una de ellas desde el cdigo de evento clic en botn. La segunda subrutina fue llamada desde la primera.
Escribir y llamar subrutinas con argumentos Una de las cosas tiles acerca de Visual Basic.NET, y de la mayor parte de otros lenguajes modernos de programacin, es que puedes pasar informacin a tu subrutina. Eso es muy til porque puedes escribir una subrutina que produzca distintos resultados o acciones dependiendo de qu informacin pongas en ella. La informacin que pasas a la subrutina se llama su argumento. Cuando escribes una subrutina a la que quieres pasar argumentos, debes definir cuntos argumentos hay y de qu tipo son.
La sintaxis para escribir una subrutina que requiera argumentos es la siguiente: Private Sub NombreSub(ByVal NombreArg1 As argumentType1, ByVal NombreArg2 As argumentType2, ByVal NombreArgN As argumentTypeN) instruccin de cdigo 1 instruccin de cdigo 2 instruccin de cdigo etc. End Sub Recomendacin para el profesor El parmetro ByVal quiere decir que el valor del parmetro se pasa al subprograma, pero la variable original permanece sin cambio. Recomendacin para el profesor Los parmetros no son un concepto totalmente nuevo. todos los subprogramas de evento clic tienen parmetros.
Unidad 12 Function, South Dakota Pgina 294 de 321 Aqu los parntesis no estn vacos. Contienen la lista de argumentos y los tipos de argumentos que se van a pasar a la subrutina. Observa que ByVal es una palabra reservada; aparece en azul. Los tipos de argumentos son los comunes, como Integer, String, etc. Ve que cada uno de los argumentos est separado por una coma. Estoy seguro que un ejemplo real aclarar mucho esto. Abre la ventana de cdigo en tu proyecto SimpleSub. Baja la instruccin End Sub de la subrutina TuMensaje, aade la nueva subrutina siguiente:
Private Sub MensajeGeneral(ByVal MensajeEnt As String) MessageBox.Show(MensajeEnt) End Sub
Esta subrutina necesita que se le pase un argumento del tipo cadena. Cuando se llama a esta subrutina mostrar un cuadro de mensaje que muestre el argumento de cadena.
Ahora llamemos la subrutina MensajeGeneral, y pasmosle un argumento de cadena. Agrega un segundo botn a Form1 de tu proyecto SimpleSub. Cambia la propiedad de Texto del Button2 a CualquierMensaje. Haz doble clic en Button2 para editar el cdigo de evento clic en botn. Aade las tres lneas siguientes de cdigo:
MensajeGeneral("Cualquier mensaje.") MensajeGeneral("Algn otro mensaje.") MensajeGeneral("Un mensaje distinto.")
Crea e inicia tu proyecto. Haz clic en el botn CualquierMensaje. Aparecen tres mensajes. Cmo fue posible? El cdigo clic en botn llama tres veces a la subrutina MensajeGeneral. Cada vez pasa una cadena de texto distinta a la subrutina como argumento. La primera vez, la subrutina es llamada con un argumento de cadena Cualquier Mensaje, la segunda vez con un argumento Algn otro Mensajey la tercera vez con un argumento Un mensaje distinto. Cuando se ejecuta el cdigo en la subrutina, el argumento se pasa a ella y lo usa la instruccin MessageBox.Show.
Ya le dije al tcnico de asientos que use aplicacin 20-10 para piel en esta carrera. En un da caluroso como hoy siempre estoy resbalndome en el asiento con el 20-40.
Unidad 12 Function, South Dakota Pgina 295 de 321 Veamos un ejemplo ms. Esta vez quiero que escribas una subrutina que tome dos enteros como argumentos, los sume y muestre el resultado en un cuadro de mensaje. Listo? Agrega una nueva subrutina llamada Sumadoras a tu proyecto SimpleSub. La subrutina Sumadoras debe verse as: Private Sub Sumadoras(ByVal SumaUno As Integer, ByVal SumaDos As Integer) Dim Total As Integer Total = SumaUno + SumaDos MessageBox.Show(Total) End Sub Observa que se necesitan dos argumentos enteros cuando se llama esta rutina.
Ahora agrega un tercer botn de comando a Form1 de tu proyecto SimpleSub. Cambia la propiedad Texto del Button3 a Sumadoras. Haz doble clic en Button3 para editar el cdigo de evento clic en botn. Aade la siguiente lnea de cdigo: Sumadoras(34, 57) Crea e inicia tu aplicacin. Haz clic en el botn Sumadoras. Un cuadro de mensaje muestra 91. Nuestro cdigo de clic en botn llama la subrutina Sumadoras y le pasa dos argumentos enteros, 34 y 57. La subrutina Sumadoras ejecuta tres lneas de cdigo. Primero declara una variable llamada Total, despus iguala Total a la suma de SumaUno (34) y SumaDos (57). Los argumentos SumaUno y SumaDos contienen los valores que se pasan a la subrutina al llamarla. Por ltimo, la subrutina muestra el valor de Total (que es 91). Ahora puedes escribir tus propias subrutinas y pasarles informacin. Ahora te voy a mostrar cmo escribir funciones. Puedes pasar informacin a las funciones usando argumentos, igual que como haces con las subrutinas. Sin embargo, a diferencia de las subrutinas, tambin puedes recibir informacin de una funcin. Las variables declaradas en una subrutina usando la instruccin Dim son variables locales. Cuando se declara una variable en una subrutina es como cuando se declara una variable en un evento clic en botn, que tambin es una subrutina. La variable slo es accesible cuando se ejecuta la subrutina. Cuando termina la subrutina, la variable ya no es accesible.
Unidad 12 Function, South Dakota Pgina 296 de 321 Escribir tus propias funciones La diferencia principal entre subrutinas y funciones es que una funcin puede proporcionarte informacin. Esto se llama valor de retorno. Una funcin tiene un valor de retorno de un tiempo especfico. Cuando escribes una funcin debes especificar el tipo del valor de retorno. Voy a mostrarte la sintaxis de la escritura de una funcin que toma argumentos y devuelve un valor. Private Function NombreFuncin(ByVal NombreArg1 As argType1, ByVal NombreArg2 As argType2, ByVal NombreArgN As argTypeN) As ReturnType Instruccin de cdigo 1 Instruccin de cdigo 2 Instruccin de cdigo etc. NombreFuncin=ValorDevue lto End Function Observe que las palabras Private, Function y End Function son palabras reservadas; aparecen en azul. El nombre de la funcin debe ser algo descriptivo. La lista de argumentos y tipos de argumentos est entre parntesis, despus del nombre de la funcin. Los argumentos estn separados por una coma. Puedes tener tantos argumentos como desees, pero slo un valor de retorno. Debes especificar el tipo del valor de retorno (por ejemplo, As Integer o As String). La ltima lnea de cdigo establece el valor de retorno. Observa que este rengln de cdigo iguala el nombre de la funcin con el valor que va a devolver la funcin. Recomendacin para el profesor Observe que el valor de retorno por la funcin se coloca en el nombre de la funcin. El alumno ha usado funciones en programas anteriores. Pdale que recuerde algunas de esas funciones, como Val.
Unidad 12 Function, South Dakota Pgina 297 de 321 Un ejemplo real ayudar a explicar la sintaxis. Por favor inicia una nueva aplicacin de Windows llamada UninFunciones. Abre la ventana de cdigo y busca la lnea de cdigo que dice Cdigo generado por Widows Form Designer. En la siguiente lnea agrega este cdigo: Private Function Muliplicadores(ByVal MultUno As Integer, ByVal MultDos As Integer) As Integer Multiplicadores = MultUno * MultDos End Function Esta funcin se llama Multiplicadores, y toma dos argumentos enteros llamados MultUno y MultDos. El tipo de retorno es especfico de acuerdo con la lista de argumentos. En este caso, se especifica como un entero (As Integer). La funcin contiene una sola lnea de cdigo: Multiplicadores = MultUno * MultDos Esta lnea de cdigo multiplica los dos argumentos y establece el valor de retorno. El nombre de la funcin, Multiplicadores, se debe usar como nombre del valor de retorno porque si no se generar un error.
Llamemos ahora esta funcin y usemos su valor de retorno en nuestro programa.
Unidad 12 Function, South Dakota Pgina 298 de 321 Llamar las propias funciones Una forma de llamar una funcin con un valor de retorno es igualar una variable al cdigo que llama la funcin. La variable debe ser del mismo tipo que el valor de retorno de la funcin.
Llamaremos esa nueva funcin Multiplicadores que acaba de crear, y usaremos su valor de retorno en nuestro cdigo. En Form1 de tu proyecto UnionFunciones agrega un botn de comando. Cambia la propiedad Texto del Button1 a Multiplicar. Agrega el siguiente cdigo al evento clic del Button1: Dim Producto As Integer Producto = Multiplicadores(34, 57) MessageBox.Show(Producto) Crea e inicia tu proyecto. Haz clic en el botn Multiplicar. Un cuadro de mensaje muestra el producto de 34x57, que es 1938. Cmo trabaja este cdigo? El evento clic en botn declara una variable Integer llamada Producto. El cdigo llama la funcin Multiplicadores y le pasa los argumentos 34 y 57. La funcin Multiplicadores multiplica MultUno (34) y MultDos (57), e iguala su valor de retorno (Multiplicadores) al producto MultUno * MultDos. El valor de retorno es de tipo Integer. En el evento clic, el producto de la variable entera se iguala al valor de retorno de Multiplicadores y se muestra en un cuadro de mensaje. Tengo una idea! Lo vamos a ser de una manera ms elegante ahora que tenemos esta gran funcin Multiplicadores que escribiste. Agrega un segundo botn de comando a Form1 de tu proyecto UnionFunciones. Cambia la propiedad Texto del Button2 a MultiplicarOtraVez. Agrega el siguiente cdigo al evento clic del Button2: Dim Producto As Integer Producto = Multiplicadores(Multiplicadores(2, 3), Multiplicadores(5, 7)) MessageBox.Show(Producto)
Unidad 12 Function, South Dakota Pgina 299 de 321 Crea e inicia tu proyecto. Haz clic en el botn MultiplicarOtraVez. Aparece el nmero 210. Aqu llamamos tres veces la funcin Multiplicadores. La primera vez llamamos Multiplicadores con los argumentos 2 y 3. El valor de retorno (6) se usa como primer argumento cuando llamamos Multiplicadores la tercera vez. La segunda vez llamamos Multiplicadores con los argumentos 5 y 7. El valor de retorno (35) se usa como segundo argumento cuando llamamos Multiplicadores la tercera vez. La tercera vez llamamos Multiplicadores con los argumentos 6 (el valor de retorno en la primera llamada a Multiplicadores) y 35 (el valor de retorno de la segunda llamada a Multiplicadores).
Ves cmo puedes llamar a una funcin (aunque sea la misma) para formar otra funcin?
Las variables que se declaran en una funcin usando la instruccin Dim son variables locales. Slo son accesibles cuando se est ejecutando el cdigo en la funcin. Despus que termina la funcin, las variables locales ya no son accesibles.
Unidad 12 Function, South Dakota Pgina 300 de 321 12 Ejercicio 01 Conversin canadiense
Confundo la izquierda y la derecha. Uno de estos das dar vuelta a la izquierda debiendo darla a la derecha y terminaremos en Canad. Por si acaso, vamos a escribir un programa de conversin para pasar de unidades estadounidenses a canadienses, o viceversa.
Usa el cdigo y el formato que se encuentran en la plantilla 12_proveit01_template. El formato se ve como ste:
Cuando se hace clic en el botn Convertir a canadiense, se convierte de izquierda a derecha. Cuando se hace clic en el botn Convertir a EUA, se convierte de derecha a izquierda.
Has estado estudiando funciones y subrutinas autodefinidas. En este programa DEBERS usar funciones, de lo contrario no se te acreditar nada. Lo hicimos fcil para que no falles. Hemos escrito ya una de las 6 funciones; debes escribir las otras 5. Hemos suministrado todo el cdigo para los dos botones.
Cuando tu programa funcione bien, ensaselo a tu instructor. Recomendacin para el profesor Este programa se puede escribir sin usar funciones; no lo permita. Compruebe el cdigo que usen realmente los alumnos. Recurdeles que se examina lo que han aprendido y no slo el resultado que obtienen. Conversin canadiense
Escribe un programa para convertir a unidades canadienses y viceversa.
El archivo 12_proveit01_files contiene instrucciones para este ejercicio, as como los archivos de soporte que necesitars.
Unidad 12 Function, South Dakota Pgina 301 de 321
Subrutinas y funciones incorporadas El ambiente .NET incluye muchas subrutinas y funciones ya incorporadas, para manejar las tareas comunes. Estas funciones fueron corregidas y probadas con mucho cuidado y estn disponibles para todos los lenguajes .NET. Siempre que sea posible, debes usar una subrutina o funcin incorporada, y no escribir las tuyas propias. Eso no slo ahorra tiempo, sino normaliza su cdigo y facilita su comprensin. Adems, hay algunas subrutinas y funciones incorporadas que no podras escribir por s mismo. En muchas de ellas se entra al ambiente .NET subyacente y a clases Windows API (interfaz de programacin de aplicaciones. No querrs entrar ah!
Te mostrar algunas de las subrutinas y funciones ms usadas que estn incorporadas en el ambiente .NET y que se pueda llegar a ellas con Visual Basic.NET. Notars que algunas de ellas parecern familiares, porque se usaron ya en los Ejercicio anteriores. Te proporcionamos su cdigo sin explicarlas, as que esta es la explicacin.
Unidad 12 Function, South Dakota Pgina 302 de 321 Algunas funciones de cadena El ambiente .NET tiene muchas funciones incorporadas que se usan para manipular las cadenas. Esas funciones te permiten recortar caracteres adicionales, extraer subcadenas contenidas en cadenas ms grandes y cambiar texto a maysculas o minsculas. La mayor parte de ellas se pueden demostrar fcilmente por medio de ejemplos.
Para todas las funciones de cadena que voy a describir, la sintaxis es la misma. Las funciones se pueden llamar con cualquier cadena. Algunas funciones necesitan argumentos y otras no. La mayor parte de ellas devuelven una cadena, aunque la funcin Length() devuelve un entero. La sintaxis general para llamar las funciones incorporadas en Visual Basic.NET, donde ValorDevuelto y algunaCadena son variables, es la siguiente: ValorDevuelto = algunaCadena.StringFunctionName(argumento1, argumento2, argumentoN) Una funcin til es Length. Devuelve la longitud de la cadena como nmero entero. He aqu un ejemplo: MiTexto = "TextBox1" miLongitud = MiTexto.Length ' devuelve 8, la longitud de "TextBox1" Las funciones ToLower y ToUpper se usan para cambiar el texto de una cadena a caracteres todos minsculos o todos maysculos. Examina los siguientes ejemplos: MiTexto = "TextBox1" MisMays = MiTexto.ToUpper devuelve "TEXTBOX1"
A veces se quiere estar seguro que una cadena de texto no tenga espacios antes o despus. Esto es, se quieres quitar todos los espacios vacos antes y despus de la cadena de texto. Usa la funcin Trim para hacerlo, como se ve a continuacin:
Otra funcin til es la funcin Substring, la cual devuelve una parte de una cadena que estaba en una cadena ms larga. Cuando llamas la funcin Substring, le pasas dos argumentos Integer. El primer argumento es la posicin inicial y el segundo la longitud de la subcadena. Observa que la primera letra en la cadena est en la posicin 0 (no en 1) y que la segunda letra de la cadena est en la posicin 1 (no en 2).
MiTexto = "TextBox1" MiSub = MiTexto.Substring(0, 4) 'devuelve "Text", inicia en la posicin 0 con longitud=4
MiTexto = "TextBox1" MiSub = MiTexto.Substring(1, 2) 'devuelve "ex", inicia en la posicin 1, con longitud=2
La funcin Substring toma dos argumentos enteros y devuelve una cadena de texto. El primer argumento es la posicin inicial de la bsqueda y el segundo la longitud de la cadena que se va a devolver. Recuerda que la primera letra est en la posicin 0 (no en 1) y la segunda en la posicin 1 (no en 2).
Sabas que puedo hacer mi propia pizza desde el principio, pero as puedo hacer una ensalada y poner esto en el horno y listo! a comer!
Unidad 12 Function, South Dakota Pgina 304 de 321 S que te mueres por ver estas funciones de cadena en accin, as que hagamos una pequea aplicacin que demuestre cmo funcionan. Inicia una nueva aplicacin llamada IncorPorada. Agrega dos cuadros de texto a form1. Pon en vaco la propiedad Texto del TextBox2. Pon la propiedad Multiline de TextBox2 en S. Pon la propiedad Scrollbars de TextBox2 en Vertical. Estire el Texbox2 para que su altura casi sea igual a la del formato. Agrega un botn de comando a Form1. Agrega el siguiente cdigo al evento clic en Button1:
Crea e inicia su aplicacin. Haz clic en Button1. El Textbox2 muestra los resultados obtenidos con cada funcin String, usando la propiedad de texto de TextBox1 como la cadena de texto. Ahora cambia el texto en TextBox1 y haz clic de nuevo en el button1, y clic de nuevo en el button1. Recomendacin para el profesor El cdigo de arriba tendr ms sentido si el alumno lo pone en un programa y recorre lnea por lnea usando las herramientas de depuracin.
Unidad 12 Function, South Dakota Pgina 305 de 321 Generador de nmeros aleatorios Muchos programas necesitan generar nmeros aleatorios. Esto sucede en especial en aplicaciones como juegos que implican sucesos de suerte, como lanzar una moneda o los dados. El ambiente .NET tiene una clase System.Random que tiene las funciones para generar nmeros aleatorios. Ahora te pido que escribas algn cdigo que simule el lanzamiento de un dado de seis caras. En Form1 de tu proyecto IncorPorado agrega un botn de comando. Cambia la propiedad Texto del Button2 a TiraLos. Agrega el siguiente cdigo al evento clic del Button2: Dim miGeneradorAleat As System.Random Dim miEnteroAleat As Integer miGeneradorAleat = New System.Random miEnteroAleat = miGeneradorAleat.Next(1, 7) MessageBox.Show(miEnteroAleat) Crea e inicia tu aplicacin. Haz clic en el botn TiraLos. Un cuadro de mensaje muestra un nmero aleatorio entre 1 y 6. Haz clic de nuevo en el botn. Se muestra otro nmero aleatorio entre 1 y 6.
Cmo trabaja este cdigo? Primero declaramos una variable de nombre miGeneradorAleat, de tipo System.Random. Despus declaramos una variable llamada miEnteroAleat del tipo entero. La variable miGeneradorAleat se iguala a un nuevo objeto de System.Random, usando la palabra reservada New. Para generar un nmero aleatorio entre 1 y 6, llamamos la funcin Next() de miGeneradorAleat. Cuando llamamos la funcin Next() pasamos los argumentos 1 y 6, que son los lmites inferior y superior de los nmeros aleatorios que deseamos generar. La funcin Next() devuelve un entero aleatorio entre 1 y 6, que se asigna a la variable miEnteroAleat. La ltima lnea de cdigo muestra el nmero aleatorio en un cuadro de mensaje.
Unidad 12 Function, South Dakota Pgina 306 de 321 Funciones de conversin Visual Basc.NET tiene dos funciones de conversin que pueden ser tiles cuando se trabaja con nmeros; son la funcin Val y la funcin Int. Veamos primero la funcin Val. sta se usa para convertir una cadena en un nmero. Si la cadena contiene un punto decimal, Val devuelve un nmero de tipo Double. Si la cadena no contiene un punto decimal, Val devuelve un nmero del tipo entero. Con frecuencia se usa Val para convertir la propiedad Texto de un cuadro de texto en un nmero que se pueda usar en clculos. Veamos algunos ejemplos que usan la funcin Val: Dim MiInt As Integer MiInt = Val("123") + 123 'decuelve 246
Dim MiDoble As Double MiDoble = Val("123.22") + 123 'devuelve 246.22
La funcin Int devuelve la parte entera de un nmero, esto es, la que est a la izquierda del punto decimal. Ve estos ejemplos de la funcin Int, para ver cmo trabaja:
Dim MiEnt As Integer MiEnt = Int(123) 'devuelve 123 MiEnt = Int(123.45) 'devuelve 123
Unidad 12 Function, South Dakota Pgina 307 de 321 Subrutinas y funciones en J# y en C# Puedes crear tus propias funciones tambin en C# y en J#. Puedes crear funciones que necesiten pasarles argumentos y funciones que devuelvan valores. No hay equivalente a una subrutina en J# o C#; slo se usan funciones. Tampoco hay palabra reservada Function en C# o en J#. Las funciones se declaran con una sintaxis especial, y por el orden de ciertas palabras reservadas. Pidamos a Dirk y a Len que expliquen las funciones en estos dos lenguajes. Como dijo Cliff, en C# no hay palabras reservadas Sub ni Function. En Visual Basic.NET se manejan de diferente manera las subrutinas y las funciones. En C# no se distingue una subrutina de una funcin. Veamos el cdigo para declarar una funcin en C#, que tome dos argumentos y devuelve un valor entero.
private static int Sumadoras_C(int sumaUno, int sumaDos) { int intSuma=0; intSuma = sumaUno + sumaDos; return intSuma; } Fjate que no usamos la palabra reservada Function como lo hicimos en Visual Basic.NET. Las palabras reservadas private y static indican que esta funcin slo se puede llamar desde el cdigo en Form1. La palabra reservada int (despus de static) indica el tipo del valor de retorno (en este caso un entero). Los dos argumentos que se deben suministrar cuando se llama la funcin estn entre parntesis despus del nombre de la funcin, Sumadoras_C. Ambos argumentos sumaUno y sumaDos son del tipo int. Tambin nota la palabra reservada return. Indica el valor que debe devolver la funcin (en este caso intSuma).
Podemos llamar a la funcin Sumadoras_C con el siguiente programa en C#, que se parece a la forma en que llamamos a una funcin en Visual Basic.NET: int laSuma=0; laSuma = Sumadoras_C(3,4); MessageBox.Show(System.Convert.ToString(laSuma));
Unidad 12 Function, South Dakota Pgina 308 de 321 Llegada a Function, SD
No puedo creer que estemos ya en Function, South Dakota! es el destino en nuestro viaje Reglas de Cdigo. Estoy seguro que fue divertido. A Nikki y a m de veras nos gust mostrarte cmo escribir cdigo en Visual Basic.NET y Cliff y Len aprovecharon la oportunidad de mostrar lo que saben de J# y C#. Ahora podrs determinar algunas de las semejanzas y diferencias entre todos estos lenguajes.
En el camino a nuestro destino te enseamos cmo escribir y llamar a tus propias subrutinas y funciones, y usar algunas que ya estn incorporadas en el ambiente .NET. Recuerda: usa las subrutinas cuando no tengas un valor de retorno, y las funciones cuando s tengas un valor para devolver. Puedes pasar argumentos a las subrutinas y las funciones cuando las llames. Los argumentos son usados por el cdigo dentro de la subrutina o la funcin. No se requieren los argumentos si las variables se definen en forma global esto es, si se declaran antes de la primera subrutina.
Nos veremos despus. Espero que podamos hacer otro viaje como este en alguna oportunidad.
Ah! No crees que nos vamos sin hacer un ltimo Ejercicio, no es as?
Unidad 12 Function, South Dakota Pgina 309 de 321 12 Ejercicio 02 Adivino
En realidad no creo que podamos ver el futuro pero es divertido creer. Escribamos un programa para contestar como un adivino lo hara.
Usa el cdigo y la forma que se encuentran en la plantilla 12_proveit02_template. El formato se ve como sigue:
Cuando se hace clic en el botn Buscar respuesta, usa el mtodo SubString para contar cada letra que sea vocal (A, E, I, O, U) en la pregunta. Recuerda que cuenta el tamao: a y A son distintas. Comprueba que se haya tecleado una pregunta. Tambin recuerda los bucles.
Recuerda que el mtodo Length devuelve la cantidad de caracteres de una cadena. Los caracteres se numeran comenzando en cero, as que si hay 10 caracteres, estn en las posiciones 0 a 9. Recuerda que en Visual Basic.NET, todo lo que use un nmero puede usar tambin una variable.
Con base en la cantidad de vocales, genera una respuesta a la pregunta. Usa tu imaginacin para crear las respuestas. S y No se valen, pero son aburridos. Debes tener cuando menos cinco respuestas diferentes. Se permiten ms.
Una vez que tu programa funcione bien, mustraselo a tu instructor. Adivino Este es un programa para contestar preguntas como lo hara un adivino. El archivo 12_proveit02_files contiene instrucciones para este ejercicio, y los archivos de soporte que necesitars.
Unidad 12 Function, South Dakota Pgina 310 de 321 Un miembro del comit del rally ya viene con un cheque por un milln de dlares! No, ms bien parece que es el ltimo reto.
12 Reto El gato y el ratn
Es el turno del reto final. El juego del gato y del ratn es bastante ms difcil que los retos anteriores. Como llegaste hasta aqu, sabemos que puedes escribir este programa, donde un gato caza a un ratn.
Usa la plantilla 12_challenge_template, que tiene una forma como esta:
Supn que la pantalla tiene 600 pixeles de ancho y 300 de alto.
Mueve al gato y al ratn en caminos aleatorios cambiando el lugar de los cuadros de imagen que tienen las imgenes del gato y del ratn, sumando un nmero positivo o negativo a las coordenadas actuales X y Y.
Hay un evento Cronmetro que se ejecuta cada de segundo. Dentro de este evento mueve al gato y al ratn. No lo puedes hacer en forma directa. Para mover un cuadro de imagen debes calcular una coordenada (un nmero) X y una Y, y luego usar esta lnea de cdigo:
Mouse.Location = New Point(X, Y) Recomendacin para el profesor Como era de esperarse, este examen es ms difcil que cualquier otro en este curso. El alumno no debe tratar de hacer de una vez todo el programa sino slo una parte, como por ejemplo, mover al ratn. Despus debe detener al ratn en un borde, y as sucesivamente. Ratn
Vas a escribir un programa donde un gato persigue a un ratn.
El archivo 12_challenge_files contiene instrucciones para este examen, y los archivos de soporte que necesitas.
Unidad 12 Function, South Dakota Pgina 311 de 321 Despus de mover al gato y al ratn, ve si:
el ratn escap; el gato atrap al ratn; el ratn debe cambiar de direccin, porque est cerca del gato; el gato o el ratn estn cerca del borde de la pantalla.
El gato es un cuadro de imagen llamado Cat, y no el PictureBox1.
El ratn est en un cuadro de imagen llamado Mouse, y no en el PictureBox2. Si el gato est a menos de 20 pixeles del ratn, medidos desde la esquina superior derecha del cuadro de imagen, quiere decir que atrap al ratn. Si el ratn est a menos de 20 pixeles de algn cuadro de texto negro, medidos desde la esquina superior izquierda del cuadro de texto, el ratn escapa. En cualquiera de estos casos detn el reloj.
Si el ratn est a menos de 40 pixeles del gato, el ratn cambia de direccin.
El agujero uno est en (50, 150), el agujero dos est en (530, 150).
Hay varias cosas en la plantilla que te ayudarn a escribir este programa.
La funcin HowFar devuelve la distancia entre dos puntos, si suministras las coordenadas X y Y de los puntos. Por ejemplo,
La funcin NewChg devuelve un nmero aleatorio que puede ser positivo o negativo. Representa la cantidad (distancia) que deben moverse el ratn o el gato en cada turno. Por ejemplo,
CatXChg = NewChg()
En el cdigo de evento clic en el botn Nuevo juego asigna un lugar aleatorio inicial para el gato y el ratn. Asigna a cada uno un incremento X y uno Y. Pon en marcha el reloj.
Unidad 12 Function, South Dakota Pgina 312 de 321 Recomendacin: muchos programadores prefieren escribir un pedazo de cdigo y probarlo, escribir un pedazo ms y probar de nuevo. Debes escribir este programa como sigue:
Poner el gato y el ratn. Mover el gato. Ver los lmites del gato. Mover el ratn. Ver los lmites del ratn. Ver si escap el ratn. Ver si el gato atrap al ratn. Ver si el ratn se acerca al gato.
Despus de cada paso, prueba tu cdigo.
Una vez que tu programa funcione bien, mustraselo a tu instructor.
Extensin / desviacin
Registra en qu direccin se dirige la imagen. Invierta la direccin si el gato o el ratn cambia de direccin. Usa lo siguiente, o algo parecido:
Imagina en qu direccin se mueve el ratn, y entonces cambie los incrementos del gato para hacer que el gato vaya en direccin del ratn. Por ejemplo, si el gato tiene una coordenada X de 450 y el ratn est en 250, el gato debe moverse en una direccin negativa.
Agrega un perro que persiga al gato.
Unidad 12 Function, South Dakota Pgina 313 de 321
Valores incompatibles de datos Informacin que pasa a la subrutina para que la use. El conteo de la cantidad de instrucciones de cdigo. NombreSubrutina() ExecuteNombreSubrutina() Go to NombreSubrutina() Qu es un argumento de una subrutina? Cmo se hace para que se ejecute una subrutina? Cmo se seleccionan las letras BC de la cadena =ABCD? Cmo se convierte la cadena de una variable X tipo cadena, en un nmero?
Unidad 12 Function, South Dakota Pgina 314 de 321
Caramba! Estos tipos s que conocen su cdigo. Estoy seguro que con su ayuda aprendiste mucho de Visual Studio.Net en este viaje. Y recuerda: REGLAS DE CDIGO! Hasta la prxima.... Reglas del Cdigo Control de Tareas de Alumnos Pgina 315 de 321 No. de tarea Titulo de la tarea Descripcin Fecha compromiso Terminado 01 Ejercicio 01 Computacin cotidiana Mencionar por lo menos cuatro ejemplos que demuestran que las computadoras forman parte de la vida cotidiana.
01 Ejercicio 02 Trabajos de informtica El uso de Internet o de otros recursos determina el salario inicial de los profesionistas de la tecnologa de la informacin en tu localidad.
01 Reto Ninguno No hay Reto para la unidad 01. 02 Ejercicio 01 Hello World Escribir un programa llamado Hello World.
02 Ejercicio 02 Mi nombre es Escribir un programa llamado Mi Nombre es.
02 Reto Comida rpida Desplegar imgenes de comida rpida.
03 Ejercicio 01 Empacar para el viaje Escribir un seudo cdigo para describir los pasos requeridos para empacar para tu viaje.
03 Ejercicio 02 Lavar los trastes Escribir un seudo cdigo para describir los pasos requeridos para lavar los trastes
03 Reto Pecera Contar el nmero de peces de cada color, luego calcular que porcentaje representa cada uno.
04 Ejercicio 01 Quin es quin Crear un formato y ajustar las propiedades del objeto colocado en el formato usando la ventana. Propiedades para que puedas aprender ms acerca de tus compaeros de viaje.
04 Ejercicio 02 El precio de la Pizza Ayudar a los clientes a evaluar el precio de su pizza.
04 Reto Gato Completar el programa para el juego Gato.
05 Ejercicio 01 Arco iris Crear un arco iris. 05 Ejercicio 02 Medidor de viaje Ajustar un control de desplazamiento usando el cdigo.
05 Reto Flores Ocultar y mostrar imgenes de flores usando el cdigo.
06 Ejercicio 01 Pedazo de Pi Mostrar el numero Pi en diferentes formatos.
06 Ejercicio 02 Rana saltarina Escribir un programa de juego de Rana saltarina.
06 Reto Bicho Encontrar 10 errores en un programa.
Reglas del Cdigo Control de Tareas de Alumnos Pgina 316 de 321
No. de tarea Titulo de la tarea Descripcin Fecha compromiso completado 07 Ejercicio 01 Costo de la gasolina Calcular el costo de la gasolina.
07 Ejercicio 02 Depurar un programa Usar herramientas de depuracin de Visual Studio.NET.
07 Reto Calculadora de volumen Calcular el volumen de un cubo y de una esfera.
08 Ejercicio 01 Ideas de regalos Sugerir ideas de regalo para los vendedores.
08 Ejercicio 02 Programacin de una encuesta de aptitudes Escribir un programa de encuesta para ayudar a otros estudiantes a decidir si deben tomar un curso de programacin.
08 Reto Zap Escribir un juego de Arcade donde se trate de hacer clic sobre un objetivo mvil.
09 Ejercicio 01 Puntuaciones de golf Calcular las puntuaciones de cuatro jugadores de golf.
09 Ejercicio 02 Cuadrado mgico Juego del cuadrado mgico. Construir un cuadro mgico de 3 x 3.
09 Reto Lanzar la moneda Dejar que la computadora lance una moneda varias veces.
10 Ejercicio 01 Contar conejos Cunto podra crecer la poblacin de conejos si vivieran para siempre?
10 Ejercicio 02 Nmeros primos Calcular nmeros primos. 10 Reto Roth IRA Escribir una calculadora de Roth IRA.
11 Ejercicio 01 Tiro al blanco Tratar de dar en el blanco en tiro con arco.
11 Ejercicio 02 En seguida Contar lanzamientos de moneda idnticos consecutivos.
11 Reto Calculadora GPA Calcular un promedio de calificaciones.
12 Ejercicio 01 Canadiense Convertir las unidades canadienses de medida a americanas y viceversa.
12 Ejercicio 02 Adivinador Con base en el nmero de vocales en la pregunta, generar una respuesta aleatoria.
12 Reto El gato y el ratn El gato persigue al ratn hasta que lo atrapa o el ratn escapa.
Reglas del Cdigo Control de Tareas de Alumnos Pgina 317 de 321 Seguimiento de tareas del alumno del curso Reglas del Cdigo No. de tarea Titulo de la tarea Fecha compromiso Terminado 01 Ejercicio 01 Computacin cotidiana 01 Ejercicio 02 Trabajos de informtica 01 Reto Nada 02 Ejercicio 01 Hola, mundo 02 Ejercicio 02 Mi nombre es 02 Reto Comida rpida 03 Ejercicio 01 Empacar para el viaje 03 Ejercicio 02 Lavar los platos 03 Reto Pecera 04 Ejercicio 01 Quin es quin 04 Ejercicio 02 Precio de pizza 04 Reto El gato 05 Ejercicio 01 Arco iris 05 Ejercicio 02 Medidor de viaje 05 Reto Flores 06 Ejercicio 01 Parte de Pi 06 Ejercicio 02 Salto de rana 06 Reto Bichos 07 Ejercicio 01 Costo de la gasolina 07 Ejercicio 02 Corregir un programa 07 Reto Calculadora de volumen 08 Ejercicio 01 Ideas de regalo 08 Ejercicio 02 Encuesta de aptitud en programacin
08 Reto Zap 09 Ejercicio 01 Marcadores de golf 09 Ejercicio 02 Cuadrado mgico 09 Reto Lanzar la moneda 10 Ejercicio 01 Contar conejos 10 Ejercicio 02 Nmeros primos 10 Reto Roth IRA 11 Ejercicio 01 Tiro en blanco 11 Ejercicio 02 En seguida 11 Reto Calculadora del promedio de calificaciones
Reglas del Cdigo Control de Tareas de Alumnos Pgina 318 de 321 12 Ejercicio 01 Conversin a canadiense 12 Ejercicio 02 Adivino 12 Reto El gato y el ratn
Reglas del Cdigo Control de Tareas de Alumnos 319 Reglas del Cdigo Introduccin a la programacin con Visual Studio.NET
Nombre de la tarea Descripcin Habilidades requeridas 01 Ejercicio 01 Computacin cotidiana Mencionar por lo menos cuatro ejemplos que demuestran que las computadoras forman parte de la vida cotidiana. Internet Browser 01 Ejercicio 02 Trabajos de informtica El uso de Internet o de otros recursos determina el salario inicial de los profesionistas de la tecnologa de la informacin en tu localidad. Internet Browser 01 Reto Ninguno No hay Reto para la unidad 01. Ninguna 02 Ejercicio 01 Hello World Escribir un programa llamado Hello World. Visual Studio 02 Ejercicio 02 Mi nombre es Escribir un programa llamado Mi Nombre es. Visual Studio 02 Reto Comida rpida Desplegar imgenes de comida rpida. Aadir botones a un formato. Se da el cdigo. 03 Ejercicio 01 Empacar para el viaje Escribir un seudo cdigo para describir los pasos requeridos para empacar para tu viaje. Procesador Word. Pensamiento lgico. 03 Ejercicio 02 Lavar los trastes Escribir un seudo cdigo para describir los pasos requeridos para lavar los trastes Procesador Word. Pensamiento lgico. 03 Reto Pecera Contar el nmero de peces de cada color, luego calcular que porcentaje representa cada uno. Estudiar cdigo de programa. Identificar comentarios. Comparar con el pseudocdigo. 04 Ejercicio 01 Quin es quin Crear un formato y ajustar las propiedades del objeto colocado en el formato usando la ventana. Propiedades para que puedas aprender ms acerca de tus compaeros de viaje. Colocar objetos en un formato usando Visual Studio. Ajustar propiedades de objeto. Se incluye el cdigo. 04 Ejercicio 02 El precio de la Pizza Ayudar a los clientes a evaluar el precio de su pizza. Colocar objetos en un formato usando Visual Studio. Ajustar propiedades de objeto. Se incluye el cdigo. 04 Reto Gato Completar el programa para el juego Gato. Colocar objetos en un formato usando Visual Studio. Ajustar propiedades de objeto. Se incluye el cdigo. Reglas del Cdigo Control de Tareas de Alumnos 320 05 Ejercicio 01 Arco iris Crear un arco iris. Ajustar propiedades de objeto. Se incluye la mayor parte del cdigo. 05 Ejercicio 02 Medidor de viaje Ajustar un control de desplazamiento usando el cdigo. Ajustar propiedades de objeto. Se incluye la mayor parte del cdigo. 05 Reto Flores Ocultar y mostrar imgenes de flores usando el cdigo. Ajustar propiedades de objeto. Se incluye la mayor parte del cdigo. Nombre de la tarea Descripcin habilidades requeridas 06 Ejercicio 01 Pedazo de Pi Mostrar el numero Pi en diferentes formatos. Definir variables. Asignar valores a las variables y objetos de formato. 06 Ejercicio 02 Rana saltarina Escribir un programa de juego de Rana saltarina. Asignar valores a las variables y objetos de formato. 06 Reto Bicho Encontrar 10 errores en un programa. Depurar un programa. Se incluye el cdigo. 07 Ejercicio 01 Costo de la gasolina Calcular el costo de la gasolina. Usar instrucciones de asignacin y operadores aritmticos. 07 Ejercicio 02 Depurar un programa Usar herramientas de depuracin de Visual Studio.NET. Depurar un programa usando herramientas Visual Studio .Net. Se incluye el cdigo. 07 Reto Calculadora de volumen Calcular el volumen de un cubo y de una esfera. Usar instrucciones de asignacin y operadores aritmticos. 08 Ejercicio 01 Ideas de regalos Sugerir ideas de regalo para los vendedores. Usar instrucciones condicionales simples. 08 Ejercicio 02 Programacin de una encuesta de aptitudes Escribir un programa de encuesta para ayudar a otros alumnos a decidir si deben tomar un curso de programacin. Usar instrucciones condicionales simples. 08 Reto Zap Escribir un juego de Arcade donde se trate de hacer clic sobre un objetivo mvil. Usar instrucciones condicionales simples, un objeto temporalizador, y botones de radio. Mover un objeto de imagen. 09 Ejercicio 01 Puntuaciones de golf Calcular las puntuaciones de cuatro jugadores de golf. Usar instrucciones condicionales complejas y operadores aritmticos. Reglas del Cdigo Control de Tareas de Alumnos 321 09 Ejercicio 02 Cuadrado mgico Juego del cuadrado mgico. Construir un cuadro mgico de 3 x 3. Usar instrucciones condicionales complejas y operadores aritmticos. 09 Reto Lanzar la moneda Dejar que la computadora lance una moneda varias veces. Usar instrucciones condicionales complejas y operadores aritmticos. 10 Ejercicio 01 Contar conejos Cunto podra crecer la poblacin de conejos si vivieran para siempre? Bucles For Next. Instrucciones condicionales. 10 Ejercicio 02 Nmeros primos Calcular nmeros primos. Bucles For Next. Instrucciones condicionales. 10 Reto Roth IRA Escribir una calculadora de Roth IRA. Bucles For Next. Instrucciones condicionales. 11 Ejercicio 01 Tiro al blanco Tratar de dar en el blanco en tiro con arco. Bucles indefinidos Do Until. 11 Ejercicio 02 En seguida Contar lanzamientos de moneda idnticos consecutivos. Bucles indefinidos Do Until. Nombre de la tarea Descripcin habilidades requeridas 11 Reto Calculadora GPA Calcular un promedio de calificaciones. Bucles indefinidos Do Until. Operadores aritmticos. 12 Ejercicio 01 Canadiense Convertir las unidades canadienses de medida a americanas y viceversa. Usar funciones integradas Visual Basic .Net. 12 Ejercicio 02 Adivinador Con base en el nmero de vocales en la pregunta, generar una respuesta aleatoria. Usar funciones integradas Visual Basic .Net. Escribir sus propias funciones. 12 Reto El gato y el ratn El gato persigue al ratn hasta que lo atrapa o el ratn escapa. Usar habilidades de todas las secciones del curso.