Ejercicios en Pseudo-Codigo
Ejercicios en Pseudo-Codigo
Ejercicios en Pseudo-Codigo
Solucin: Reescribiendo.
Si A<B Entonces
Si B<= C Entonces
Proceso UNO
Si C<>D Entonces
X1
Caso Contrario
X2
Fin Proceso UNO
Caso _Contrario
X 3
Caso Contrario
X 4
Solucin: sin anidamiento.
Si A<B Entonces
Si B<= C Entonces
Proceso UNO
Si C<D Entonces
X1
Si C>D Entonces
X1
Caso Contrario
X2
Fundamentos de Programacin
Fundamentos de Programacin
Programa ALAMBRE;
Var
ROLLO NUMERO: Hilera;
LONGITUDIND, NROLLOS, NMETROS: Entero;
LONGITUDFIN: Real;
Inicia Alambre
Escribir (Ingrese el numero de rollos);
Leerysaltar (NROLLOS);
Escribir (Ingrese longitud individual de cada rollo.);
Leerysaltar (LONGITUDIND);
LONGITUDFIN NROLLOS *NMETROS;
Si LONGITUDFIN > 75 Entonces
LONGITUDFIN 75
Caso_contrario
Si LONGITUDFIN >300 Entonces
LONGITUDFIN 300
Si LONGITUDFIN > 500 Entonces
LONGITUDFIN 500
Escribirysaltar (El numero de rollos: , NROLLOS);
Escribirysaltar (Metros en rollo: , MROLLOS=;
Escribirysaltar (Longitud inicial :, LONGIND);
Escribirysaltar (Longitud Final: , LONGFIN, metros);
Fin Programa ALAMBRE..
-Una compaa ha decidido dar a sus mejores empleados un bono de gratificacin por
navidad. La compaa usa la siguiente frmula para determinar la gratificacin: se
resta 2/3 de las horas de ausencia a las horas extras trabajadas y se distribuye el
bono de acuerdo a la siguiente tabla:
Programa BONO;
Var
NOMBRE: Hilera;
SOBRET, HEXTRAS, HAUSENCIA: Entero;
GRAFITI: Real;
Inicia Bono
Escribir (Ingrese el nombre del empleado);
Fundamentos de Programacin
Leerysaltar (NOMBRE);
Escribir (Ingrese nmero de horas extras);
Leerysaltar (HEXTRAS);
Escribir (Ingrese nmero de horas de ausencia);
Leerysaltar (HAUSENCIA);
SOBRET REDONDEA (HEXTRAS -2/3 *HAUSENCIA);
Si SOBRET > 40 Entonces
GRATIFI 500
Caso_contrario
Si SOBRET>30 Entonces
GRATIFI400
Caso_contrario
Si SOBRET>20 Entonces
GRATIFI300
Caso_contrario
Si SOBRET>10 Entonces
GRATIFI200
Caso_contrario
Si SOBRET>0 Entonces
GRATIFII100
Caso_contrario
Si SOBRET <= 0 Entonces
GRATIFI0;
Escribirysaltar (El empleado: , NOMBRE);
Escribirysaltar (Ha trabajado: , HEXTRAS=;
Escribirysaltar (Tiene :, HAUSENCIA);
Escribirysaltar (Recibe: , GRATIFI, dlares);
Fin Programa BONO.
-Escribir un programa que encuentre y despliegue los nmeros primos entre uno y
cien. Un nmero primo es divisible entre el mismo y la unidad por lo tanto un numero
primo no puede ser par excepto el dos 2.
Inicio
Variables primo, cont, div, res.
Primo = 1.
Hacer mientras primo<=100
Div =0.
Cont =1.
Hacer Mientras cont <= primo
Fundamentos de Programacin
Fundamentos de Programacin
Tot N;
I 1;
Repetir
Tot 4 + I;
Si (Tot MOD 4 = 0) entonces
Tipo Multiplo de Cuatro;
Casos_contrario
Si (Tot MOD 4 <> 0) Entonces
Tipo No es multiplo;
Hasta_que Tot = N;
Escribirysaltar(El numero mltiplo entre 4 y n es y es ,Tot,Tipo);
Fin Programa Mult_4Num;
21. Escriba un programa que calcule el n-esimo trmino de la serie.
Programa Secuceinci_Numeros;
Var
N, F1, F2; Entero
Inicio Programa Secuceinci_Numeros;
Repetir
Escribir(Ingrese el valor de N);
Leerysaltar(N);
Hasta_que N >= 3;
F1 1;
F2 2;
PARA i 2 a N HACER
Proceso CLCULO
F2 = F1 + F2;
F1 = F2 - F1;
Fundamentos de Programacin
Fundamentos de Programacin
Programa Sueldo;
Var
S, N, I: Entero;
Tipo, Nombre: Hilera;
Inicio Programa Sueldo;
Escribir(Ingrese el nmero de empleados a calcular);
Leerysaltar(N);
Para(I 0 a N) Hacer
Escribir(Ingrese el nombre del empleado);
Leerysaltar(Nombre);
Escribir(Ingrese el sueldo del empleado);
Leerysaltar(S);
Si (S>100) entonces {
Tipo Sueldo Alto;
}Caso_contrario
Si (S>=500 Y S<=100) entonces {
Tipo Sueldo Medio;
} Caso_contrario
Si (S<500) entonces {
Tipo Sueldo Bajo;
}
Escribirysaltar(El nombre es, su sueldo es y el tipo es,Nombre,S,Tipo)
Fin Programa Sueldo.
32. Realizar un programa que ingrese las notas de una materia de un curso
para determinar cuntas notas se encuentran de acuerdo al siguiente cuadro:
NOTA
18<= NOTA <=20
15<= NOTA <= 17
MENSAJE
Sobresaliente
Muy Buena
Fundamentos de Programacin
Buena
Regular
Deficiente
Fuera de Rango
Programa Calcular_notas
Var
n,n1,i: Entero
Inicio Programa Calcular_notas;
Escribir("ingrese cuantas notas va a ingresar");
Leerysaltar(n1);
Para(i0 a n1) Hacer
Escribir("ingrese las notas: ");
Leerysaltar (n);
Si (n>=18 && n <=20) entonces {
Escribirysaltar ("su nota es sobresaliente",n);
}Caso_contrario
Si (n>=15 && n<=17) entonces {
Escribirysaltar ("su nota es muy buena",n);
} Caso_contrario
Si (n>=12 && n<=14){
Escribirysaltar ("su nota es buena",n);
} Caso_contrario
Si (n>=10 && n<=11) entonces {
Escribirysaltar ("su nota es regular",n);
} Caso_contrario
Si (n>=0 && n<=9) entonces {
Escribirysaltar ("su nota es deficiente",n);
Fundamentos de Programacin
} Caso_contrario entonces {
Escribirysaltar ("su nota ingresada esta fuera de rango:",n);
}
Fin Programa Calcular_notas.
35. Escribir un programa que ingrese una hora de la siguiente forma:
HORA=? (*1<=enero<=59)
MINUTO=? (*1<=enero<=59)
SEGUNDO =? (*1<=enero<=59)
Validar la hora, crear un mensaje de error si no es correcta. Imprimir la hora
actual y la correspondiente al segundo siguiente. Considerar el fin del da, de a
hora y del minuto.
Programa HORA
Var
HORA, MINUTO, SEGUNDO: Entero;
FLAG: LOGICO;
INICIA
HORA
REPETIR
ESCRIBIR ( INGRESE HORA);
LEERYSALTAR(HORA);
SI(HORA>=1)Y(HORA<=59)ENTONCES
FLAGVERDADERO
CASO_CONTRARIO
PROCESO
MENSAJE1
FLAG FALSO<
ESCRIBIRYSALTAR(ERROR,1<=HORA<=59)
FIN PROCESO MENSAJE1
HASTA_QUE FLAG= VERDADERO;
REPETIR
Fundamentos de Programacin
MENSAJE2
FLAG FALSO
ESCRIBIRYSALTAR(ERROR,1<=MINUTO<=59)
FIN PROCESO MENSAJE2
REPETIR
ESCRIBIR ( INGRESE SEGUNDO);
LEERYSALTAR(SEGUNDO);
SI(SEGUNDO>=1)Y(SEGUNDO<=59)ENTONCES
FLAGVERDADERO
CASO_CONTRARIO
PROCESO
MENSAJE3
FLAG FALSO
ESCRIBIRYSALTAR(ERROR,1<=SEGUNDO<=59)
FIN PROCESO MENSAJE3
ESCRIBIRYSALTAR (HORA ACTUAL ES: HORA,/, MINUT,/,SEGUNDO);
Fundamentos de Programacin
43.- Realizar un programa que lea una serie de N datos que representan el
peso de un grupo de nios internados en el hospital Vaca Ortiz y que
confeccione la siguiente tabla:
Entre 0.000 y 10.000KG hay7.. Nios
Entre 10.001 y 20.000KG hay 2.. nios
Entre 20.001 y 30.000KG hay 1.. nios
De mas de 30.000KG
hay2..niios
Fundamentos de Programacin
Nios: Entero
Inicia Peso
Inicia_proceso Grupo1
Si (nios<=0.000)Y(nios>=10.000)Entonces
Pertenece al Grupo 1
Sum (Elementos de grupo 1) Div (Numero total de elementos)
Escribirysaltar ( PromedioGrupo1)
Termina_proceso Grupo1
Caso_Contrario
Inicia_proceso Grupo2
Si (nios<=10.001)Y(nios>=20.000)Entonces
Pertenece al Grupo 2
Sum (Elementos de grupo 2) Div (Numero total de elementos)
Escribirysaltar ( PromedioGrupo2)
Termina_proceso Grupo2
Caso_Contrario
Inicia_proceso Grupo3
Si (nios<=20.001)Y(nios>=30.000)Entonces
Pertenece al Grupo 3
Sum (Elementos de grupo 3) Div (Numero total de elementos)
Escribirysaltar ( PromedioGrupo3)
Termina_proceso Grupo3
Caso_Contrario
Inicia_proceso Grupo4
Si (nios>=30.000)Entonces
Pertenece al Grupo 4
Sum (Elementos de grupo 4) Div (Numero total de elementos)
Fundamentos de Programacin
Escribirysaltar ( PromedioGrupo4)
Termina_proceso Grupo4
Inicia Promtotal
SUM (PromedioGrupo1; PromedioGrupo4; PromedioGrupo3; PromedioGrupo4)
DIV (4)
Si(PromedioGrupo1; PromedioGrupo4; PromedioGrupo3; PromedioGrupo4 <=
Promtotal)
Escribirysaltar (Observacion)
Caso_Contrario
Escribirysaltar (Promedio Total)
45.- El equipo de futbol L.D.U ha tenido una buena campaa y desea premiar a
sus jugadores con un aumento de salario en la siguiente temporada. Los
sueldos sern ajsutados de la siguiente forma:
SUELDO ACTUAL
0-900
901-1.300
1.301-1.800
SOBRE 1.800
AUMENTO
20
10
5
NADA
Disear un programa que lea el nombre del jugador y su salario actual y que a
continuacin imprima el nombre, el sueldo actual y el sueldo aumentado.
Tambin, al final de la lista debe proporcionar el monto total de la nmina actual
y el monto total de la nueva nomina que incluye los aumentos mencionados.
Considerar que el equipo tiene como mximo un cuadro de 30 jugadores.
Programa SalarioLDU
VAR
NombreJugador; Hilera
Fundamentos de Programacin
SueldoActual,Sueldoaumentado; Entero
Inicia SalarioLDU
Si (Sueldoactual<=0)Y(Sueldoactual>=900)Entonces
Sum(Sueldoactual+20)
Caso_contrario
Si (Sueldoactual<=900.1)Y(Sueldoactual>=1300)Entonces
Sum(Sueldoactual+10)
Caso_contrario
Si (Sueldoactual<=1301)Y(Sueldoactual>=1800)Entonces
Sum(Sueldoactual+5)
Caso_contrario
Si (Sueldoactual>=1801)Entonces
No se aumenta
Inicia SumaSueldo
Sum(SueldoActual de las 30 personas)
Escribirysaltar (Total sin aumento)
Termina SumaSueldo
Inicia SumaSueldoAumento
Sum(Sueldoactual+20, Sueldoactual+10, Sueldoactual+5)
Escribirysaltar (Total coN aumento)
Termina SumaSueldoaUMENTO