Está en la página 1de 10

Clase práctica, aplicación de ciclos

a) Resuelva los siguientes problemas, implementando el ciclo más apropiado en la

solución.

1. Una empresa paga a sus empleados en base en las horas trabajadas y salario hora en

la semana. Realice programa para determinar el sueldo semanal de N trabajadores y,

además, calcule cuánto pagó la empresa por los N empleados.

int n;
float pago, horas, sueldo, pago_empresa = 0;

Console.Write("## Ingrese la cantidad de trabajadores: ");


n = int.Parse(Console.ReadLine());

for (int i = 1; i <= n; i++)


{
Console.WriteLine("\n\n---------- {0} ----------", i);
Console.Write("## Ingrese pago por hora del #{0} trabajador: ", i);
pago = float.Parse(Console.ReadLine());

Console.Write("## Ingrese total de horas del #{0} trabajador: ", i);


horas = float.Parse(Console.ReadLine());

sueldo = pago * horas;

Console.WriteLine("#> Pago semanal del #{0} trabajador es: C${1}", n, sueldo);


pago_empresa += sueldo;
}

Console.WriteLine("\n\n## La empresa pago por {0} trabajadores un total de: C${1}", n, pago_empresa);
Console.WriteLine("--- Presione cualquier tecla para finalizar ---");
Console.ReadKey();

2. Un programa calcula la factorial de un número ingresado desde el teclado.

Por ejemplo: 5! = 5 * 4 * 3 * 2 * 1

pág. 1
Double num, result = 0;

Console.Write("## Ingrese el numero a factorizar: ");


num = Double.Parse(Console.ReadLine());

result = num;

for (int i = (int)num - 1; i > 1; i--)


{
result *= i;
}

Console.WriteLine("## El factorial de {0} es: {1}", num, result);


Console.WriteLine("--- Presione cualquier tecla para finalizar ---");
Console.ReadKey();

pág. 2
3. Una persona se encuentra en el kilómetro 70 de una carretera, otra se encuentra en

el km 150, los coches tienen sentido opuesto y tienen la misma velocidad. Realizar

un programa para determinar en qué kilómetro de esa carretera se encontrarán.

Console.WriteLine("ingrese la posición del primer coche en kilómetros:");

int posicioncocheA = int.Parse(Console.ReadLine());

Console.WriteLine("ingrese la posición del segundo coche en kilómetros:");

int posicioncocheB = int.Parse(Console.ReadLine());

int velocidad = 1;

while (posicioncocheA != posicioncocheB)


{
posicioncocheA += velocidad;
posicioncocheB -= velocidad;

Console.WriteLine("los coches se encuentran en el kilómetros " + posicioncocheA + " de la carretera.");


Console.ReadKey();

pág. 3
4. Escribe un programa que diga si un número introducido por teclado es o no primo.

Un número primo es aquel que sólo es divisible entre él mismo y la unidad. 

Console.Write("Introduce un número: ");


int numero = int.Parse(Console.ReadLine());

bool esPrimo = true;


int divisor = 2;

while (divisor <= Math.Sqrt(numero))


{
if (numero % divisor == 0)
{
esPrimo = false;
break;
}
divisor++;
}

if (esPrimo && numero > 1)


{
Console.WriteLine($"{numero} es un número primo.");
}
else
{
Console.WriteLine($"{numero} no es un número primo.");
}

Console.ReadKey();

pág. 4
b) Resuelva los siguientes problemas haciendo uso de ciclos anidados

1. Realice un programa que calcule el promedio (Nota final) de 3 calificaciones

obtenidas por cada estudiante en un grupo de 5.

float n = 0;
float P = 0;
float s = 0;

for (int j = 0; j < 5; j++)


{

s = 0;
for (int i = 1; i <= 3; i++)
{
Console.WriteLine("Ingrese las notas a promediar del estudiante #{0}", (j + 1));
n = float.Parse(Console.ReadLine());

s += n;
}

P = s / 3;

Console.WriteLine("El promedio del estudiante es " + P);

Console.ReadKey();

pág. 5
2. Calcule el costo total a pagar por la compra de n productos solicitando el precio de

cada uno de ellos y la cantidad comprada.

Console.WriteLine("Bienvenido a la calculadora de compras!");

Console.Write("Ingrese la cantidad de productos: ");


int n = int.Parse(Console.ReadLine());

double costoTotal = 0;

for (int i = 1; i <= n; i++)


{
Console.Write("Ingrese el precio del #{0} producto: ", i);
double precio = double.Parse(Console.ReadLine());

Console.Write("Ingrese la cantidad comprada del #{0} producto: ", i);


int cantidad = int.Parse(Console.ReadLine());

double costoProducto = precio * cantidad;


costoTotal += costoProducto;
}

Console.WriteLine("El costo total a pagar es: " + costoTotal);


Console.ReadKey();

pág. 6
3. Calcule la factorial de cada número comprendido entre 4 y 10

int numero = 4;
int factorial;

do
{

factorial = 1;

for (int i = 1; i <= numero; i++)


{
factorial *= i;
}

Console.WriteLine("El factorial de " + numero + " es: " + factorial);

numero++;

} while (numero <= 10);

Console.ReadKey();

pág. 7
4. Construya programa que dibuje el siguiente triángulo de asteriscos.

int r = 1;

do
{
for (int j = 0; j < r; j++)
{
Console.Write("*");
}

Console.WriteLine();

r++;

} while (r <= 5);

Console.ReadKey();

pág. 8
5. Escribir un programa que pida al usuario un número entero y muestre por pantalla

un triángulo rectángulo como el de más abajo.

Console.Write("Ingrese un número entero: ");


int n = int.Parse(Console.ReadLine());

int i = 1;
do
{
for (int j = i; j >= 1; j -= 2)
{
Console.Write(j + " ");
}

Console.WriteLine();

i += 2;
} while (i <= n);

Console.ReadKey();

pág. 9

También podría gustarte