Академический Документы
Профессиональный Документы
Культура Документы
Ejercicio 1:
PSEUDOCODIGO:
Inicio
Ingresar número de mes (NM)
En CASO que NM SEA
Enero, Febrero, Marzo: estación=verano
Abril, Mayo, Junio: estación=otoño
Julio, Agosto, Setiembre: estación=invierno
Octubre, Noviembre, Diciembre: estación=primavera
SINO
Estación=desconocida
Fin
SOLUCIÓN
int nummes;
string mes = "", est = "";
Console.WriteLine("Ingrese el número del mes");
nummes = int.Parse(Console.ReadLine());
switch (nummes)
{
case 1:
mes = "Enero"; break;
case 2:
mes = "Febrero"; break;
case 3:
mes = "Marzo"; break;
case 4:
mes = "Abril"; break;
case 5:
mes = "Mayo"; break;
case 6:
mes = "Junio"; break;
case 7:
mes = "Julio"; break;
case 8:
mes = "Agosto"; break;
case 9:
mes = "Septiembre"; break;
case 10:
mes = "Octubre"; break;
case 11:
mes = "Noviembre"; break;
case 12:
mes = "Diciembre"; break;
}
if ((nummes >= 1) & (nummes <= 3))
{
est = "Verano";
}
if ((nummes >= 4) & (nummes <= 6))
{
est = "Otoño";
}
if ((nummes >= 7) & (nummes <= 9))
{
est = "Invierno";
}
if ((nummes >= 10) & (nummes <= 12))
{
est = "Primavera";
}
Console.WriteLine("El mes es: {0}", mes);
Console.WriteLine("La estación es: {0}", est);
Console.ReadLine();
Ejercicio 2:
MARCA DESCUENTO
3M 10
NCR 10
Sentinel 20
Burroughs 25
GoldStar 30
PSEUDOCODIGO:
Inicio
Escribir marcas a escoger
Ingresar marca, precio, cantidad
Calcular importe bruto
ImpBruto=cantidad*precio
Calcular descuento:
En CASO que Marca SEA
3M : Dscto=ImpBruto*Pdscto1
NCR : Dscto=ImpBruto*Pdscto2
Sentinel: Dscto=ImpBruto*Pdscto3
Burroughs: Dscto=ImpBruto*Pdscto4
GoldStar: Dscto=ImpBruto*Pdscto5
Fin del CASO
Calcular importe
Importe=ImpBruto-Dscto
Escribir ImpBruto, Dscto, Importe
Fin
SOLCUIÓN:
{
int n;
double pu, impb, des=0, impp;
string mar = "";
Console.WriteLine("Ingrese la cantidad de diskettes a comprar");
n = int.Parse(Console.ReadLine());
Console.WriteLine("Ingrese la marca del diskette");
mar = Console.ReadLine();
Console.WriteLine("Ingrese el precio unitario del diskette");
pu = double.Parse(Console.ReadLine());
impb = pu * n;
switch (mar)
{
case "3M":
des = 0.10 * impb; break;
case "NCR":
des = 0.15 * impb; break;
case "Sentinel":
des = 0.20 * impb; break;
case "Burroughs":
des = 0.25 * impb; break;
case "GoldStar":
des = 0.30 * impb; break;
}
impp = impb - des;
Console.WriteLine("Los importes son:");
Console.WriteLine("Importe Bruto: {0}", impb);
Console.WriteLine("Descuento: {0}", des);
Console.WriteLine("Importe a pagar: {0}", impp);
Console.ReadLine();
}
Ejercicio 3:
Determinar el importe a pagar por un alumno de un instituto cuya cuota tiene un porcentaje
de descuento que se establece en la siguiente tabla y está en función al colegio de
procedencia del alumno; asimismo los importes están exonerados por impuestos.
INSTITUTOS
COLEGIO A B C
Nacional 50 40 30
Particular 25 20 15
PSEUDOCODIGO:
Inicio
Ingresar Instituto, Colegio, Cuota
Calcular Descuento:
En CASO que Instituto SEA
A en: CASO que Colegio SEA
Nacional: Dscto=Cuota*Pdna
Particular: Dscto=Cuota*Pdpa
FIN del CASO
B en: CASO que Colegio SEA
Nacional: Dscto=Cuota*PdnB
Particular: Dscto=Cuota*PdpB
FIN del CASO
C en: CASO que Colegio SEA
Nacional: Dscto=Cuota*PdnC
Particular: Dscto=Cuota*PdpC
FIN del CASO
FIN del CASO
Calcular importe:
Importe=Cuota-Dscto
Escribir importe
Fin
SOLCUIÓN:
{
int op1, op2;
double cuota, des = 0, imp;
Console.WriteLine("Ingrese la cuota");
cuota = double.Parse(Console.ReadLine());
Console.WriteLine("MENU");
Console.WriteLine("1..............Nacional");
Console.WriteLine("2............Particular");
Console.WriteLine("Ingrese el número del instituto al que pertenece");
op1 = int.Parse(Console.ReadLine());
Console.WriteLine("MENU");
Console.WriteLine("1..............A");
Console.WriteLine("2..............B");
Console.WriteLine("3..............C");
Console.WriteLine("Ingrese el número de la escuela al que pertenece");
op2 = int.Parse(Console.ReadLine());
if (op1 == 1)
{
switch (op2)
{
case 1:
des = cuota * 0.50; break;
case 2:
des = cuota * 0.40; break;
case 3:
des = cuota * 0.30; break;
}
}
if (op1 == 2)
{
switch (op2)
{
case 1:
des = cuota * 0.25; break;
case 2:
des = cuota * 0.20; break;
case 3:
des = cuota * 0.15; break;
}
}
imp = cuota - des;
Console.WriteLine("El importe a pagar es: {0}", imp);
Console.ReadLine();
}
Ejercicio 4:
Validar el ingreso de una fecha en el formato día, mes, año numéricos determinando si es
correcta o no, mostrando el mensaje correspondiente. Considerar años bisiestos.
PSEUDOCODIGO:
Inicio
Ingresar día, mes, año
Evaluar valores ingresados
SI (Día está en (1...31)) Y
(Mes está en (1...12))Y
(Año está en (1...99)), ENTONCES
Correcto=verdad
SINO
Correcto=falso
FIN del SI
SI correcto es verdad, ENTONCES
Inicio
En CASO que mes SEA
1, 3, 5, 7
8, 10, 12 : Dmáx=31
4, 6, 9, 11 : Dmáx=30
2 : SI Año es bisiesto, ENTONCES
Dmáx=29
SINO
Dmáx=38
FIN del SI
FIN del CASO
SI (Día> Dmáx), ENTONCES
Escribir fecha correcta
SINO
Escribir fecha incorrecta
Fin del SI
Fin
SOLUCIÓN:
{
int mes, año, op = 0;
double dia;
Console.WriteLine("Ingrese el número del año");
año = int.Parse(Console.ReadLine());
if ((año < 1) | (año > 99))
{
Console.WriteLine("No existe ese número de día");
Console.ReadLine();
}
else
{
Console.WriteLine("Ingrese el número del mes");
mes = int.Parse(Console.ReadLine());
if ((mes < 1) | (mes > 12))
{
Console.WriteLine("No existe ese número de mes");
Console.ReadLine();
}
else
{
Console.WriteLine("¿El año es bisiesto?");
Console.WriteLine("1.................SI");
Console.WriteLine("0 u otro número...NO");
op = int.Parse(Console.ReadLine());
Console.WriteLine("Ingrese el número del día");
dia = double.Parse(Console.ReadLine());
if (op == 1)
{
switch (mes)
{
case 1:
if ((dia < 1) | (dia > 31))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 2:
if ((dia < 1) | (dia > 29))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 3:
if ((dia < 1) | (dia > 31))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 4:
if ((dia < 1) | (dia > 30))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 5:
if ((dia < 1) | (dia > 31))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 6:
if ((dia < 1) | (dia > 30))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 7:
if ((dia < 1) | (dia > 31))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 8:
if ((dia < 1) | (dia > 31))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 9:
if ((dia < 1) | (dia > 30))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 10:
if ((dia < 1) | (dia > 31))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 11:
if ((dia < 1) | (dia > 30))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 12:
if ((dia < 1) | (dia > 31))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
}
}
else
{
switch (mes)
{
case 1:
if ((dia < 1) | (dia > 31))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 2:
if ((dia < 1) | (dia > 28))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 3:
if ((dia < 1) | (dia > 31))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 4:
if ((dia < 1) | (dia > 30))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 5:
if ((dia < 1) | (dia > 31))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 6:
if ((dia < 1) | (dia > 30))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 7:
if ((dia < 1) | (dia > 31))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 8:
if ((dia < 1) | (dia > 31))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 9:
if ((dia < 1) | (dia > 30))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 10:
if ((dia < 1) | (dia > 31))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 11:
if ((dia < 1) | (dia > 30))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
case 12:
if ((dia < 1) | (dia > 31))
{
Console.WriteLine("La fecha es incorrecta");
Console.ReadLine();
}
else
{
Console.WriteLine("La fecha es correcta");
Console.ReadLine();
}
break;
}
}
}
}
}
Ejercicio 5:
Evaluar una expresión de 2 operandos enteros de acuerdo al operador que se elija, mostrar
el resultado considerando la posibilidad que en la división se intente dividir por 0 para lo
cual el resultado debe ser también 0 (aun cuando se sabe matemáticamente que una división
por cero tiende al infinito). Los operadores permitidos son solamente lo siguiente.
+ : SUMA
- : RESTA RESTA
* : MULTIPLICACION
& : DIVISION ENTERA
% : RESIDUO
^ : POTENCIA
PSEUDOCODIGO:
Inicio
Escribir operadores a escoger
Ingresar operadores
Ingresar 2 números enteros: O1, O2
Determinar Resultado
En CASO que Operador SEA
Mas : resultado=O1+O2
Menos: resultado=O1-O2
Por : resultado=O1*O2
Entre : si O2<>0 ENTONCES
Resultado = entero (O1/O2)
SINO
Resultado= 0
Fin del si
Residuo: resultado=residuo (O1/O2)
Potencia: resultado= O1 elevado a la potencia del O2)
FIN del CASO
Escribir resultado
Fin
SOLUCIÓN:
{
double a, b, c = 0;
int op = 0;
Console.Clear();
Console.WriteLine(".........MENU...........");
Console.WriteLine("1...................suma");
Console.WriteLine("2..................resta");
Console.WriteLine("3.........multiplicación");
Console.WriteLine("4...............división");
Console.WriteLine("5................residuo");
Console.WriteLine("6...............potencia");
Console.WriteLine("Ingrese el número de la operación a usar");
op = int.Parse(Console.ReadLine());
Console.WriteLine("Ingrese primer número");
a = double.Parse(Console.ReadLine());
Console.WriteLine("Ingrese segundo número");
b = double.Parse(Console.ReadLine());
switch (op)
{
case 1:
c = a + b; break;
case 2:
c = a - b; break;
case 3:
c = a * b; break;
case 4:
if (b == 0)
{
c = 0;
}
else
{
c = a / b;
}
break;
case 5:
c = a % b; break;
case 6:
c = Math.Exp(b * Math.Log(a)); break;
}
Console.WriteLine("El resultado es: {0}", c);
Console.ReadLine();
}
Ejercicio 6:
PSEUDOCODIGO:
Inicio
Ingresar puntaje obtenido: P
Determinar facultad de ingreso:
En CASO que puntaje SEA
70…79 facultad=Administración
80…89 facultad=Industrial
90…99 facultad=Electrónica
100…110 facultad=Sistemas
SINO
Facultad=Ninguna
Fin del CASO
Escribir facultad
Fin
SOLUCIÓN:
{
float nota;
string c = "";
Console.WriteLine("Ingrese el puntaje obtenido en el examen");
nota = float.Parse(Console.ReadLine());
if ((nota >= 70) & (nota < 80))
{
c = "Administración";
}
if ((nota >= 80) & (nota < 90))
{
c = "Industrial";
}
if ((nota >= 90) & (nota < 100))
{
c = "Electrónica";
}
if ((nota >= 100) & (nota <= 110))
{
c = "Sistemas";
}
if ((nota < 70) | (nota > 110))
{
c = "Ninguna";
}
Console.WriteLine("La Facultad a la cual ingresó es: {0}", c);
Console.ReadLine();
}
Ejercicio 7:
SOLUCIÓN:
{
double monc, des = 0, monp;
int op1, op2, op3;
Console.WriteLine("Ingrese monto de compra");
monc = double.Parse(Console.ReadLine());
Console.WriteLine("........MENU.........");
Console.WriteLine("1..............Hombre");
Console.WriteLine("2...............Mujer");
Console.WriteLine("Ingrese el número del sexo al que pertenece");
op1 = int.Parse(Console.ReadLine());
Console.WriteLine("........MENU.........");
Console.WriteLine("1............Nacional");
Console.WriteLine("2...........Importado");
Console.WriteLine("Ingrese el número del origen al que pertenece");
op2 = int.Parse(Console.ReadLine());
Console.WriteLine("........MENU.........");
Console.WriteLine("1...................S");
Console.WriteLine("2...................M");
Console.WriteLine("3...................L");
Console.WriteLine("Ingrese el número del tamaño de prenda al cual que
pertenece");
op3 = int.Parse(Console.ReadLine());
switch (op1)
{
case 1:
switch(op2)
{
case 1:
switch(op3)
{
case 1:
des = 0.10 * monc; break;
case 2:
des = 0.12 * monc; break;
case 3:
des = 0.15 * monc; break;
}
break;
case 2:
switch (op3)
{
case 1:
des = 0.05 * monc; break;
case 2:
des = 0.17 * monc; break;
case 3:
des = 0.10 * monc; break;
}
break;
}
break;
case 2:
switch (op2)
{
case 1:
switch (op3)
{
case 1:
des = 0.15 * monc; break;
case 2:
des = 0.17 * monc; break;
case 3:
des = 0.20 * monc; break;
}
break;
case 2:
switch (op3)
{
case 1:
des = 0.07 * monc; break;
case 2:
des = 0.09 * monc; break;
case 3:
des = 0.12 * monc; break;
}
break;
}
break;
}
monp = monc - des;
Console.WriteLine("Los importes son:");
Console.WriteLine("Monto de compra: {0}", monc);
Console.WriteLine("Descuento: {0}", des);
Console.WriteLine("Monto de pago: {0}", monp);
Console.ReadLine();
}
Ejercicio 8:
Una tienda comercial ofrece ventas al crédito financiadas en tres formas como se indica a
continuación:
TIPO % % NÚMERO
FINANCIAMIENTO INTERES CUOTA INICIAL LETRAS
1 5 60 2
2 10 50 4
3 15 35 6
SOLUCIÓN:
{
double monc, monf1, inte = 0, monf2 = 0, ci = 0, monl = 0;
int op;
Console.WriteLine("Ingrese el monto de compra");
monc = double.Parse(Console.ReadLine());
monf1 = monc + (0.10 * (monc));
Console.WriteLine("...................................MENU..................................");
Console.WriteLine("..TIPO DE FINANCIAMIENTO....% INTERES....%
CUOTA INICIAL....NUMERO LETRAS");
Console.WriteLine(".............1..................5................60...............2......");
Console.WriteLine(".............2.................10................50...............4......");
Console.WriteLine(".............3.................15................35...............6......");
Console.WriteLine("Ingrese el tipo de financiamiento");
op = int.Parse(Console.ReadLine());
switch (op)
{
case 1:
inte = 0.05 * monf1;
monf2 = monf1 + inte;
ci = 0.60 * monf2;
monl = (monf2 - ci) / 2;
break;
case 2:
inte = 0.10 * monf1;
monf2 = monf1 + inte;
ci = 0.50 * monf2;
monl = (monf2 - ci) / 4;
break;
case 3:
inte = 0.15 * monf1;
monf2 = monf1 + inte;
ci = 0.35 * monf2;
monl = (monf2 - ci) / 6;
break;
}
Console.WriteLine("Los importes son:");
Console.WriteLine("Monto de factura: {0}", monf1);
Console.WriteLine("Monto de interés: {0}", inte);
Console.WriteLine("Nuevo monto de factura: {0}", monf2);
Console.WriteLine("Cuota inicial: {0}", ci);
Console.WriteLine("Monto de cada letra por pagar: {0}", monl);
Console.ReadLine();
}
ALGOTIMOS PROPUESTOS
1.- Los dios de la semana se identifican por un número de la siguiente forma: 0 para
Domingo, 1 para Lunes, 2 para Martes, etc. Determinar el día que corresònda a un número
ingresado dando un mensaje adecuado para el caso que el número dado no corresponda a
ningún día de la semana.
PSEUDOCODIGO:
SOLUCIÓN:
2.- En un olimpiada de tiro al blanco se llega a un acuerdo entre los participantes para que
el puntaje obtenido sea calculado en base al puntaje original (0 al 10) alcanzado en el tiro,
multiplicado por un factor:
PUNTAJE ORIGINAL FACTOR
0 0
1..5 6
6..8 9 ..
9,10 10
PSEUDOCODIGO:
SOLUCIÓN:
3.- Una tienda de ropa ha establecido los porcentajes de descuento, que se indican a
continuación, de acuerdo a ciertas características del comprador: nacionalidad (1,2) y del
producto que compra: sexo (H, M), talla (niño, joven, adulto). Se sabe que una persona
puede comprar varios productos por lo que se desea mostrar como resultado lo siguiente:
nombre del comprador, cantidad de productos comprados, importe comprado, importe
descontado y el importe a pagar; para la compra de una persona termina cuando al ingresar
el nombre del comprador se presiona ENTER.
NACIOLNALIDAD H M H M H M
1 5 4 7 9 10 12
2 4 5 9 7 12 10
PSEUDOCODIGO:
SOLUCIÓN:
4.- EL TURBO PASCAL dispone de varios tipos de dato entero que son: ShortInt, Byte,
Integer, Word, LongInt; cada uno de los cuales tiene un rango de valores enteros que lo
definen de la siguiente manera:
Al ingresar la primera letra del tipo de dato mostrar su rango de valores correspondientes
PSEUDOCODIGO:
SOLUCIÓN: