TRABAJO DE ESTRUCTURA DE PROGRAMACION ANDERS GIUSEPPE DELGADO MARTINEZ JOSEPH LEANDRO MEÑACA GAVIRIA UNIVERSIDAD LIBRE SECCIONAL CALI INGENIERIA INDUSTRIAL CALI 2012
Dec 10, 2015
TRABAJO DE ESTRUCTURA DE PROGRAMACION
ANDERS GIUSEPPE DELGADO MARTINEZ
JOSEPH LEANDRO MEÑACA GAVIRIA
UNIVERSIDAD LIBRE SECCIONAL CALI
INGENIERIA INDUSTRIAL
CALI
2012
TRABAJO DE ESTRUCTURAS DE PROGRAMACION
ANDERS GIUSEPPE DELGADO MARTINEZ
JOSEPH LEANDRO MEÑACA GAVIRIA
INGENIERO FABIAN CASTILLO
UNIVERSIDAD LIBRE SECCIONAL CALI
INGENIERIA INDUSTRIAL
CALI
2012
1. Calcular el total de una venta en un supermercado. El usuario debe indicar el nombre del producto, el precio por unidad y el nº de unidades, el programa debe generar por pantalla el nombre del producto, el nº de unidades vendidas y el precio total.
Algoritmo
Inicio
Escribir “digite el nombre del producto”
Leer nombreproducto
Escribir “digite el precio del producto”
Leer preciounidad
Escribir “digite el numero de unidades”
Leer unidades
Leer totalpagar
totalpagar = 0
totalpagar = preciounidad * unidades
Escribir “el nombre del producto es”
Escribir nombreproducto
Escribir “el numero de unidades son”
Escribir unidades
Escribir “el total a pagar es”
Escribir totalpagar
Fin
Diagrama de Flujo
Programa en c#
Console.WriteLine("digite el nombre del producto"); string nombreproducto = Console.ReadLine(); Console.WriteLine("digite el precio del producto"); int preciounidad = int.Parse(Console.ReadLine()); Console.WriteLine("digite el numero de unidades"); int unidades = int.Parse(Console.ReadLine()); int totalpagar = 0;
totalpagar = preciounidad * unidades;
Console.WriteLine("el nombre del producto es");
Console.WriteLine(nombreproducto); Console.WriteLine("el numero de unidades son"); Console.WriteLine(unidades); Console.WriteLine("el total a pagar es"); Console.WriteLine(totalpagar); Console.ReadKey();
Inicio
Leernombreproducto, preciounidad, unidades
totalpagar
totalpagar = preciounidad * unidades
Imprimir
nombreproducto, unidades, totalpagar
Fin
2. Calcular la nómina de un trabajador de la siguiente manera. El trabajador cobra un precio fijo por hora y se le retiene un 5% en concepto de rete-fuente. El programa debe pedir el nombre del trabajador, las horas trabajadas y el precio que cobra por hora. Como salida debe imprimir el sueldo inicial, la retención y el sueldo neto.
Algoritmo
Inicio
Leer nombretrabajador
Leer horast
Leer phoras
Leer sueldoneto
Leer sueldoinicial
Leer totalretencion
sueldoinicial = phoras*horast
totalretencion = sueldoinicial*0.05
sueldoneto = sueldoinicial – totalretencion
Escribir “el sueldo inicial es”
Escribir sueldoinicial
Escribir “el sueldo neto es”
Escribir sueldoneto
Escribir “la retefuente es”
Escribir totalretencion
Fin
Diagrama de Flujo
Inicio
Leer
Nombretrabajador, horast, phoras,
totalretencion = sueldoinicial*0.05
sueldoinicial = phoras*horast
sueldoneto = sueldoinicial – totalretencion
Imprimir
Sueldoinicial, sueldoneto, totalretencion
Fin
Programa en c#
Console.WriteLine("digite el nombre del trabajador"); string nombretrabajador=Console.ReadLine(); Console.WriteLine("digite el numero de horas trabajadas"); int horast=int.Parse(Console.ReadLine()); Console.WriteLine("digite el lo que se gana en una hora"); int phoras=int.Parse(Console.ReadLine()); double sueldoneto; int sueldoinicial; double totalretencion;
sueldoinicial = phoras * horast; totalretencion=sueldoinicial*0.05; sueldoneto = sueldoinicial - totalretencion;
Console.WriteLine("el sueldo inicial es"); Console.WriteLine(sueldoinicial);
3. Dado el número del mes, y la información del año calcule si el año es bisiesto y saque por pantalla el número de días del mes.
Algoritmo
INICIO
Leer numeromes
Leer anio
Si numeromes = 2 ENTONCES
Si anio % 4 = 0 ENTONCES
Si anio % 100 = 0 ENTONCES
Si anio % 400 = 0 ENTONCES
bici = 1
FIN SI
SI NO
bici = 0
FIN SI NO
FIN SI
SI NO
bici = 1
FIN SI NO
FIN SI
SI NO
bici = 0
FIN SI NO
Si bici = 1 ENTONCES
dia = 29
FIN SI
SI NO
dia = 28
FIN SI NO
FIN SI
SI NO
Si numeromes = 4 OR numeromes = 6 OR numeromes = 9 OR numeromes = 11 ENTONCES
dia = 30
FIN SI
SI NO
dia = 31
FIN SI NO
FIN SI NO
Escriba dia
FIN
Diagrama de Flujo
Programa en c#
int bici; int dia; Console.WriteLine("Digite Numero Mes"); int numeromes = int.Parse(Console.ReadLine()); Console.WriteLine("Digite El año"); int anio = int.Parse(Console.ReadLine());
if (numeromes == 2) { if (anio % 4 == 0) { if (anio % 100 == 0) { if (anio % 400 == 0) { bici = 1; }
else { bici = 0; }
} else { bici = 1; } }
else { bici = 0; }
if (bici == 1) { dia = 29;
}
else { dia = 28; }
}
else { if (numeromes == 4 || numeromes == 6 || numeromes == 9 || numeromes == 11) { dia = 30; }
else {
dia = 31; }
} Console.WriteLine("El mes " + numeromes + " del año " + anio + " tiene " + dia + " dias."); Console.ReadKey();
En los siguientes casos se cuenta con el diagrama de flujo, se debe describir el problema, realizar el algoritmo y el programa en C#
5.
Algoritmo
Inicio
Leer base
Leer altura
Si base>0 AND altura>0 entonces:
area = base*altura
perímetro = 2*base+2*altura
Escribir “el área es” área y “el perímetro es” prerimetro
Si no
Escribir “Datos incorrectos”
Fin
Diagrama de Flujo
Programa en c#
double basse; double altura; Console.WriteLine("digite base"); basse = double.Parse(Console.ReadLine()); Console.WriteLine("digite altura"); altura = double.Parse(Console.ReadLine());
if (basse > 0 && altura > 0) { double area = basse * altura; double perimetro = 2 * basse + 2 * altura; Console.WriteLine("el area es"); Console.WriteLine(area); Console.WriteLine("el perimetro es"); Console.WriteLine(perimetro); } else { Console.WriteLine("datos incorrectos"); } Console.ReadKey();
6.
Algoritmo
Inicio
Leer Cal1, Cal2, Cal3, Cal4
Prom = (Cal1 + Cal2 + Cal3 + Cal4)/4
Si prom > 60 entonces:
Escribir “Pasaste con un promedio de”, prom
Si no:
Escribir “Reprobaste con un promedio de”, prom
Fin
Diagrama de Flujo
Programa en c#
Console.WriteLine("digite calificacion 1"); double Cal1 = double.Parse(Console.ReadLine()); Console.WriteLine("digite calificacion 2"); double Cal2 = double.Parse(Console.ReadLine()); Console.WriteLine("digite calificacion 3"); double Cal3 = double.Parse(Console.ReadLine()); Console.WriteLine("digite calificacion 4"); double Cal4 = double.Parse(Console.ReadLine()); double prom = (Cal1 + Cal2 + Cal3 + Cal4) / 4;
if (prom > 60) { Console.WriteLine("Pasaste con un promedio de"); Console.WriteLine(prom); }
else { Console.WriteLine("reprobaste con un promedio de"); Console.WriteLine(prom); } Console.ReadKey();
En los siguientes casos se cuenta con el algoritmo, se debe describir el problema, realizar el diagrama de flujo y programa en C#
7.
Algoritmo
Inicio Leer nombre, hora, precio_hora salario_bruto = horas * precio_hora retefuente = 0.1 *salario_bruto salario_neto = salario_bruto - tasa Escribir nombre, salario_bruto, tasa, salario_netoFin
Diagrama de Flujo
Programa en c#
Console.WriteLine("digite el nombre del trabajador"); string nombre = (Console.ReadLine()); Console.WriteLine("digite el numero de horas trabajadas"); double horas = double.Parse(Console.ReadLine()); Console.WriteLine("digite el precio de la hora"); double precio_hora = double.Parse(Console.ReadLine());
double salario_bruto = horas * precio_hora; double retefuente = 0.1*salario_bruto; double salario_neto = salario_bruto - retefuente;
Console.WriteLine(nombre); Console.WriteLine(salario_bruto); Console.WriteLine(retefuente); Console.WriteLine(salario_neto); Console.ReadKey();
Inicio
Leernombre, hora, precio_hora
salario_bruto ← horas * precio_hora
retefuente ←0.5 * salario_bruto
salario_neto ← salario_bruto - retefuente
Imprimirnombre, salario_bruto, retefuente, salario_neto
Fin
8.
Algoritmo
INICIO
a <-- 3, b <-- 2 : enteros
x , y <-- 1.42 : reales
s <-- false, t <-- true : booleanos
cont <-- 0, sum <-- 0, num : enteros
escribir "Ingrese un numero del 1 al 3 : "
leer num
escribir "ingrese un numero real entre 0.0 y 1.0 : "
leer x
SI (num >= 1 y num <= 3) ENTONCES
a <-- a * num
MIENTRAS(a mayor que cero) HACER
b <-- b + 2
cont <-- cont + 1
x <-- x + y
a <-- a – 1
FIN MIENTRAS
escribir "valor de a : " + a
escribir "valor de b : " + b
escribir "el ciclo realizo " + cont + "iteraciones"
SINO
escribir "a y b tomaran valores arbitrarios..."
a <-- a + 1
b <-- b + 3 * a /* al traducir dejar dos sentencias de asignación que realicen lo mismo */
a <-- a + 2 * b
b <-- b + 1
FIN SI
MIENTRAS (cont > 0) HACER
a <-- a + cont
cont <-- cont – 2
FIN MIENTRAS
SI ( a + b es par ) ENTONCES
x <-- (a + b + 1) / 2
y <-- 2 * x / y
s <-- s AND t OR NOT t
t <-- NOT s OR t
SI (t es igual a true OR y mayor que 3.14) ENTONCES
a <-- y
y <-- a / 2
SINO
b <-- b + 1
a <-- a - 2 * b
FIN SI
SINO
escribir "para practicar TRAZA caer aqui no sirve de nada.."
FIN SI
escribir "a + b vale : " + (a + b)
escribir "s vale " + s + "y t vale : " + t
escribir "x vale " + x + "e y vale " + y
escribir "FIN"
Diagrama de Flujo
Programa en c#
double a, b; double y; bool s; bool t; int cont; a = 3; b = 2; y = 1.42; s = false; t = true; cont = 0; Console.WriteLine("ingrse un numero real entre 1 al 3"); int numero = int.Parse(Console.ReadLine()); Console.WriteLine("ingrse un numero real entre 0.0 al 1.0"); double x = double.Parse(Console.ReadLine()); if (numero >= 1 && numero <= 3) {
a = a * numero; while (a > 0) { b = b + 2; cont = cont + 1; x = x + y; a = a - 1; }
Console.WriteLine("valor de a es " + a); Console.WriteLine("valor de b es " + b); Console.WriteLine("el ciclo realizo " + cont + " iteraciones"); }
else {
Console.WriteLine("a y b tomaron valores arbitrarios..."); a = a + 1; b = b + 3 * a; a = a + 2 * b; b = b + 1; } while (cont > 0) { a = a + cont; cont = cont - 2; }
if ((a + b) % 2 == 0)
{
x = (a + b + 1) / 2; y = 2 * x / y; s = s && t || !t; t = !s || t; if (t == true || y > 3.14) {
a = y; y = a / 2; }
else {
b = b + 1; a = a - 2 * b;
} Console.WriteLine("para practicar TRAZA caer aqui no sirve de nada..");
} Console.WriteLine("a + b vale : " + (a + b)); Console.WriteLine("s vale " + s + " y t vale : " + t); Console.WriteLine("x vale " + x + " e y vale " + y); Console.WriteLine("FIN"); Console.ReadKey();