Guia Nº4
Ejercicios de algoritmos(resueltos)
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
16.-Hacer un programa que al ingresar un número
de Amstrong nos escriba si es o no es un número de
amstrong, y si no es que indique que vuelva a intentar.
Variables número, número original, digito
INICIO
LEER NÚMERO
Numeró original
Suma 0
Mientras NUMERO < > 0 hacer
dijito <- digito mod 10
Suma <- suma + dijito ^ 3
Numero <- numero mod 10
Si suma = Número _ original Entonces
Escribir "es un numero de amstrong"
Sino
Escribir "no es un numero de amstrong, intente otra vez"
Finsi
Fin
17.-Hacer un programa que registre el nº de créditos de un alumno.
*El número máximo de crédito es 25
*Imprimir número de crédito y total de crédito.
Variables crédito, numero_de_crédito
Inicio
total_de_crédito <- 0
Leer crédito
Si total_de_crédito + crédito < = 25 entonces
Total_de_crédito <- total_de_crédito + crédito
Numero_de_crédito <- número_de_cedito + 1
Fin si
Imprimir Numero_de_crédito, crédito
Fin
18.-Hacer un programa para escribir la primera vocal leída del teclado.
*Se supone que se leen, uno a uno, carácter desde el teclado
Variables vocal
Carácter J
Inicio
sw = 1
Mientras sw = 1 hacer
Leer J
si (J= "a") o (J = "e") o (J = "i") o (J = "o") o (J ="u")
Escribir "LA PRIMERA VOCAL INGRESADA FUE",J
sw <- 0
fin_si
Fin_mientras
Fin
19.-Hacer un programa que no determine un numero
tiene o no parte fraccionaria.
Variables parte_fracciomaria
Real n
Inicio
Escribir "ingresa numero"
Leer n
Si n = trunc(n) entonces // trunc es una funcion
// que elimina los decimales de un numero
Escribir "numero no tiene parte fraccionaria"
Sino
Escribir" numero con parte fraccionaria"
fin si
Fin
|