Anda di halaman 1dari 12

PROBLEMAS PARA DESARROLLAR ALGORITMOS

1. Imprima su nombre, sexo, edad y estado civil.


Inicio
Lea nombre
Lea sexo
Lea edad
Lea est.civil
Imprimir nombre
Imprimir sexo
Imprimir edad
Imprimir est.civil
Fin
2. Lea de un mismo registro el nombre y la edad de cualquier persona, e imprima tanto el
nombre como la edad.
Inicio
Lea dat.persona
Edad = Ao.hoy Ao.nac
Imprimir nombre
Imprimir Edad
Fin
3. Lea de un mismo registro el nombre y la edad de cualquier persona e imprima, slo si es
mayor de edad, el nombre de la persona.
Inicio
Lea dat.persona
Edad = Ao.hoy Ao.nac
Si (Edad>17) entonces
Imprimir nombre
Fin Si
Fin

4. Lea de un mismo registro el nombre y la edad de cualquier persona e imprima slo si la


persona es mayor de edad, el nombre de la persona, de lo contrario, imprima un mensaje
que diga: no puede votar.
Inicio
Lea dat.persona
Edad = Ao.hoy Ao.nac
Si (Edad > 17) entonces
Imprimir nombre
Sino
Imprimir no puede votar
Fin
5. Lea de un mismo registro el nombre, la edad y sexo de cualquier persona e imprima, slo
si la persona es de sexo masculino y mayor de edad, el nombre de la persona.
NOTA: Suponga que el registro que se lee tiene grabado, en el campo denominado sexo
el nmero 1 en vez de la palabra masculino el 2 en vez de la palabra femenino.
Inicio
Lea dat.persona
Edad = Ao.hoy Ao.nac
Si (sexo=1) entonces
Si (Edad > 17) entonces
Imprimir nombre
Fin Si
Fin Si
Fin
6. Lea de un mismo registro el nombre, la edad, el sexo (1 2) y el estado civil de cualquier
persona e imprima slo si la persona es un hombre soltero mayor de edad, el nombre de la
persona.
NOTA: En el campo de estado civil aparece grabado el 1 en vez de soltero, el nmero
2 en vez de casado el nmero 3 en vez de otro.

Inicio
Lea dat.persona
Edad = Ao.hoy Ao.nac
Si (sexo = M) entonces
Si Est.Civil = S
Si (Edad > 17) entonces
Imprimir nombre
Fin Si
Fin Si
Fin Si
Fin
7. Lea de un registro el nombre, la edad, el sexo y el estado civil de cualquier persona e
imprima, slo si la persona es hombre o mujer menor de edad o es hombre casado de
cualquier edad, el nombre de la persona y un mensaje que diga usted no se manda. En
los dems casos imprima el nombre de la persona solamente.
Inicio
Lea dat.persona
Edad = Ao.hoy Ao.nac
Si (Edad < 18) entonces
Imprimir nombre usted no se manda
Sino
Si (Sexo = M) entonces
Imprimir nombre usted no se manda
Sino
Imprimir nombre
Fin Si

Fin Si
Fin
8. Lea un nmero e imprima el nmero y el valor absoluto del mismo.
Inicio
Lea Num
Si (Num < 0) entonces
Abs = Num*(-1)
Fin Si
Imprimir Num
Imprimir Abs
Fin
9. Lea un nmero y calcule e imprima su raz cuadrada. Si el nmero es negativo imprima el
nmero y un mensaje que diga: tiene raz imaginaria.
Inicio
Lea Num
Si (Num > 0) entonces
Raz = Num
Imprimir Raz
Sino
Imprimir Num tiene raz imaginaria
Fin
10. Lea dos nmero de un mismo registro e imprima slo los positivos.
Inicio
Lea List.num
Si Num1 > 0 entonces

Imprimir Num1
Fin Si
Si Num2 > 0 entonces
Imprimir Num2
Fin Si
Fin
11. Lea dos nmero de un mismo registro e imprima ambos nmeros slo si son positivos.
Inicio
Lea List.num
Si Num1 y Num2 > 0 entonces
Imprimir Num1
Imprimir Num2
Fin Si
Fin
12. Lea dos nmeros de un mismo registro e imprima e imprima ambos nmeros si por lo
menos uno de ellos es positivo.
Inicio
Lea List.num
Si Num1 Num2 > 0 entonces
Imprimir Num1
Imprimir Num2
Fin Si
Fin
13. Lea dos nmeros de un mismo registro e imprima ambos nmeros solo si son de diferente
signo y distintos de cero.
Inicio

Lea List.num
Si (Num1>0 y Num2<0) (Num1<0 y Num2>0) entonces
Imprimir Num1
Imprimir Num2
Fin Si
Fin
14. Lea dos nmero de un mismo registro. Calcule la suma e imprima los nmeros ledos y la
suma.
Inicio
Lea List.num
Suma = Num1 + Num2
Imprimir Num1
Imprimir Num2
Imprimir Suma
Fin
15. Lea dos nmeros de un mismo registro. Calcule la suma de los nmeros. Imprima los
nmeros ledos y slo si su suma es negativa. Imprmala tambin.
Inicio
Lea List.num
Suma = Num1 + Num2
Si Suma<0 entonces
Imprimir Num1
Imprimir Num2
Imprimir Suma
Sino
Imprimir Num1

Imprimir Num2
Fin
16. Lea dos nmeros de un mismo registro y calcule el cociente de dividir el primero por el
segundo. Imprima el cociente. Si el segundo nmero es cero no ejecute el clculo e
imprima un mensaje que diga: La divisin no es posible.
Inicio
Lea List.num
Si Num20 entonces
Cociente = Num1 / Num2
Imprimir Cociente
Sino
Imprimir La divisin no es posible
Fin
17. Leer de un mismo registro el nombre de un empleado, su salario bsico por hora y el
nmero de horas trabajadas en el mes. Calcular su salario mensual e imprimir tanto el
nombre como su salario mensual.
Inicio
Lea Dat.Personal
Sal.Mensual = Sal.Hora * Num.Horas
Imprimir Nombre
Imprimir Sal.Mensual
Fin
18. Leer un nmero y calcular el 5% del nmero ledo. Obtener tanto el nmero como el
porcentaje calculado.
Inicio
Lea Num
Porcent = (Num * 5) / 100

Imprimir Num
Imprimir Porcent
Fin
19. Leer de un registro el nombre de un empleado, su salario bsico por hora, el nmero de
horas trabajadas en el perodo y el porcentaje de retencin en la fuente. Calcular el salario
bruto, el valor de retencin y su salario neto.
Inicio
Lea Dat.personal
Sal.Bruto = Sal.Hora * Num.Horas
Reten = (Sal.Bruto * %Ret) /100
Sal.Net = Sal.Bruto Reten
Imprimir Sal.Bruto
Imprimir Reten
Imprimir Sal.Net
Fin
20. Para un salario bruto hasta de $1,500, no hay retencin. Para un salario bruto de $1,500
hasta $3,000 el porcentaje de retencin es de 5%. Para un salario bruto mayor de $3,000 el
porcentaje de retencin es de 8%. Obtener el nombre del empleado, el salario bruto, el
valor de la retencin y el salario neto. Se debe leer el nombre y el salario.
Inicio
Lea nombre
Lea Sal.Bruto
Si Sal.Bruto > 1500 entonces
Si 1501 <= Sal.Bruto <= 3000 entonces
Ret = (Sal.Bruto * 5) / 100
Sal.Net = Sal.Bruto - Ret
Fin Si

Si Sal.Bruto > 3000 entonces


Ret = (Sal.Bruto * 8) / 100
Sal.Neto = Sal.Bruto - Ret
Fin Si
Imprimir nombre
Imprimir Sal.Bruto
Imprimir Ret
Imprimir Sal.Net
Sino
Imprimir nombre
Imprimir Sal.Bruto
Fin
21. Leer de un registro el nmero de un empleado, el salario bsico por hora y el nmero de
horas trabajadas durante una semana. Calcular el salario neto, teniendo en cuenta que si
el nmero de horas trabajadas durante la semana es mayor de 48, esas horas de ms se
consideran horas extras y tienen un 35% de recargo. Imprima el nombre del empleado y
el salario neto.
Inicio
Leer List.Empleados
Sal.Ext = Sal.Ord + ((Sal.Ord * 35)/100)
Hrs.Ext = Hrs.Ord - 48
Si Hrs.Ext > 0 entonces
Sal.Neto.Semanal = (Hrs.Ord * Sal.Ord) + (Hrs.Ext * Sal.Ext)
Sino
Sal.Neto.Semanal = Hrs.Ord * Sal.Ord
Imprimir nombre
Imprimir Sal.Neto.Semanal

Fin
22. Obtenga los primeros 100 nmero naturales.
Inicio
Num = 0
Mientras Num <= 100 entonces
Num = Num + 1
Imprimir Num
Fin Mientras
Fin
23. Obtener los nmero pares comprendidos entre 1 y 1000.
Inicio
Num = 0
Mientras Num <= 998 entonces
Num = Num + 2
Imprimir Num
Fin Mientras
Fin
24. Leer de un registro un nmero entero positivo y obtener los mltiplos de tres
comprendidos entre 1 y el nmero ledo.
Inicio
Num.Ini = 0
Cont = 0
Lea Num
Mientras Cont < Num hacer
Cont = Num.Ini + 3

Imprimir Cont
Fin Mientras
Fin
25. Lea los primeros 20 registros de un archivo, cada uno de los cuales contiene un nombre,
imprimir los nombres.
Inicio
Lea Registro
Mientras No.Reg < 21 hacer
Imprimir nombre
Fin Mientras
Fin
26. Leer varios registros cada uno de ellos, conteniendo un nombre. El nmero de estos
registros se encuentra grabado en un registro que precede a los anteriores. Imprimir, cada
uno de los nombres ledos.

27. Leer un conjunto de registros cada uno de ellos conteniendo el cdigo y el nombre de cada
uno de los estudiantes de la universidad. El ltimo registro del conjunto (registro
centinela) contiene el cdigo 99999999 y es utilizado slo para chequear el final de los
registros. Imprima cada uno de los cdigos ledos. Lgicamente la informacin del registro
centinela no se imprime porque no pertenece a ningn estudiante.

28. Imprimir cuatro columnas. En la primera columna, los enteros del 1 al 50. En las otras
columnas, la segunda, la tercera y la cuarta potencia de los enteros de la primera columna.

29. Calcule la suma de los primeros 100 nmeros naturales.

30. Obtener la suma de los nmeros pares comprendidos entre 1 y 100.

Anda mungkin juga menyukai