Estructura Iterativa Bucle Do - While
En este artículo revisaremos la estructura iterativa bucle Do While en el lenguaje
de programación Microsoft C#. Net, desarrollaremos un ejemplo para entender
mejor el uso de la estructura iterativa bucle Do While utilizando el IDe Microsoft
Visual Studio 2017.
Estructura Iterativa Bucle Do While
Una estructura iterativa Do-While ejecuta al menos una vez su bloque repetitivo,
a diferencia del while o del for que podían no ejecutar el bloque, este bloque de
instrucciones se repetirán siempre que la condición sea verdadera.
Sintáxis Estructura Iterativa Do While
Problema 01
Hacer un programa en c# que permita validar el ingreso de notas (0-20) para “n”
alumnos, es decir mientras la nota este fuera de ese rango el programa deberá
indicar al usuario ingresar la nota, hasta que se ingrese la nota correcta; al final
mostrar el promedio.
Diagrama de Flujo
Formulario:
Código del Botón Nuevo
private void btnnuevo_Click(object sender, EventArgs e)
{
txtCantidad.Clear();
txtPromedio.Clear();
}
Código del Botón Ingresar
private void btncalcular_Click(object sender, EventArgs e)
{
//Declaración de variables
int cantAlumnos,nota;
Double promedio=0;
//Entrada de datos
cantAlumnos = Convert.ToInt32(txtCantidad.Text);
//proceso
//Implementamos el bucle
for (int i = 1; i <= cantAlumnos;i++ )
{
do
{
//Leer la nota con un inputbox
//Agregar la referencia para utilizar el input
box
nota
=Convert.ToInt32(Microsoft.VisualBasic.Interaction.InputBox("Ingres
e la Nota del alumno " + i, "Notas"));
} while (nota <= 0 || nota >= 20);
promedio = promedio + nota;
}
//Salida de información
txtPromedio.Text = Convert.ToString(promedio);
Código del Botón Salir
private void btnsalir_Click(object sender, EventArgs e)
{
Close();
}
Estructura Iterativa bucle for
En este artículo se detalla el uso de estructuras repetitivas o iterativas en el
lenguaje de programación C#, utilizaremos el bucle for en c# para poder mostrar
la tabla aritmética de suma resta multiplicación y división de un número ingresado
previamente, todo utilizando formularios en lenguaje de programación
c#. Utilizando Microsoft visual Studio 2013.
Estructura Iterativa Bucle For
Un 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.
Problema 01:
Hacer un programa en c# que permita mostrar la tabla de sumar, restar, multiplicar
y dividir de un número ingresado previamente.
Diagrama de Flujo:
Formulario:
Diagrama de Flujo Estructura Iterativa Bucle For
Código del botón Calcular
private void btncalcular_Click(object sender, EventArgs e)
{
//Declaración de variables
int numero;
double suma, resta, mult, div;
//Entrada de datos
numero = Convert.ToInt32(txtnumero.Text);
//Proceso
//Dejamos en blanco lo combobox
cbosuma.Items.Clear();
cboresta.Items.Clear();
cbomult.Items.Clear();
cbodiv.Items.Clear();
//Creamos nuestro bucle para poder mostrar la tabla del
1 al 12
for (int i=1;i<=12;i=i+1)
{
suma = numero + i;
resta = numero - i;
mult = numero * i;
div = numero / i;
//Agregar los resultados a los combobox
cbosuma.Items.Add(numero + " + " + i + " = " +
suma);
cboresta.Items.Add(numero + " - " + i + " = " +
resta);
cbomult.Items.Add(numero + " * " + i + " = " +
mult);
cbodiv.Items.Add(numero + " / " + i + " = " + div);
Código del botón Nuevo
private void btnnuevo_Click(object sender, EventArgs e)
{
cbosuma.Items.Clear();
cboresta.Items.Clear();
cbomult.Items.Clear();
cbodiv.Items.Clear();
txtnumero.Clear();
}
Problema 02:
Se tiene un conjunto de calificaciones de un grupo de “n” alumnos, realizar un
algoritmo para calcular la calificación media y la calificación más baja de dicho
grupo.
Código del botón Calcular
private void btncalcular_Click(object sender, EventArgs e)
{
//Declaración de variables
int numalumnos;
double nota, sumanotas, notabaja, promedio;
if(txtnumero.Text!="")
{
//Entrada de datos
numalumnos = Convert.ToInt32(txtnumero.Text);
//Inicializar las variables
sumanotas = 0.0;
notabaja = 20.0;
for(int i=1;i<=numalumnos;i=i+1)
{
nota
=Convert.ToDouble(Microsoft.VisualBasic.Interaction.InputBox("Ingre
se nota del alumno "+i,"Promedio Notas","16",100,100));
sumanotas = sumanotas + nota;
if(nota<notabaja)
{
notabaja = nota;
}
}
promedio = sumanotas / numalumnos;
//Salida de Información
txtpromedio.Text = Convert.ToString(promedio);
txtnotabaja.Text = Convert.ToString(notabaja);
}
else
{
MessageBox.Show("Ingrese un número
válido", "Promedio
Notas",MessageBoxButtons.OK, MessageBoxIcon.Error);
}
Código del botón Nuevo
private void btnnuevo_Click(object sender, EventArgs e)
{
txtnumero.Clear();
txtnotabaja.Clear();
txtpromedio.Clear();
Código del botón Salir
private void btnsalir_Click(object sender, EventArgs e)
{
Close();
}
Problemas propuestos DO - WHILE
Realizar un programa que acumule (sume) valores ingresados por teclado
hasta ingresar el 9999 (no sumar dicho valor, indica que ha finalizado la carga).
Imprimir el valor acumulado e informar si dicho valor es cero, mayor a cero o
menor a cero.
En un banco se procesan datos de las cuentas corrientes de sus clientes. De
cada cuenta corriente se conoce: número de cuenta y saldo actual. El ingreso
de datos debe finalizar al ingresar un valor negativo en el número de cuenta.
Se pide confeccionar un programa que lea los datos de las cuentas corrientes e
informe:
a)De cada cuenta: número de cuenta y estado de la cuenta según su saldo,
sabiendo que:
Estado de la cuenta 'Acreedor' si el saldo es
>0.
'Deudor' si el saldo es <0.
'Nulo' si el saldo es =0.
b) La suma total de los saldos acreedores.
Problemas propuestos FOR
Ha llegado nuevamente la parte fundamental, que es el momento donde uno
desarrolla individualmente un algoritmo para la resolución de un problema.
Confeccionar un programa que lea n pares de datos, cada par de datos
corresponde a la medida de la base y la altura de un triángulo. El programa
deberá informar:
a) De cada triángulo la medida de su base, su altura y su superficie.
b) La cantidad de triángulos cuya superficie es mayor a 12.
Desarrollar un programa que solicite la carga de 10 números e imprima la suma
de los últimos 5 valores ingresados.
Desarrollar un programa que muestre la tabla de multiplicar del 5 (del 5 al 50)
Confeccionar un programa que permita ingresar un valor del 1 al 10 y nos
muestre la tabla de multiplicar del mismo (los primeros 12 términos)
Ejemplo: Si ingreso 3 deberá aparecer en pantalla los valores 3, 6, 9, hasta el
36.
Realizar un programa que lea los lados de n triángulos, e informar:
a) De cada uno de ellos, qué tipo de triángulo es: equilátero (tres lados
iguales), isósceles (dos lados iguales), o escaleno (ningún lado igual)
b) Cantidad de triángulos de cada tipo.
c) Tipo de triángulo que posee menor cantidad.
Escribir un programa que pida ingresar coordenadas (x,y) que representan
puntos en el plano.
Informar cuántos puntos se han ingresado en el primer, segundo, tercer y
cuarto cuadrante. Al comenzar el programa se pide que se ingrese la cantidad
de puntos a procesar.
Se realiza la carga de 10 valores enteros por teclado. Se desea conocer:
a) La cantidad de valores ingresados negativos.
b) La cantidad de valores ingresados positivos.
c) La cantidad de múltiplos de 15.
d) El valor acumulado de los números ingresados que son pares.
Se cuenta con la siguiente información:
Las edades de 5 estudiantes del turno mañana.
Las edades de 6 estudiantes del turno tarde.
Las edades de 11 estudiantes del turno noche.
Las edades de cada estudiante deben ingresarse por teclado.
a) Obtener el promedio de las edades de cada turno (tres promedios)
b) Imprimir dichos promedios (promedio de cada turno)
c) Mostrar por pantalla un mensaje que indique cual de los tres turnos tiene un
promedio de edades mayor.