Está en la página 1de 15

UNIVERSIDAD DE EL SALVADOR

FACULTAD DE INGENIERIA Y ARQUITECTURA


ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION I – Ciclo II 2021
GUIA 4: Estructuras Selectivas y Repetitivas en C#

Objetivo General:
Aplicar las estructuras selectivas múltiples, anidadas y repetitivas en C#, haciendo uso de
Windows Forms para la resolución de problemas.

Objetivos Específicos:
 Aplicar las estructuras selectivas múltiples y anidadas para solución de problemas en WF.
 Aplicar los conceptos relativos a las estructuras iterativas creando soluciones a diferentes
problemas.
 Aplicar la sentencia for, while y do while en C#
 Aplicar la programación orientada a eventos

Introducción:

Independientemente del tipo de programación que apliquemos, las estructuras fundamentales


y derivadas aprendidas en la programación Estructurada son imprescindibles para el desarrollo
de soluciones, por lo que en esta guía se brindan ejemplos de las estructuras selectivas y
repetitivas aplicadas a una programación en Windows Forms, en donde se aprecia que su
funcionamiento es igual, por lo que se debe enfocar en el aprendizaje de la POO y la
Programación Orientada a Eventos.

Esta Guía consta de tres partes. En la primera parte, se presenta la aplicación de estructuras
selectivas múltiples y anidadas, en la segunda la aplicación de estructuras repetitivas for,
while y do while de C# y en la tercera parte, se exponen algunos Ejercicios Propuestos para
practicar los conocimientos adquiridos.

Metodología:
Esta Guía está diseñada para que el estudiante, previo a la sesión de laboratorio, desarrolle
los ejemplos propuestos en la Parte I y II, de tal forma que, el día del laboratorio, el docente
resuelva las dudas de los estudiantes y asigne tres ejercicios de la Parte III por pareja de
trabajo, para ser resueltos durante la semana. El desarrollo de los ejercicios restantes es
responsabilidad de los estudiantes.

Parte I: Ejemplos de Estructuras Selectivas Múltiples y Anidadas


a) Estructura Selectiva de Múltiples Alternativas
Esta variante del if se utiliza cuando existe la posibilidad de que la variable que va a ser
evaluada tenga varios valores posibles:

if (condicion1)
{
Bloque de instrucciones que se ejecutan si la condicion1 es true

1
}
else if(condicion2)
{
Bloque de código que se ejecuta si la condicion2 es true
}
else if(condición 3)
{
Bloque de código si la condición es true
}
else
{
Bloque de código que se ejecuta si ninguna condición
previa fue true
por default, este bloque del else puede ser omitido
sin problemas
}

A continuación, se desarrollará un ejemplo con Formularios Windows, para determinar el tipo


de clima, dependiendo de la temperatura ingresada.

Ejemplo 1
Enunciado Problema: Crear un programa en C# que al ingresar el valor de la temperatura,
despliegue el tipo de clima, según la siguiente tabla:

Temperatura Tipo Clima


Temp. < 10 Frío
Temp. Entre 10 y 20 Nublado
Temp. Entre 21 y 30 Calor
Temp. > 30 Tropical

Diseño del Formulario:

2
Programación del Formulario:

3
b) Estructuras Selectivas Anidadas

La propiedad de Anidamiento de un Lenguaje de Programación, permite manejar instrucciones


adentro de otras.

if(condicion1)
{
if(subcondición1)
{
Este bloque de instrucciones corresponde a un if anidado
}
//Termina if (subcondicion1)
}
//Termina if (condicion1)
else
{
Se ejecutará si condicion1 es falsa
}

Ejemplo 2

Determinar si un carácter de entrada es una letra minúscula, una letra mayúscula o un número.
Si estas tres condiciones son falsas (false), el carácter no es un carácter alfanumérico. En
el ejemplo se muestra un mensaje para cada caso:

4
La ejecución se observará de la siguiente manera:

Instrucción switch
Permite ejecutar unos u otros bloques de instrucciones según el valor de una cierta expresión.
Su sintáxis es:
switch (<expresion>)
{
case <valor1>: <bloque1>
break;
case <valor2>: <bloque2>
break; . . .

5
default: <bloqueDefault>
break;
}

Se muestran las partes de una instrucción switch:

Enunciado Problema: Ingresar un número por teclado y determinar su representación en un


día de la semana. Por ejemplo, si se ingresa 3 deberá mostrar miércoles, si se ingresa 7
mostrará domingo; pero si se ingresa un número fuera del rango entre 1 y 7 mostrará el
mensaje: “Error...Ingrese un nuevo número”.

Diseño del Formulario:

Programación del Formulario:

6
Parte III. : Estructuras Repetitivas

Conceptos y Ejemplos de Estructuras Iterativas en C#

7
Las estructuras repetitivas permiten que un procedimiento, instrucción o conjunto de
instrucciones, pueda repetirse mientras se cumpla una condición determinada.

Las estructuras iterativas o repetitivas se utilizan cuando se quiere que un conjunto de


instrucciones se ejecuten un cierto número de veces que puede ser definido o indefinido.

En la POO será menor la cantidad de ocasiones en las cuales se utilicen ciclos repetitivos para
controlar cuando repetir o detener un ciclo, ya que el uso de botones minimiza esa actividad,
sin embargo para tener presente el uso de estas estructura se presenta este repaso.

Se le llama bucle o ciclo a todo proceso que se repite cierto número de veces dentro de un
programa.

Bucle for

Es una estructura de control de repetición que permite escribir de manera eficiente un bucle
que es necesario ejecutar un número determinado de veces.

Un bucle for es útil cuando se sabe cuántas veces una tarea se va a repetir.

La sintáxis de la estructura iterativa for se escribe a continuación:

Para ilustrar estas estructuras repetitivas, considerar los siguientes ejemplos.

Enunciado: Hacer un programa en C# que permita mostrar la suma, resta, multiplicación y


división del 1 al 10 de un número entero ingresado previamente por el usuario.

Diseñar el siguiente formulario:

8
La programación del formulario se ha realizado sin hacer ninguna clase adicional al form ya
que el único valor a guardar sería el número, por lo que el ejemplo es meramente demostrativo
del uso del for:

9
La ejecución del formulario se podría visualizar así: Ingresar el número 7, dar clic al botón
Calcular y luego a cada ComboBox. Finalmente dar clic a Nuevo y Salir:

La tabla Multiplicar se observaría así:

La tabla División, se observaría así:

10
Cuando se utilizan estructuras repetitivas es importante tener claros los siguientes conceptos:

Contador: es una variable entera que se incrementa (+) o decrementa (-). Por ejemplo:

Acumulador: es una variable de cualquier tipo que almacena valores variables. Por ejemplo:

Bucle while

Es una estructura de control iterativa que permite repetir una o más instrucciones mientras la
condición (expresión lógica) sea verdadera. Cuando la condición es falsa, sale del bucle.

La sintáxis de la estructura iterativa while se escribe a continuación:

int i = 1, nota;
int n = Convert.ToInt32(txtn.Text);

while
(i<=n)
{
nota = Convert.ToInt32(txtnota.Text);
i++;

11
}

Para ilustrar esta estructura repetitiva, considerar el siguiente ejemplo.

Enunciado: Haga un programa que reciba un número y que calcule su factorial

Diseño del Formulario:

Programación de la Clase:

Archivo: Factorial.cs
namespace Guia8
{class Factorial
{
private static int numero;
//número al que se le calculará el factorial
public int Numero
{
get
{
return numero;
}
set
{
numero = value;
}
}
public double CalcularFactorial()
{
//Se ha considerado un número de tipo double para guardar el resultado
//del factorial para procesar números más grandes
double factorial = 1;
while (numero != 0)
{
factorial = factorial * numero;
numero = numero - 1;

12
}
return factorial;
}
} }

Programación del Formulario:


Queda como tarea para el estudiante

Bucle do-while

Es una estructura de control iterativa que ejecuta al menos una vez su bloque repetitivo, el cual
se repetirá siempre que la condición sea verdadera.

La sintáxis de la estructura iterativa do-while se escribe a continuación:

do {
nota = Convert.ToInt32(txtnota.Text);

} while (nota<0||nota>10);

Parte 4: Ejercicios Propuestos

Realizar los ejercicios aplicando las estructuras correspondientes con WF.

Estructuras Selectivas

1- Un almacén de escritorios hace los siguientes descuentos: si el cliente compra menos de 5


unidades se le da un descuento del 10% sobre la compra; si el número de unidades es
mayor o igual a cinco, pero menos de 10 se le otorga un 20% y, si son 10 o más se le da un
40%. Hacer un programa que determine cuánto debe pagar un cliente si el valor de cada
escritorio es de $650.000.

2. Se necesita calcular el bono anual de los empleados para lo cual se aplica el siguiente
procedimiento

13
Se ingresa el valor ganado por hora de un empleado. Posteriormente se ingresa el nombre del
empleado, la antigüedad y la cantidad de horas trabajadas en el mes. Se pide calcular el
importe a cobrar teniendo en cuenta que al total que resulta de multiplicar el valor hora por la
cantidad de horas trabajadas, hay que sumarle la cantidad de años trabajados multiplicados
por $30, y al total de todas esas operaciones restarle el 13% en concepto de descuentos.
Imprimir el recibo correspondiente con el nombre, la antigüedad, el valor hora, el total a cobrar
en bruto, el total de descuentos y el valor neto a cobrar.

3. Calcular el total a pagar por la compra de camisas. Si se compran


tres camisas o más se aplica un descuento del 20% sobre el total de la compra y si son menos
de tres camisas un descuento del 10%. El precio varía 10 centavos por color seleccionado:
blanco +0, azul +10, verde +20, amarillo +30, rosa +40, negro +50, rojo +60, naranja +70, otros
+80

4. Construir un programa que calcule el índice de masa corporal de una persona (IMC = peso
[kg] /altura [m]) e indique el estado en el que se encuentra esa persona en función del valor de
IMC:

6. Construir un programa que simule el funcionamiento de una calculadora que puede realizar
las cuatro operaciones aritméticas básicas (suma, resta, producto y división) con valores
numéricos enteros. El usuario debe especificar la operación con el primer carácter del primer
parámetro de la línea de comandos: S o s para la suma, R o r para la resta, P o p para el
producto y D o d para la división. Los valores de los operandos se deben indicar en el segundo
y tercer parámetros.
Nota: Se recomienda el empleo de una sentencia switch

ESTRUCTURAS REPETITIVAS:

1. Calcular el nuevo salario de 15 empleados ingresando en una sola casilla el salario de los
empleados de una empresa, sabiendo que si el salario actual es menor que $1000.00 se le
aumentará el 15% y en caso contrario, se le aumenta el 12%.

2. Calcular el factorial de un número (n!)


3. Determinar si un año es bisiesto o no, despliegue el año y el mensaje que corresponda (es
bisiesto o no es bisiesto). Repetir el proceso 5 veces y trabajar con años de 1900 en
adelante.

14
4. Ingresar una cantidad N de números y de esa cantidad obtener la media, la mediana y la
moda, y mostrar los resultados.
5. Diseñe y codifique un programa que lea 10 números enteros y luego muestre cuantos
valores ingresados fueron múltiplos de 3 y cuantos de 5. Tener en cuenta que hay números
que son múltiplos de 3 y de 5 a la vez; en ese caso, deberá de mostrar los resultados por
separado.

6. Diseñe y codifique el ingreso de 10 valores enteros, con respecto a los cuales, se desea
conocer:

a) La cantidad de valores negativos ingresados.


b) La cantidad de valores positivos ingresados.
c) La cantidad de números que son múltiplos de 15 ingresados.
d) El valor acumulado de los números pares ingresados.

Se pide, que sean mostrados en un dataTable.

7. Diseñe y codifique un programa que calcule el valor de eX y que muestre todos los resultados
en un dataTable.
8. Mostrar el resultado de multiplicar los números del 1 al 20 por el resultado de obtener el
módulo (resto de la división que se obtiene usando el operador % de C) de dicho número
con un número elegido por el usuario.
9. Calcular el número de combinaciones posibles entre dos números enteros positivos: n, x.
Sabiendo que la fórmula es:
Combinaciones = n! Donde n debe ser mayor que x
x!(n-x)!
10. Calcular el aumento de salario para n empleados de una empresa, sabiendo que: Si el
salario es menor a $1000.00 entonces el aumento será del 12%
• Si está comprendido entre $1000.00 y $2500.00, el aumento será del 10%
• Si es mayor a $2500.00, entonces el aumento será del 8%

11. Pedir al usuario un número entre 1 y 9. Una vez y escribir la tabla de multiplicar de ese
número.
12. La conjetura de Ulam afirma que dado un entero y siguiendo los pasos siguientes
siempre se obtiene un 1:
a. Si el número es par se divide por 2.
b. Si es impar se multiplica por 3 y se suma 1.

Se pide un programa que permita al usuario ingresar un número entero y que compruebe
si la conjetura de Ulam es cierta, el programa deberá escribir toda la secuencia hasta
llegar al uno. Por ejemplo, si el usuario introduce un 5 la secuencia sería: 5, 16, 8, 4, 2, 1.

13. Escribir un programa que muestre por pantalla todos los números de tres cifras tales que
la suma de los cuadrados de sus dígitos es igual al cociente de la división entera del
número entre 3.

15

También podría gustarte