Download Lab 3: Estructuras Repetitivas
Document related concepts
no text concepts found
Transcript
Guía de Laboratorios Lab 3: Estructuras Repetitivas Objetivos Creación de una aplicación Windows en la cual se controles a un formulario y se fijan sus propiedades y código asociado de modo que provean funcionalidad a la aplicación. Caso visto en clases Una vez terminado el Laboratorio el alumno podrá: Codificar estructuras repetitivas de tipo: condición al inicio, al final y de número de iteraciones conocidas de antemano. Comprender la sintaxis C# asociada a las estructuras repetitivas o Bucles Utilizar el control caja de lista (listBox), sus propiedades y métodos. Ejercicio 1 Sumatoria de Números Empleo de un Bucle for para el cálculo de la sumatoria de un conjunto de números entrados por el usuario desde el teclado. Creando una nueva aplicación. 1. En la página de inicio seleccione la opción Crear Proyecto… 2. Cuando se muestre la ventana de plantillas seleccione una aplicación de Formulario para Windows. En la caja de texto Nombre identifique el proyecto como: Sumatoria. 3. Haga clic en Aceptar Creando la Interfaz de Usuario 1. En el formulario que aparece como predeterminado cambie su propiedad Text de Form1 a Sumatoria. (Note que en la barra de título del formulario aparece el texto introducido) 2. Agregue 3 etiquetas, 2 cajas de texto y un botón de forma que el formulario sea semejante al siguiente 3. Coloque las propiedades de los controles tal y como se muestra en la tabla que sigue: Objeto label1 label2 label3 textBox1 textBox2 button Propiedad Text Text Name Name Name Text Name Valor Entre el valor inicial del rango Entre el valor final del rango lblRes txtIni txtFin Sumatoria btnSum Escribiendo el código de la aplicación 1. En el modo de diseño haga doble clic en el botón (btnSum) para dar paso al editor de código en el procedimiento private void btnSum_Click( ) Elaborado por JCSoft Aplicaciones Informáticas Guía de Laboratorios 2. Agregue el código correspondiente al diagrama de flujo de la misma aplicación vista en clase. El código debe verse como sigue: Comprobando la Aplicación 1. Realice la prueba de escritorio siguiente: n1 5 10 n2 10 20 Sum 45 165 Ejercicio 2 Promedio de Números Empleo de un Bucle while para el cálculo del promedio de los números pares resultante de un conjunto de valores entrados por el usuario desde el teclado. Se adiciona un nuevo control en la Aplicación, además de los ya vistos en ejercicios anteriores; la Caja de Lista Añadiendo un nuevo formulario. 1. En la barra de menú haga clic en la opción Proyecto y clic en Agregar Windows Forms… 2. Para el nuevo formulario creado, en la ventana de propiedades cambie el texto del mismo a Promedio de Pares. 3. Agregue controles al formulario de forma que el mismo se a parecido al que se muestra a continuación: 4. Coloque las propiedades de los controles tal y como se muestra en la tabla que sigue: Elaborado por JCSoft Aplicaciones Informáticas Guía de Laboratorios Objeto label1 label2 textBox1 button1 button2 button3 Propiedad Text Name Name Text Name Text Name Text Name Name Valor Entre un número entero lblRes txtNum agregar btnAdd limpiar btnClear promedio de pares btnAverage lstNums listBox1 Escribiendo el código de la aplicación 1. En el modo de diseño haga doble clic en el botón (btnAdd) para dar paso al editor de código en el procedimiento private void btnAdd_Click(object sender, EventArgs e) 2. Agregue el código correspondiente al diagrama de flujo de la misma aplicación vista en clase. El código debe verse como sigue: Nota: Vea que este método sirve para agregar (a través de Add) a la caja de lista (lstNums) el valor introducido en la caja de texto (txtNum). 3. En el modo de diseño haga doble clic, ahora, en el botón (btnClear) para dar paso al editor de código en el procedimiento private void btnClear_Click(object sender, EventArgs e) 4. Agregue el código correspondiente para proveer su funcionalidad. El código debe verse así: Nota: Este método sirve para limpiar la caja de lista (lstNums), es decir eliminar todos los elementos en ella contenidos. 5. Finalmente, en el modo de diseño haga doble clic, ahora, en el botón (btnAverage) para dar paso al editor de código en el procedimiento private void btnAverage_Click(object sender, EventArgs e), de forma que el código sea como el que se muestra: Elaborado por JCSoft Aplicaciones Informáticas Guía de Laboratorios Notas: En esta parte se ha utilizado la propiedad Count de la Caja de Lista para obtener la cantidad de números entrados por el usuario ya que los mismos se iban agregando en el método btnAdd_Click. Comentarios adicionados en el método mediante // Ejecutando la aplicación Haciendo el Formulario Form2 el inicial del proyecto. 1. En el Explorador de Soluciones haga doble clic en Program.cs 2. En la ventana de código que se muestra cambie en el método Main el Application.Run al formulario Form2, según se indica: Comprobando y Guardando la aplicación 1. Realice la prueba de escritorio siguiente: Lista de valores 18, 5, 21, 56, 32, 8 Donde el promedio de los pares será Sum 18 56 32 8 114 28.5 4 4 Preguntas de Control 1. ¿Diga cuales tipos de bucles Ud. conoce? Haga un esquema de los mismos mediante DF y sus respectivos códigos en C#.NET 2. Exprese las siguientes asignaciones utilizando operadores compuestos: a) b) c) d) e) j = j – 5; m = m * (n – 1); a = a / (b + c); z = z + 8; n = n + 1; a) b) c) d) e) 3. Para el código que se muestra a continuación: int vc; Elaborado por JCSoft Aplicaciones Informáticas Guía de Laboratorios for (vc = 4; vc < 15; vc+=7) { Console.WriteLine(vc); } ¿Diga cuál es el valor de la variable de control una vez que termine el bucle? vc: ___ 4. ¿Explique qué diferencias existen entre while, for y do? Resalte el hecho de cuando pueden ejecutarse las sentencias del bucle en cada caso. Ejercicio 3 Números Primos Un número primo es un número entero mayor que 1 el cual es divisible solamente por 1 y por el mismo número. Por ejemplo 2, 3 y 7 son números primos y 4, 6 y 9 no lo son. El operador % (resto de la división entera) puede ser utilizado para determinar si un número es divisible por otro, así como un bucle puede emplearse como generador de los divisores entre 1 y el número dado. Añadiendo un nuevo formulario. 1. En la barra de menú haga clic en la opción Proyecto y clic en Agregar Windows Forms… Para el nuevo formulario creado, en la ventana de propiedades cambie el texto del mismo a Números Primos. 2. Agregue controles al formulario de forma que el mismo se a parecido al que se muestra a continuación: 1. Coloque las propiedades de los controles tal y como se muestra en la tabla que sigue: Objeto label1 textBox1 button Propiedad Text Name Text Name Valor Entre un número entero txtN Analizar si es Primo btnPrimo Seudocódigo 1. El seudocódigo en C# del factorial de un número se muestra a continuación: leer n //número del cual se quiere saber si es primo o no divisor = 1; si n <= 1 mostrar “El número debe ser mayor de 1” de otra forma Elaborado por JCSoft Aplicaciones Informáticas Guía de Laboratorios { repetir incrementar divisor en 1 mientras que la división entera de n y divisor != 0 si divisor = 1 mostrar “El número es primo” de otra forma mostrar “El número NO es primo” } 2. El código de la aplicación es como sigue: 3. Haga doble clic en el botón btnPrimo y escriba el código siguiente: Ejecutando la aplicación Haciendo el Formulario Form2 el inicial del proyecto. 1. En el Explorador de Soluciones haga doble clic en Program.cs 2. En la ventana de código que se muestra cambie en el método Main el Application.Run al formulario Form2, según se indica: Comprobando la aplicación Compruebe la aplicación introduciendo números enteros y corroborando si es o no primo con el resultado mostrado Preguntas de Control 1. La sintaxis de un bucle for en C# es como sigue: for (vc; cond; inc) { Elaborado por JCSoft Aplicaciones Informáticas Guía de Laboratorios //sentencias del Bucle; } donde: vc = variable de control cond= ¿? _______________________________ inc= ¿? _____________________________________ 2. ¿Señale los valores de las señalan? for (i=1; i<=10; i+=6) { … } i= ____ variables (i, j, k) en las salidas de los bucles que se for (j=7; j<10; j+=3) { … } for (k=15; k<1; k-=8) { … } j= ____ k= ______ Elaborado por JCSoft Aplicaciones Informáticas