EJERCICIOS PROGRAMACIÓN EN PSEINT
1. Qué tipo de datos resulta más adecuado para representar cada uno de los conceptos siguientes:
a) El sueldo de un trabajador.
–Números reales positivos a menos que exista una deuda.
b) La edad de una persona.
-Números reales positivos
c) El número de hijos
-Números reales positivos
d) El estado civil
-Tipo cadena
e) El estado de caducado no de un producto.
-Tipo cadena
f) El número de teléfono.
-Tipo cadena
g) La dirección.
-Tipo cadena
2. Escribir un programa que pida una cantidad en pesos y la convierta en dólares:
Algoritmo conversor_pesos_a_dolares
Escribir "Ingrese el valor en pesos colombianos";
Leer CantPesos
ValorDolares <- CantPesos / 3032.70
Escribir "Precio en Dolares", ValorDolares
FinAlgoritmo
3. A partir del programa anterior escribir uno que pase de pesos a Libras esterlinas, pidiendo
primero cuantos pesos es una libra.
Algoritmo conversor_de_pesos_a_libras
Escribir "Primero ingrese a cuanto equivale una Libra esterlina en Pesos Colombianos"
Leer A
Escribir "Ahora escriba el monto en Pesos Colombianos que quiere convertir en Libra
esterlinas"
Leer CantPesos
ValorLibras <- CantPesos / A
Escribir "Precio en Libras", ValorLibras
FinAlgoritmo
4. Para cada uno de los puntos siguientes escribir un programa que pida los datos necesarios y
Calcule el área y el perímetro de la figura indicada
a) Un cuadrado.
Algoritmo programa_para_hallar_área_y_perímetro_del_cuadrado
Escribir "Ingrese el valor de unos de los lados del cuadrado en centímetros";
Leer L
A<- L*L
P<- L+L+L+L
Escribir “El área de su cuadrado es: “, A “cm^2”;
Escribir "y el perímetro de su cuadrado es: ", P;
FinAlgoritmo
b) Un rectángulo.
Algoritmo programa_para_hallar_área_y_perímetro_del_rectángulo
Escribir "Ingrese el valor de la base del rectángulo en centímetros";
leer B
Escribir "Ingrese el valor de la altura del rectángulo en centímetros";
Leer H
A<- B*H
P<- (H*2) + (B*2)
Escribir “El área de su rectángulo es: “, A "cm^2";
Escribir “y el perímetro de su rectángulo es: ", P;
FinAlgoritmo
c) Un triángulo.
Algoritmo programa_para_hallar_área_y_perímetro_del_triángulo
Escribir "Ingrese el valor de cada uno de los de los lados del triángulo":
Leer E
Leer I
Leer U
P<- E+I+U
Escribir “El perímetro de su rectángulo es: ", P;
Escribir "Para hallar el área ingrese el valor de la base del triángulo en centímetros";
Leer B
Escribir "Ingrese el valor de la altura del triángulo en centímetros";
Leer H
A<- (B*H)/2
Escribir “El área de su triángulo es: “, A "cm^2"
d) Un círculo
Algoritmo programa_para_hallar_área_y_perímetro_del_círculo
Escribir "Primero hallaremos el perímetro de cualquier círculo";
Escribir "Ingrese el valor del radio del círculo en centímetros";
Leer R
P<- 2*(PI*R)
Escribir "El perímetro del círculo es: “, P
Escribir "Ahora hallaremos el área del círculo";
A<- PI*(R*R)
Escribir "El área del círculo es: “, A "cm^2"
FinAlgoritmo
5. Escribir un programa para calcular el importe de una venta en un supermercado. El usuario
debe indicar el nombre del producto, el precio por unidad y el número de unidades y el programa
sacará por pantalla el nombre del producto, el número de unidades vendidas y el precio total.
Preste especial atención a qué tipo de datos resulta más adecuada para cada representar cada
cantidad.
Algoritmo importe_de_la_venta
Escribir "Escriba el nombre del producto";
Leer Producto
Escribir "Ingrese el valor de una unidad del producto";
Leer Unidad
Escribir "Ingrese de cuántas unidades es la venta";
Leer Venta
Total <- Unidad*Venta
Escribir "nombre del producto " producto
Escribir "costo unitario " unidad "$"
Escribir "numero de productos " venta
Escribir "costo total " total "$"
FinAlgoritmo
6. Escribir un programa que calcule la nómina de un trabajador de la manera siguiente. El
trabajador cobra un precio fijo por hora y se le retiene un 5% en concepto de IRPF. El programa
debe pedir el nombre del trabajador, las horas trabajadas y el precio que cobra por hora. Como
salida debe imprimir el sueldo bruto, la retención y el sueldo neto.
Algoritmo nómina
Escribir "Ingrese su nombre"
Leer Mote
Escribir "¿Cuánto dinero gana por hora?"
Leer A
Escribir "¿Cuantas horas son su nómina?"
Leer B
Retención<-A*B*0.05
SalarioNeto<-(A*B)-Retención
SalarioBruto<-(A*B)
Escribir "Salario principal " SalarioBruto "$"
Escribir "Retención del salario " retención "$"
Escribir "Salario final " SalarioNeto “$"
FinAlgoritmo
7. Evaluar las siguientes expresiones:
(a) 5 / 2 + 20 % 6
i. 4.5
(b) 4 * 6 / 2 - 15 / 2
ii. 4.5
(c) 5 * 15 / 2 / (4 - 2)
iii. 18.75
(d) 8 == 16 || 7! = 4 && 4 < 1
iv. Falso
(E) (4 * 3 < 6 || 3 > 5 - 2) && 3 + 2 < 12
v. Falso
8. Suponiendo que a, b, c son variables enteras que tienen asignados los valores a=8, b=3, c=-5
determinar el valor de las siguientes expresiones:
- a) a+b+c = 6
- b) 2 * b + 3 * (a-c) = 45
- c) a/b = 2.666666…
- d) a%b = 2
- e) a/c = -1.6
- f) a%c = 3
- g) a * b /c = -4.8
- h) a * (b/c) = -4.8
- I) (a*c) %b = -1
- j) a * (c%b) = -16
9. Suponiendo que previamente se ha realizado la declaración x=7, y=2: enteros, calcular el valor
de la variable y tras evaluar cada una de las siguientes sentencias de asignación:
y = -2 + --x es igual a y= -2 + (x-1) Y= 4
i. Falso
y += 2 es igual a y=y+2 Y= 4
ii. Falso
y = (y == x) Y=1
iii. Falso
y = y++ - x es igual a y= (y+1)-x Y=-4
iv. Falso
10. Escribir un programa que pida una hora en segundos y la saque por pantalla en el formato
“hh:mm: ss”, es decir horas, minutos y segundos.
11. Escribir un programa que pida dos números y saque el mayor de ellos por pantalla. Una versión
mejorada informará de si los dos números son iguales.
Algoritmo Número_mayor_menor_o_igual
Escribir "Ingrese el primer número";
Leer A
Escribir "Ingrese el segundo número";
Leer B
Si A<B
Mostrar "El número mayor es " B;
FinSi
Si B<A
Mostrar "El número mayor es " A;
FinSi
Si A=B
Mostrar "Los números son iguales ";
FinSi
FinAlgoritmo
12. Escribir un programa que pida un número e indique si se trata de un número par.
Algoritmo número_par_o_impar
Escribir "Escriba una número cualquiera";
Leer A
b<-A%2
Si b=0
Mostrar "el número es par";
SiNo
Mostrar "el número es impar";
FinSi
FinAlgoritmo
13. Escribir un programa que pida una nota e imprima por pantalla la calificación en formato
“Apto” o “No Apto” según si la nota es mayor o menor que 5.
Algoritmo Es_usted_apto
Escribir "Ingrese su nota";
Leer A
Si A>5
Mostrar "Usted es apto";
FinSi
Si A<5
Mostrar "Usted no es apto";
FinSi
Si A=5
Mostrar "Usted es apto pero no se descuide";
FinSi
Si A<0
Mostrar "Usted nunca más será acto";
FinSi
Si A> 10
Mostrar "Esta nota no existe, vuelva a intentarlo";
FinSi
FinAlgoritmo
14. Escribir un programa que lea tres valores enteros y muestre por pantalla el máximo y el
mínimo de ellos.
Algoritmo Maximo_y_minimo_de_tres_números
Escribir "Ingrese el primer número"
Leer A
Escribir "Ingrese el segundo número"
Leer B
Escribir "Ingrese el tercer número"
Leer C
Si C>B y A>C
Mostrar " el valor máximo es " A " y el valor mínimo es " B
FinSi
Si B>C y A>B
Mostrar " el valor máximo es " A " y el valor mínimo es " C
FinSi
Si A>C y B>A
Mostrar " el valor máximo es " B " y el valor mínimo es " C
FinSi
Si C>A y B>C
Mostrar " el valor máximo es " B " y el valor mínimo es " A
FinSi
Si A>B y C>A
Mostrar "el valor máximo es " C " y el valor mínimo es " B
FinSi
Si B>A y C>B
Mostrar "el valor máximo es " C " y el valor mínimo es " A
FinSi
FinAlgoritmo
15. Escribir un programa que pida un número entero y determine si es múltiplo de 2 y de 5.
Algoritmo múltiplo_de_2_o_5
Escribir "Ingrese su número"
Leer A
B<- A%2
C<- A%5
Si B=0 y C=0
Mostrar "El número es múltiplo de 2 y de 5"
FinSi
Si B=0 y C<>0
Mostrar "El número sólo es múltiplo de 2"
FinSi
Si B<>0 y C=0
Mostrar "El número es únicamente múltiplo de 5"
FinSi
Si B<>0 y C<>0
Mostrar "El número no es múltiplo ni de 5 ni de 2"
FinSi
FinAlgoritmo
16. Escribir un programa que pida la nota de un examen (un número real entre 0 y 10) e imprima
por pantalla la calificación en formato “Suspenso”, si la nota es menor que 5, “Aprobado” si está
entre 5 inclusive y 7 sin incluir, “Notable” si está entre 7 inclusive y 9 sin incluir, “Sobresaliente” si
está entre 9 inclusive y 10 sin incluir y “Matrícula de honor” si la nota es igual a 10.
Algoritmo Estado_según_su_nota
Escribir "Igrese su nota (tiene que ser un valor entre 0 y 10)"
Escribir "Si el programa no le muestra su estado es porque anotó una nota menor a 0 ó
mayor a 10"
Leer a
Si a=0
Mostrar "Suspenso"
FinSi
Si a<5 y a>0
Mostrar "Suspenso"
FinSi
Si a=5
Mostrar "Aprobado"
FinSi
Si a>5 y a<9
Mostrar "Aprobado"
FinSi
Si a=7
Mostrar "Notable"
FinSi
Si a>7 y a<9
Mostrar "Notable"
FinSi
Si a>9 y a<10
Mostrar "Sobresaliente"
FinSi
Si a=9
Mostrar "Sobresaliente"
FinSi
Si a=10
Mostrar "Matrícula de honor"
FinSi
FinAlgoritmo
17. Escribir un programa que, dado el nombre o número del mes, y la información de si el año es
bisiesto saque por pantalla el número de días del mes
Algoritmo Número_de_dias_por_mes
Escribir "Ingrese el mes en valor numérico"
Leer a
Si a>12 o a<0
Mostrar "A mí no me engañas, este mes no existe"
FinSi
Si a =1
Mostrar "Enero tiene 31 días"
FinSi
Si a=2
Mostrar “¿El año es bisiesto? "
Mostrar “Ingrese 1 para responder sí o 0 para decir que no"
Leer B
Si B=1
Mostrar "Febrero tiene 29 días"
Sino
Mostrar "Febrero tiene 28 días"
FinSi
FinSi
Si a=3
Mostrar "Marzo tiene 31 días"
FinSi
Si a=4
Mostrar " Abril tiene 30 días"
FinSi
Si a=5
Mostrar "Mayo tiene 31 días"
FinSi
Si a=6
Mostrar "Junio tiene 30 días"
FinSi
Si a =7
Mostrar "Julio tiene 31 días"
FinSi
Si a=8
Mostrar" Agosto tiene 31 días"
FinSi
Si a=9
Mostrar "Septiembre tiene 30 días"
FinSi
Si a=10
Mostrar "Octubre tiene 31 días"
FinSi
Si a=11
Mostrar "Noviembre tiene 30 días"
FinSi
Si a=12
Mostrar "Diciembre tiene 31 días"
FinSi
FinAlgoritmo