ALGORITMOS 
1. A un trabajador le pagan segun sus horas y una tarifa de pago por 
horas. si la cantidad de horas trabajadas es mayor a 40 horas. la 
tarifa se incrementa en un 50% para las horas extras. calcular el 
salario del trabajador dadas las horas trabajadas y la tarifa. 
variables: horas_trabajadas,tarifa,horas_extras,salario,tarifa_e 
inicio 
leer: horas_trabajadas,tarifa 
si: horas_trabajadas <= 40 entonces 
salario <-- horas_trabajadas * tarifa 
si_no 
tarifa_extra <-- tarifa + 0.50 * tarifa 
horas_extras <-- horas_trabajadas - 40 
salario <-- horas_extras * tarifa_extra + 40 * 
tarifa 
fin_si 
imprimir: salario. 
fin 
2. A un trabajador le descuentan de su sueldo el 10% si su sueldo es 
menor o igual a 1000. por encima de 1000 y hasta 2000 el 5% del 
adicional, y por encima de 2000 el 3% del adicional. calcular el 
descuento y sueldo neto que recibe el trabajador dado su sueldo. 
variables: sueldo,sueldo_neto,descuento 
inicio 
leer: sueldo 
si: sueldo <= 1000 entonces 
descuento <-- sueldo * 0.1 
si_no 
si: sueldo <= 2000 entonces 
descuento <-- (sueldo - 1000) * 0.05 + 1000 * 0.1 
si_no 
descuento <-- (sueldo - 2000) * 0.03 + 1000 * 0.1 
fin_si 
imprimir: descuento. 
fin 
3. Dado un monto calcular el descuento considerando que por encima de 
100 el descuento es el 10% y por debajo de 100 el descuento es el 
2%. 
variables: monto,descuento 
inicio 
leer: monto 
si: monto > 100 entonces 
descuento <-- monto * 10 / 100 
si_no 
descuento <-- monto * 2 / 100 
fin_si 
imprimir: monto, descuento 
fin 
4. Dado un tiempo en segundos, calcular los segundos restantes que le 
correspondan para convertirse exactamente en minutos.
variables: tiempo_seg,minutos,segundos 
inicio 
leer: tiempo_seg 
si minutos <-- tiempo_seg div 60 entonces 
segundos <-- tiempo_seg mod 60 
fin_si 
imprimir: minutos,segundos. 
fin 
5. Dado un tiempo en minutos, calcular los dias, horas y minutos que 
le corresponden. 
variables: tiempo,dias,horas,minutos 
inicio 
leer: tiempo 
si: dias <-- tiempo div 1440 
x <-- tiempo mod 1440 
horas <-- x div 60 
minutos <-- x mod 60 
imprimir: dias,minutos,horas 
fin_si 
fin 
6. Calcular mediante un algoritmo repetitivo la suma de los N 
primeros números naturales. 
Inicio 
Leer : N 
X<--1 
S<--0 
Mientras x<=N hacer 
S<--s+1 
X<--x+1 
Fin _ mientras 
Imprimir: s 
Fin 
7. Modificar el ejercicio 1 para obtener la suma de los salarios de 
todos los trabajadores. 
Inicio 
Leer: N 
X<--1 
S<--0 
Mientras x<=N hacer 
Leer:h, t 
S<--h*t 
Imprimir s 
S<--s+s 
X<--x+1 
Fin _ mientras 
Imprimir: s 
Fin 
8. Dada las horas trabajadas de una persona la tarifa de pago. 
Calcular su salario e imprimirla. 
Inicio
leer: h, t 
S<--h * t 
Imprimir: s 
fin 
(Para dos personas) 
inicio 
leer: h, t 
S<--h * t 
Imprimir s 
Leer: h, t 
S<--h * t 
Imprimir: s 
Fin 
9. Dado N notas de un estudiante calcular: 
a) Cuantas notas tiene desaprobados. 
b) Cuantos aprobados. 
c) El promedio de notas. 
d) El promedio de notas aprobadas y desaprobadas. 
Inicio 
Leer: N 
X<--1 
Cd<--0 
NA <-0 
acum_desap <-0 
acum_ap <- 0 
acum <- 0 
Mientras x<=N hacer 
Leer: not 
Si: not < 10.5 entonces 
CD<--cd+1 
acum_desap <- acum_desap + not 
Sino 
NA <- NA + 1 
acum_ap <- acum_ap + not 
fin _ si 
acum <- acum + not 
x<--x+1 
Fin _ mientras 
prom_ap <- acum_ap /NA 
prom_desap <- acum_desap/CD 
prom <- acum / N 
Imprimir: prom, prom_ap, prom_desap, NA, CD 
Fin 
10. Dado un numero determinar la suma de sus dígitos. 
Inicio 
Leer: n 
S<--0 
Mientras n<>0 hacer 
R<--n mod 10 
S<--s + r 
N<--n div 10 
Fin _ mientras 
Imprimir: s
Fin 
11.Se trata de escribir el algoritmo que permita emitir la factura 
correspondiente a una compra de un articulo determinado, del que 
se adquieren una o varias unidades. El IVA es del 15% y si el 
precio 
bruto ( precio venta mas IVA) es mayor de 50.00 pesetas se debe 
realizar un descuento del 5%. 
Variables: precio, numeros de articulos(Nart), precio venta(Pv), 
descuento(d) 
Inicio 
Leer precio, Nart 
Pv= Precio * Nart 
IVA= Pv * 0.15 
Pb= Pv + IVA 
Si Pb >= 50 entonces 
d= (Pb * 5)/100 
Sino 
d= 0 
Finsi 
Pl= Pb - d 
Escribir Pv, IVA, Pb,d, Pl 
Fin 
12. Realizar un algoritmo que permita pedir 
50 números naturales y determine e imprima cuantos son 
pares, impares, positivos y negativos. 
variables:par(p), impares(im), positivos(pos), negativos(n) 
Inicio 
p= 2 
in= 0 
pos.= 0 
n= 0 
Para x= 1 hasta 50 
Leer n 
Si n mod 2= 0 entonces 
p= p + 1 
Sino 
in= in + 1 
Finsi 
Si n > 0 entonces 
Pos= pos + 1 
Sino 
n= n + 1 
Finsi 
Fin_para 
Escribir p, in, pos, n 
Fin 
13. Desarrollar un algoritmo para calcular e 
imprimir el factorial de un número. 
variables: factorial(f). numero(n) 
Inicio 
f= 1 
Para x= 1 hasta n 
f = f * x 
Fin_para 
Escribir f
Fin 
14. Calcular la media de 100 números e imprimir su resultado. 
variables: suma(s), media 
Inicio 
s= 0 
x= 1 
Mientras x<= 100 hacer 
Leer n 
s = s + n 
x = x + 1 
Finmientras 
media = s /100 
Escribir media 
Fin 
15. Calcular y visualizar la suma y el producto de los 
números pares comprendidos entre 20 y 400 ambos inclusive. 
variables: suma(s), producto(p) 
Inicio 
s = 0 
p = 1 
x = 20 
Mientras x<= 400 hacer 
s = s +1 
p = p *x 
x = x +1 
Finmientras 
Escribir s, p 
Fin

26

  • 1.
    ALGORITMOS 1. Aun trabajador le pagan segun sus horas y una tarifa de pago por horas. si la cantidad de horas trabajadas es mayor a 40 horas. la tarifa se incrementa en un 50% para las horas extras. calcular el salario del trabajador dadas las horas trabajadas y la tarifa. variables: horas_trabajadas,tarifa,horas_extras,salario,tarifa_e inicio leer: horas_trabajadas,tarifa si: horas_trabajadas <= 40 entonces salario <-- horas_trabajadas * tarifa si_no tarifa_extra <-- tarifa + 0.50 * tarifa horas_extras <-- horas_trabajadas - 40 salario <-- horas_extras * tarifa_extra + 40 * tarifa fin_si imprimir: salario. fin 2. A un trabajador le descuentan de su sueldo el 10% si su sueldo es menor o igual a 1000. por encima de 1000 y hasta 2000 el 5% del adicional, y por encima de 2000 el 3% del adicional. calcular el descuento y sueldo neto que recibe el trabajador dado su sueldo. variables: sueldo,sueldo_neto,descuento inicio leer: sueldo si: sueldo <= 1000 entonces descuento <-- sueldo * 0.1 si_no si: sueldo <= 2000 entonces descuento <-- (sueldo - 1000) * 0.05 + 1000 * 0.1 si_no descuento <-- (sueldo - 2000) * 0.03 + 1000 * 0.1 fin_si imprimir: descuento. fin 3. Dado un monto calcular el descuento considerando que por encima de 100 el descuento es el 10% y por debajo de 100 el descuento es el 2%. variables: monto,descuento inicio leer: monto si: monto > 100 entonces descuento <-- monto * 10 / 100 si_no descuento <-- monto * 2 / 100 fin_si imprimir: monto, descuento fin 4. Dado un tiempo en segundos, calcular los segundos restantes que le correspondan para convertirse exactamente en minutos.
  • 2.
    variables: tiempo_seg,minutos,segundos inicio leer: tiempo_seg si minutos <-- tiempo_seg div 60 entonces segundos <-- tiempo_seg mod 60 fin_si imprimir: minutos,segundos. fin 5. Dado un tiempo en minutos, calcular los dias, horas y minutos que le corresponden. variables: tiempo,dias,horas,minutos inicio leer: tiempo si: dias <-- tiempo div 1440 x <-- tiempo mod 1440 horas <-- x div 60 minutos <-- x mod 60 imprimir: dias,minutos,horas fin_si fin 6. Calcular mediante un algoritmo repetitivo la suma de los N primeros números naturales. Inicio Leer : N X<--1 S<--0 Mientras x<=N hacer S<--s+1 X<--x+1 Fin _ mientras Imprimir: s Fin 7. Modificar el ejercicio 1 para obtener la suma de los salarios de todos los trabajadores. Inicio Leer: N X<--1 S<--0 Mientras x<=N hacer Leer:h, t S<--h*t Imprimir s S<--s+s X<--x+1 Fin _ mientras Imprimir: s Fin 8. Dada las horas trabajadas de una persona la tarifa de pago. Calcular su salario e imprimirla. Inicio
  • 3.
    leer: h, t S<--h * t Imprimir: s fin (Para dos personas) inicio leer: h, t S<--h * t Imprimir s Leer: h, t S<--h * t Imprimir: s Fin 9. Dado N notas de un estudiante calcular: a) Cuantas notas tiene desaprobados. b) Cuantos aprobados. c) El promedio de notas. d) El promedio de notas aprobadas y desaprobadas. Inicio Leer: N X<--1 Cd<--0 NA <-0 acum_desap <-0 acum_ap <- 0 acum <- 0 Mientras x<=N hacer Leer: not Si: not < 10.5 entonces CD<--cd+1 acum_desap <- acum_desap + not Sino NA <- NA + 1 acum_ap <- acum_ap + not fin _ si acum <- acum + not x<--x+1 Fin _ mientras prom_ap <- acum_ap /NA prom_desap <- acum_desap/CD prom <- acum / N Imprimir: prom, prom_ap, prom_desap, NA, CD Fin 10. Dado un numero determinar la suma de sus dígitos. Inicio Leer: n S<--0 Mientras n<>0 hacer R<--n mod 10 S<--s + r N<--n div 10 Fin _ mientras Imprimir: s
  • 4.
    Fin 11.Se tratade escribir el algoritmo que permita emitir la factura correspondiente a una compra de un articulo determinado, del que se adquieren una o varias unidades. El IVA es del 15% y si el precio bruto ( precio venta mas IVA) es mayor de 50.00 pesetas se debe realizar un descuento del 5%. Variables: precio, numeros de articulos(Nart), precio venta(Pv), descuento(d) Inicio Leer precio, Nart Pv= Precio * Nart IVA= Pv * 0.15 Pb= Pv + IVA Si Pb >= 50 entonces d= (Pb * 5)/100 Sino d= 0 Finsi Pl= Pb - d Escribir Pv, IVA, Pb,d, Pl Fin 12. Realizar un algoritmo que permita pedir 50 números naturales y determine e imprima cuantos son pares, impares, positivos y negativos. variables:par(p), impares(im), positivos(pos), negativos(n) Inicio p= 2 in= 0 pos.= 0 n= 0 Para x= 1 hasta 50 Leer n Si n mod 2= 0 entonces p= p + 1 Sino in= in + 1 Finsi Si n > 0 entonces Pos= pos + 1 Sino n= n + 1 Finsi Fin_para Escribir p, in, pos, n Fin 13. Desarrollar un algoritmo para calcular e imprimir el factorial de un número. variables: factorial(f). numero(n) Inicio f= 1 Para x= 1 hasta n f = f * x Fin_para Escribir f
  • 5.
    Fin 14. Calcularla media de 100 números e imprimir su resultado. variables: suma(s), media Inicio s= 0 x= 1 Mientras x<= 100 hacer Leer n s = s + n x = x + 1 Finmientras media = s /100 Escribir media Fin 15. Calcular y visualizar la suma y el producto de los números pares comprendidos entre 20 y 400 ambos inclusive. variables: suma(s), producto(p) Inicio s = 0 p = 1 x = 20 Mientras x<= 400 hacer s = s +1 p = p *x x = x +1 Finmientras Escribir s, p Fin