FACULTAD DE ESTUDIOS TECNOLGICOS ESCUELA DE COMPUTACION CICLO: 02/ 2014 GUIA DE LABORATORIO #02 Nombre de la Practica: Estructuras repetitivas Lugar de Ejecucin: Centro de Computo Tiempo Estimado: 2 horas y 30 minutos Materia: Lenguajes de Programacin 1
I. OBJETIVOS
Que el estudiante sea capaz de: Declarar variables de acuerdo a los requerimientos de datos a manejar Aplicar la sintaxis de escritura de identificadores y comandos en VB.NET Definir todo tipo de expresiones complejas (matemticas y lgicas) en un programa VB.NET Implementar las instrucciones de control repetitiva (For, While, Do) en el cdigo fuente Disear la combinacin apropiada de las diferentes estructuras vistas en el diseo de un programa cualquiera
II. INTRODUCCION TEORICA
Declarar variables de acuerdo a los requerimientos de datos a manejar Es muy importante elegir bien el tipo de dato a la hora de declarar una variable, esto nos ayudar a consumir menos recursos de memoria y lograr mayor eficiencia en nuestras aplicaciones. Como vimos en la prctica anterior cada tipo de dato ocupa cierto espacio en memoria. Por tanto debemos ser cuidadosos al momento de elegir un tipo de dato para almacenar la informacin. Por ejemplo cuando necesitemos almacenar datos que contienen solo nmeros, como por ejemplo un nmero de telfono, un nmero de DUI o ISSS, es mejor declararla de tipo String en vez de tipo Integer o Short, Dado que al declararlos como String estos ocupara en memoria solo la cantidad de bytes necesarios para representar a cada uno de los caracteres que compone la informacin. Pero entonces cuando debemos declarar variables de tipo numrico, sencillo lo haremos solo cuando necesitemos almacenar datos con los cuales haremos operaciones o clculos matemticos con dichas variables. Tambin es necesario al elegir un tipo de dato numrico la cantidad de nmeros que va a almacenar y si estos son de coma flotante o no. Debe de tomar muy en cuenta los rangos de valores que puede tomar cada tipo de dato para hacer la eleccin correcta. Estructuras Repetitivas Permiten ejecutar un conjunto de sentencias repetidamente una cierta cantidad de veces o hasta que se cumpla una determinada condicin. Al conjunto de sentencias se le denomina bucle y a cada repeticin del cuerpo del bucle se denomina iteracin.
Gua # 2: ESTRUCTURAS REPETITIVAS Lenguajes de Programacin 1 2 Visual Basic.Net cuanta con varias instrucciones para el control de repeticiones de bucles, veamos detalladamente cada una de ellas. Instruccin DoLoop Sintaxis: Do While|Until <condicin> (Instrucciones) [Exit Do] Loop Do (Instrucciones) [Exit Do] Loop While|Until <condicin> Opcin 1 Opcin 2
While|Until son las palabras clave que se utilizan para repetir el bucle. Solamente se puede utilizar una de las dos. Si utiliza While el bucle se repetir hasta que la condicin se falsa. Por el contrario si utiliza Until, el bucle se repetir hasta que la condicin resulte verdadera. La instruccin Exit Do se utiliza para salir del bucle Do. Si usted utiliza la opcin 1, primero se va a evaluar la condicin y, depende de la instruccin que usted utilice, se ejecutar el lazo si la condicin es verdadera (si utiliza While) si la condicin es falsa (si utiliza Until). Mientras que con la opcin 2, el bucle se ejecutar por lo menos una vez.
Instruccin While End While Sintaxis: While <condicin> (Instrucciones) End While
La instruccin While se utiliza para repetir un conjunto de acciones cuando se verifica una condicin.
Instruccin For Next La instruccin For Next se utiliza para repetir un conjunto de instrucciones, un nmero dado de veces. Sintaxis: For contador=<valor inicial> To <valor Final> [Incremento] (Instrucciones) [Exit For] Next [Contador]
Donde: Contador: cualquier variable numrica Valor Inicial: Es el valor inicial del contador Valor Final: Es el valor final del contador Instrucciones: Son las instrucciones que se repetirn un nmero de veces dada. Exit For: Es opcional y se utiliza para salir del bucle For. Next: Marca el final de la instruccin For. Tan pronto como el programa se tope con la instruccin Next, se agregar el valor de incremento al contador y la siguiente iteracin del bucle tendr lugar. Una buena Gua # 2: ESTRUCTURAS REPETITIVAS Lenguajes de Programacin 1 3 prctica de programacin consiste en especificar el nombre del contador en la instruccin Next, pero no es obligacin.
III. MATERIALES Y EQUIPO
Para la realizacin de la gua de prctica se requerir lo siguiente:
No. Requerimiento Cantidad 1 Gua de Laboratorio 2 de LP1 1 2 PC con Microsoft Visual Studio 2012 .NET instalado 1 3 Memoria USB 1 4 Computadora con acceso a Internet 1
IV. PROCEDIMIENTO
Para esta prctica deber crear una carpeta con el nombre de Guia2LP1, en la cual va a guardar todos los archivos de esta prctica.
PARTE 1: APLICACIN UTILIZANDO FOR NEXT
Problema a Solucionar: Calcular y mostrar el factorial de un nmero 1. Cree un nuevo proyecto de Windows en VB.Net 2. Disee el siguiente esquema de objetos (Figura 1.1) y asigne los valores a las propiedades que se muestran.
Figura 1.1 Diseo de objetos del Form1
Propiedades Controles Name Text Enable Form1 frmFactorial Calculando el factorial de un nmero
Nota: puede cambiar las propiedades de formato de texto y el fondo del formulario
Gua # 2: ESTRUCTURAS REPETITIVAS Lenguajes de Programacin 1 4 3. Digite el cdigo detallado a continuacin, en el evento y objeto especificado.
Objeto Evento btnCalcular Click
btnSalir Click Redacte el cdigo para salir!!
4. Guarde los cambios en el proyecto actual y realice pruebas con varios nmeros. Responda estas interrogantes: Cree que los tipos de variables elegidas son las correctas? Si es as agregue las que considere necesarias.
PARTE 2: APLICACIN UTILIZANDO FOR EACH
Problema a solucionar: Crear una aplicacin para encriptar y desencriptar un mensaje utilizando el cdigo de csar. Este cdigo consiste en sustituir cada letra por la que se encuentra alfabticamente n posiciones ms adelante. A esta n se le conoce como llave
1. Agregue un nuevo formulario al proyecto actual y eljalo como formulario de inicio.
2. Disee el siguiente esquema de objetos (ver Figura 1.2) y asigne los valores a las propiedades descritas. Gua # 2: ESTRUCTURAS REPETITIVAS Lenguajes de Programacin 1 5
Figura 1.2 Diseo de objetos del Form2
Propiedades Controles Name Text Enable Checked Multiline Form2 frmCesar Encriptador/Desencriptador de Cdigo de Csar
Gua # 2: ESTRUCTURAS REPETITIVAS Lenguajes de Programacin 1 6 3. Digite el cdigo detallado a continuacin, en el evento y objeto especificado.
Objeto Evento btnEncriptar Click
rdbEncriptar CheckedChanged
rdbDesencriptar CheckedChanged
btnLimpiar Click
btnSalir Click Redacte el cdigo para salir
4. Guarde los cambios en el proyecto actual y realice pruebas con varios textos y llaves.
Gua # 2: ESTRUCTURAS REPETITIVAS Lenguajes de Programacin 1 7 PARTE 3: APLICACIN QUE UTILIZA DO LOOP UNTIL
Problema a solucionar: Crear una aplicacin que dado un nmero lo muestre al revs. 1. Agregue un nuevo formulario al proyecto y eljalo como formulario de inicio.
2. Disee el siguiente esquema de objetos (Figura 1.3) y asigne los valores a las propiedades descritas.
Figura 1.3 Diseo de objetos del Form3
Propiedades Controles Name Text Enable Form3 frmReves Mostrar un nmero al revs
3. Digite el cdigo detallado a continuacin, en el evento y objeto especificado. Objeto Evento btnCalcular Click
Gua # 2: ESTRUCTURAS REPETITIVAS Lenguajes de Programacin 1 8
btnLimpiar Click
4. Agregue el botn Salir
5. Guarde los cambios en el proyecto actual y realice pruebas con varios nmeros.
PARTE 4: APLICACIN UTILIZANDO WHILE END WHILE
Problema a solucionar: Crear una aplicacin que muestre la sucesin de ULAM dado un nmero entero positivo. La conjetura de ULAM comienza con cualquier numero positivo, Si es par se divide entre 2, si es impar, se multiplica por 3 y se le agrega 1, se obtienen enteros sucesivamente hasta obtener un 1
Figura 1.4: Diseo de objetos del Form4
Propiedades Controles Name Text Form4 frmULAM Sucesin de ULAM Label1 lblNumero Sucesin de ULAM: ListBox1 lstLista Button1 btnCalcular &Calcular Button2 btnLimpiar &Limpiar Button3 btnSalir &Salir
1. Agregue un nuevo formulario al proyecto y eljalo como formulario de inicio.
2. Disee el siguiente esquema de objetos (Figura 1.4) y asigne los valores a las propiedades ah descritas.
3. Proceda a digital el cdigo detallado a continuacin, en el evento y objeto especificado.
4. Guarde los cambios en el proyecto actual y realice pruebas con varios nmeros.
5. Valide la entrada de datos, cuando el usuario deja vacio el InputBox
EJERCICIOS A REALIZAR AL FINALIZAR EL PROCEDIMIENTO
Modifique el formulario desarrollado en la Parte 1, agregando otro botn, el cual realice el calculo del factorial, pero con una estructura de control repetitiva diferente al utilizado inicialmente. Realice una aplicacin que verifique si un nmero es primo o no. Recuerde que un nmero primo es aquel que solo puede ser divisible entre el mismo y la unidad. Crear un formulario en donde el usuario pueda introducir 2 nmeros enteros: valor inicial y valor final, y en una lista mostrar los nmeros pares que se encuentran entre ese valor inicial y valor final, y en otra lista mostrar los nmeros impares, tomando en cuenta las mismas consideraciones, debe programar las siguientes validaciones: o Es obligacin que el usuario introduzca un valor inicial y un valor final o El valor final no debe ser menor que el inicial y viceversa o No se aceptan letras
Gua # 2: ESTRUCTURAS REPETITIVAS Lenguajes de Programacin 1 10 V. DISCUSION DE RESULTADOS Elabore un proyecto en el cual presente las solucione de los siguientes problemas, cada uno en un form diferente.
PROBLEMAS A RESOLVER:
1. Elabore una aplicacin que muestre en un control ListBox los nmeros de la serie Fibonacci (0, 1, 1, 2, 3, 5, 8, 13, 21...) generados hasta un nmero introducido por el usuario.
Ejemplo: si el usuario introduce valor 11, la serie a mostrar constara de estos valores: 0, 1, 1, 2, 3, 5 y 8. No se mostrara el 13 por ser mayor que el valor lmite ingresado por usuario.
2. Pedir uno por uno a diferentes nmeros enteros. Por cada vez que ingrese un nuevo valor, se debe ir mostrando al usuario la actualizacin de la siguiente informacin: a) Cuantos nmeros son divisibles entre 2, b) Promedio de los nmeros recibidos, c) Cuantos ceros recibidos hasta el momento.
VII. BIBLIOGRAFA
Bill Evjen, Jason Beres y otros (2002), El libro de Visual Basic.NET (1era Ed), Espaa. Editorial Anaya
Ceballos, Francisco Javier (2006), ENCICLOPEDIA DE MICROSOFT VISUAL BASIC (1er Ed), Mexico, Editorial ALFAOMEGA, ISBN: 9701512189