Está en la página 1de 2

DISEÑO ESTRUCTURADO DE ALGORITMOS

5.3.5. Problemas Selectivos Simples

Problemas Basados en Estructuras Condicionales


1) Un hombre desea saber cuánto dinero se genera 4) Un obrero necesita calcular su salario semanal,
por concepto de intereses sobre la cantidad que el cual se obtiene de la siguiente manera:
tiene en inversión en el banco. El decidirá
reinvertir los intereses siempre y cuando estos  Si trabaja 40 horas o menos se le paga
excedan a $70.000, y en ese caso desea saber $16.000 por hora
cuánto dinero tendrá finalmente en su cuenta.  Si trabaja más de 40 horas se le paga
$16.000 por cada una de las primeras 40
Proceso horas y $20.000 por cada hora extra.
Leer p_int, cap
int <- cap * p_int Proceso
si int > 70 000 entonces Leer ht
capf <- cap + int Si ht > 40 entonces
Fin si he <- ht - 40
Escribir capf ss <- he * 20 000 + 40 * 16 000
FinProceso sino
ss <- ht * 16 000
2) Determinar si un alumno aprueba a reprueba un Fin si
curso, sabiendo que aprobara si su promedio de Escribir ss
tres calificaciones es mayor o igual a 3.5; FinProceso
reprueba en caso contrario. 5) Que lea dos números y los imprima en forma
ascendente
Proceso
Leer calif1, calif2, calif3
Proceso
prom <- (calif1 + calif2 + calif3)/3
Leer num1, num2
Si prom >= 3.5 entonces
Si num1 < num2 entonces
Escribir “alumno aprobado”
Escribir num1, num2
sino
sino
Escribir “alumno reprobado”
Escribir num2, num1
Fin si
Fin si
FinProceso
FinProceso
3) En un almacén se hace un 20 % de descuento a
los clientes cuya compra supere los $100.000
¿Cuál será la cantidad que pagara una persona
por su compra?

Proceso
Leer compra
Si compra > 100 000 entonces
desc <- compra * 0.20
sino
desc <- 0
Fin si
tot_pag <- compra - desc
Escribir tot_pag
FinProceso
26
DISEÑO ESTRUCTURADO DE ALGORITMOS

6) Una persona enferma, que pesa 70 kg, se 9) Una empresa quiere hacer una compra de varias
encuentra en reposo y desea saber cuántas piezas de la misma clase a una fábrica de
calorías consume su cuerpo durante todo el refacciones. La empresa, dependiendo del monto
tiempo que realice una misma actividad. Las total de la compra, decidirá qué hacer para
actividades que tiene permitido realizar son pagar al fabricante.
únicamente dormir o estar sentado en reposo.
Los datos que tiene son: que estando dormido  Si el monto total de la compra excede de
consume 1.08 calorías por minuto y estando $500.000 la empresa tendrá la capacidad de
sentado en reposo consume 1.66 calorías por invertir de su propio dinero un 55 % del
minuto. monto de la compra, pedir prestado al banco
un 30 % y el resto lo pagará solicitando un
Proceso crédito al fabricante.
Leer act, tiemp  Si el monto total de la compra no excede de
Si act <- “dormido” entonces
$500.000 la empresa tendrá capacidad de
cg <- 1.08 * tiemp
sino invertir de su propio dinero un 70 % y el
cg <- 1.66 * tiemp restante 30 % lo pagará solicitando crédito al
Fin si fabricante.
Escribir cg  El fabricante cobra por concepto de intereses
FinProceso un 20 % sobre la cantidad que se le pague a
7) Hacer un algoritmo que imprima el nombre de crédito.
un artículo, clave, precio original y su precio con Proceso
descuento. El descuento lo hace en base a la Leer costopza, numpza
clave, si la clave es 01 el descuento es del 10 % totcomp <- costopza * numpza
y si la clave es 02 el descuento en del 20 % (solo Si totcomp > 500 000 entonces
cantinv <- totcomp * 0.55
existen dos claves).
préstamo <- totcomp * 0.30
Proceso
crédito <- totcomp * 0.15
Leer nomb, cve, prec_orig
sino
Si cve <- 01 entonces
cantinv <- totcomp * 0.70
prec_desc <- prec_orig - prec_orig * 0.10
crédito <- totcomp * 0.30
sino
préstamo <- 0
prec_desc <- prec_orig - prec_orig * 0.20
Fin si
fin si
int <- crédito * 0.20
Escribir nomb, cve, prec_orig, prec_desc
Escribir cantinv, préstamo, crédito, int
FinProceso
FinProceso
8) Hacer un algoritmo que calcule el total a pagar
por la compra de camisas. Si se compran tres
camisas o más se aplica un descuento del 20 %
sobre el total de la compra y si son menos de tres
camisas un descuento del 10 %.
Proceso
Leer num_camisas, prec
tot_comp <- num_camisas * prec
Si num_camisas > = 3 entonces
tot_pag <- tot_comp - tot_comp * 0.20
sino
tot_pag <- tot_comp - tot_comp * 0.10
Fin si
Escribir tot_pag
27

FinProceso

También podría gustarte