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