Está en la página 1de 20

EJERCICIO DE ESTRUCTURAS CONDICIONALES

1. Algoritmo en donde se pide la edad del usuario; si es mayor de edad debe aparecerun
mensaje indicándolo
Entero edad
Inicio
Escribir “¿Cuál es tu edad?”
Leer edad
Si edad >= 18 entonces
Escribir “Eres mayor de edad”
Fin si
Fin

2. Construir un algoritmo tal, que dado como dato la calificación de un alumno en un


examen, escriba "Aprobado" en caso que esa calificación fuese mayor que 8. Un
alumno aprueba si la calificación es mayor que 8Salidas: mensaje de aprobado si se
cumple la condición.
Entradas: calificación
Real cal,Cadena [25] ,nombre
Inicio
Escribir “Ingresar el nombre”
Leer nombre
Escribir “Ingresar la calificación”
Leer cal
Si cal > 8 entonces
Escribir “Alumno aprobado ”, nombre
Sino
Escribir “No aprobado! ” ,nombre
Fin si
Fin
3. Ingresar el nombre de un empleado, las horas trabajadas, luego Calcular el pagobruto
(50 lps la hora), IHSS y total a pagar, presentar los resultado del programa
Nota: El seguro social es 84, si el sueldo es mayor 2400 sino es el 3.5% del sueldo del
empleado
Entero horas
Real Pbruto,ihss,tpCadena [25] nombre
Inicio
Escribir “Ingresar el nombre”
Leer nombre
Escribir “Ingresar las horas trabajadas”
Leer horas,Pbruto ← horas*50
Si pbruto > 2400 entonces
Ihss← 84
Sino
Ihss← 0.035*pbruto
Fin si
Tp← pbruto-ihss
Escribir “Pago bruto ” , pbruto
Escribir “Seguro Social ” , ihss
Escribir “Total a pagar ” , tp
Fin

4. Dada las horas trabajadas de una persona y el valor por hora. Calcular su salario e
imprimirlo.
5. Calcular el total que una persona debe pagar en un llanta, si el precio por unidad es de
$80.000 si se compran menos de 5 llantas y de $70.000 si se compran 5 o más.
Inicio
Imprima 'numero de llantas'
Leer numero_llantas
Si numero_llantas>=5 entonces
pago←numero_llantas*70000
Sino
pago←numero_llantas *80000
Finsi
Imprimir 'el valor de las llantas es:', pago
Fin

6. En un supermercado se hace una promoción, mediante la cual el cliente obtiene un


descuento dependiendo de un número que se escoge al azar. Si el número escogido es
menor que 50 el descuento es del 15% sobre el total de la compra, si es mayor o igual
a 50 el descuento es del 20%. Obtener cuanto dinero se le descuenta
Inicio
Imprimir 'valor del numero'
leer numero
imprimir 'total de la compra'
leer total_compra
Si numero<50 entonces
dinero_descontado← total_compra*15/100
Sino
dinero_descontado← total_compra*20/100
finsi
imprimir 'el dinero descontado es:',dinero_descontado
Fin
7. En un estacionamiento cobran $/. 1.500 por hora o fracción. Diseñe un algoritmo que
determine cuanto debe pagar un cliente por el estacionamiento de su vehículo,
conociendo el tiempo de estacionamiento en horas y minutos.
INICIO
ENTERO horas, minutos
REAL pago
LEER horas, minutos
SI ( minutos > 0 ) Entonces
horas ← horas + 1
pago = horas * 1.500
Fin_si
IMPRIMIR pago
FIN

8. Diseñe un algoritmo que determine si ún número es o no es, par positivo.


INICIO
REAL numero
CADENA tipoNumero
LEER numero
SI ( (numero%2==0) && (numero>0) ) Entonces
tipoNumero = "El número es par positivo"
SINO
tipoNumero = "El número no es par positivo"
Fin_si
IMPRIMIR tipoNumero
FIN

9. Un supermercado ha puesto en oferta la venta al por mayor de cierto producto,


ofreciendo un descuento del 15% por la compra de más de 3 docenas y 10% en caso
contrario. Además por la compra de más de 3 docenas se obsequia una unidad del
producto por cada docena en exceso sobre 3. Diseñe un algoritmo que determine el
monto de la compra, el monto del descuento, el monto a pagar y el número de
unidades de obsequio por la compra de cierta cantidad de docenas del producto
INICIO
REAL montopag, montocom, montodes, precio
ENTERO docenas, obsequio
LEER docenas, precio
montocom ← docenas*precio
SI ( docenas > 3 ) Entonces
montodes ← 0.15*montocom
obsequio ← docenas-3
SINO
montodes ← 0.10*montocom
obsequio ← 0
montopag ← montocom – montodes
IMPRIMIR montocom, montodes, montopag, obsequio
FIN

10. Diseñe un algoritmo que lea un número de tres cifras y determine si es igual al revés
del número.
INICIO
ENTERO numero, unidades,centenas
CADENA tipoNumero
LEER numero
SI (numero >99 && numero < 1000 ) Entonces
unidades = numero%10
centenas = int(numero/100)
SI( unidades == centenas )
tipoNumero ="El número es igual al inverso"
SINO
tipoNumero = "El número no es igual al inverso"
Finsi
IMPRIMIR tipoNumero
SINO
IMPRIMIR "Debe ingresar un número de tres cifras"
FIN
11. Una compañía dedicada al alquiler de automoviles cobra un monto fijo de $300000
para los primeros 300 km de recorrido. Para más de 300 km y hasta 1000 km, cobra
un monto adicional de $ 15.000 por cada kilómetro en exceso sobre 300. Para más de
1000 km cobra un monto adicional de $ 10.000 por cada kilómetro en exceso sobre
1000. Los precios ya incluyen el 20% del impuesto general a las ventas, IVA. Diseñe
un algoritmo que determine el monto a pagar por el alquiler de un vehículo y el monto
incluído del impuesto.
INICIO
REAL kilomrec, montopag, montoiva,
montofijo ← 300000, iva ← 0.20
LEER kilomrec
SI( kilomrec <= 300 ) Entonces
montopag ← montofijo
SINO
SI( kilomrec <= 1000 ) Entonces
montopag ← montofijo + 15000*(kilomrec-300)
SINO
montopag ← montofijo + 15000*700 + 10000*(kilomrec-1000)
montoiva ← iva*montopag
Finsi
Finsi
IMPRIMIR montopag, montoiva
FIN

12. Diseñe un algoritmo que determine quienes son contemporáneos entre Juan, Mario y
Pedro
INICIO
ENTERO EdadJuan, EdadMario, EdadPedro
CADENA contemporaneos
LEER EdadJuan, EdadMario, EdadPedro
SI(EdadJuan == EdadMario && EdadMario == EdadPedro) Entonces
contemporaneos ← "Los tres son contemporáneos"
SINO
SI (EdadJuan == EdadMario) Entonces
contemporaneos ← "Juan y Mario son contemporáneos"
SINO
SI(EdadJuan == EdadPedro) Entonces
contemporaneos ← "Juan y Pedro son contemporáneos"
SINO
SI(EdadMario == EdadPedro) Entonces
contemporaneos ← "Mario y Pedro son contemporáneos"
SINO
contemporaneos ← "No hay contemporáneos"
Fin_si
Fin_si
Fin_si
IMPRIMIR contemporaneos
FIN

13. El promedio de prácticas de un curso se calcula en base a cuatro prácticas calificadas


de las cuales se elimina la nota menor y se promedian las tres notas más altas. Diseñe
un algoritmo que determine la nota eliminada y el promedio de prácticas de un
estudiante
INICIO
REAL pc1, pc2, pc3, pc4, pcmenor, promedio
LEER pc1, pc2, pc3, pc4
pcmenor ← pc1
SI ( pc2 < pcmenor ) Entonces
pcmenor ← pc2
SI( pc3 < pcmenor ) Entonces
pcmenor ← pc3
SI( pc4 < pcmenor ) Entonces
pcmenor ← pc4
promedio ← (pc1 + pc2 + pc3 + pc4 - pcmenor )/3
IMPRIMIR promedio, pcmenor
FIN
14. Diseñe un algoritmo que lea tres longitudes y determine si forman o no un triángulo. Si
es un triángulo determine de que tipo de triángulo se trata entre: equilátero (si tiene
tres lados iguales), isósceles (si tiene dos lados iguales) o escaleno (si tiene tres lados
desiguales). Considere que para formar un triángulo se requiere que: "el lado mayor
sea menor que la suma de los otros dos lados"
INICIO
REAL L1, L2, L3, suma
CADENA tipoTriangulo
LEER L1, L2, L3
mayor ← L1
SI( L2 > mayor ) Entonces
mayor ← L2
Fin_si
SI( L3 > mayor ) Entonces
mayor ← L3
Fin_si
suma ← L1 + L2 + L3 – mayor
SI( mayor < suma ) Entonces
SI( ( L1 == L2 ) && ( L2 == L3 )) entonces
tipoTriangulo←"Triángulo equilátero"
SINO
SI( ( L1 == L2 ) || ( L1 == L3 ) || ( L2 == L3 ) )
tipoTriangulo←"Triángulo isósceles"
SINO
tipoTriangulo←"Triángulo escaleno"
Fin_si
Fin_si
SINO
tipoTriangulo←"No es un triángulo"
Fin_si
IMPRIMIR tipoTriangulo
FIN
15. Diseñe un algoritmo que lea un número entero de 3 cifras, y forme el mayor número
posible con las cifras del número ingresado. El número formado debe tener el mismo
signo que el número ingresado
INICIO
ENTERO num1, num2, numaux, uni, dec, cen, menor, mayor,medio
LEER num1
SI( ( num1 >= 100 && num1 <= 999 ) || ( num1 >= -999 && num1 <= -100 ) )
Entonces
numaux ← num1
SI( num1 < 0 ) Entonces
num1 ← -num1
cen ← num1/100
dec ← (num1%100)/10
uni ← (num1%100)%10
menor ← cen
Fin_si
SI( dec < menor ) Entonces
menor ← dec
Fin_si
SI( uni < menor ) Entonces
menor ← uni
mayor ← cen
Fin_si
SI( dec > mayor ) Entonces
mayor ← dec
Fin_si
SI( uni > mayor ) Entonces
mayor ← uni
medio ← cen+dec+uni-mayor-menor
Fin_si
SI( numaux > 0 ) Entonces
num2 ← mayor*100 + medio*10 + menor
SINO
num2 ← -1*(menor*100 + medio*10 + mayor)
Fin_si
IMPRIMIR num2
SINO
IMPRIMIR "El número no tiene tres cifras"
Fin_si
FIN

16. A un trabajador le pagan según sus horas trabajadas y la tarifa está a un valor por
hora. Si la cantidad de horas trabajadas es mayor a 40 horas, la tarifa por hora se
incrementa en un 50% para las horas extras. Calcular el salario del trabajador dadas
las horas trabajadas y la tarifa

17. 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
18. 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%.

19. Dado un tiempo en segundos, calcular los segundos restantes que le correspondan
para convertirse exactamente en minutos
20. Dado un tiempo en minutos, calcular los días, horas y minutos que le Corresponden

21. Se trata de escribir el algoritmo que permita emitir la factura correspondiente a una
compra de un artículo determinado, del que se adquieren una o varias unidades. El IVA
es del 19% y si el precio bruto (precio venta mas IVA) es mayor de $13000 se debe
realizar un descuento del 5%.

22. Un hombre desea saber cuánto dinero se genera por concepto de intereses sobre la
cantidad que tiene en inversión en el banco. El decidirá reinvertir los intereses siempre
y cuando estos excedan a $7000, y en ese caso desea saber cuánto dinero tendrá
finalmente en su cuenta.
Inicio
Leer p_int, cap
int = cap * p_int
si int > 7000 entonces
capf = cap + int
fin−si
Imprimir capf
Fin

23. Determinar si un alumno aprueba a reprueba un curso, sabiendo que aprobara si su


promedio de tres calificaciones es mayor o igual a 70; reprueba en caso contrario.
Inicio
Leer calif1, calif2, calif3
prom = (calif1 + calif2 + calif3)/3
Si prom >= 70 entonces
Imprimir alumno aprobado
si no
Imprimir alumno reprobado
Fin−si
Fin

24. En un almacén se hace un 20% de descuento a los clientes cuya compra supere los
$1000 ¿Cuál será la cantidad que pagara una persona por su compra?
Inicio
Leer compra
Si compra > 1000 entonces
desc = compra * 0.20
si no
desc = 0
fin−si
tot_pag = compra − desc
imprimir tot_pag
Fin.
25. Un hombre desea saber cuánto dinero se genera por concepto de intereses sobre la
cantidad que tiene en inversión en el banco. El decidirá reinvertir los intereses siempre
y cuando estos excedan a $7000, y en ese caso desea saber cuánto dinero tendrá
finalmente en su cuenta
Inicio
Leer p_int, cap
int = cap * p_int
Si int > 7000 entonces
capf = cap + int
Fin−si
Imprimir capf
Fin
26. Que lea dos números y los imprima en forma ascendente
Inicio
Leer num1, num2
Si num1 < num2 entonces
Imprimir num1, num2
Si no
Imprimir num2, num1
Fin−si
Fin

27. Una persona enferma, que pesa 70 kg, se encuentra en reposo y desea saber cuántas
calorías consume su cuerpo durante todo el tiempo que realice una misma actividad.
Las actividades que tiene permitido realizar son únicamente dormir o estar sentado en
reposo. Los datos que tiene son que estando dormido consume 1.08 calorías por
minuto y estando sentado en reposo consume 1.66 calorías por minuto
Inicio
Leer act$, tiemp
Si act$ = dormido entonces
cg = 1.08 * tiemp
Si no
cg = 1.66 * tiemp
Fin−si
Imprimir cg
Fin

28. Hacer un algoritmo que imprima el nombre de un artículo, clave, precio original y su
precio con descuento. El descuento lo hace en base a la clave, si la clave es 01 el
descuento es del 10% y si la clave es 02 el descuento en del 20% (solo existen dos
claves).
Inicio
Leer nomb, cve, prec_orig
Si cve = 01 entonces
prec_desc = prec_orig − prec_orig * 0.10
Si no
prec_desc = prec_orig − prec_orig * 0.20
Fin−si
Imprimir nomb, cve, prec_orig, prec_desc
Fin

29. Hacer un algoritmo que calcule el total a pagar por la compra de camisas. Si se
compran tres camisas o mas se aplica un descuento del 20% sobre el total de la
compra y si son menos de tres camisas un descuento del 10%
Inicio
Leer num_camisas, prec
tot_comp = num_camisas * prec
Si num_camisas > = 3 entonces
tot_pag = tot_comp − tot_comp * 0.20
Si no
tot_pag = tot_comp − tot_comp * 0.10
Fin−si
Imprimir tot_pag
Fin
30. Una empresa quiere hacer una compra de varias piezas de la misma clase a una
fábrica de refacciones. La empresa, dependiendo del monto total de la compra,
decidirá qué hacer para pagar al fabricante. Si el monto total de la compra excede de
$500 000 la empresa tendrá la capacidad de invertir de su propio dinero un 55% del
monto de la compra, pedir prestado al banco un 30% y el resto lo pagara solicitando
un crédito al fabricante. Si el monto total de la compra no excede de $500 000 la
empresa tendrá capacidad de invertir de su propio dinero un 70% y el restante 30% lo
pagara solicitando crédito al fabricante. El fabricante cobra por concepto de intereses
un 20% sobre la cantidad que se le pague a crédito.

Inicio
Leer costopza, numpza
totcomp = costopza * numpza
Si totcomp > 500 000 entonces
cantinv = totcomp * 0.55
préstamo = totcomp * 0.30
crédito = totcomp * 0.15
Si no
cantinv = totcomp * 0.70
crédito = totcomp * 0.30
préstamo = 0
Fin−si
Int = crédito * 0.20
Imprimir cantinv, préstamo, crédito, int
Fin

31. Leer 2 números; si son iguales que los multiplique, si el primero es mayor que el
segundo que los reste y si no que los sume
Inicio
Leer num1, num2
Si num1 = num2 entonces
resul = num1 * num2
Sino
Si num1 > num2 entonces
resul = num1 − num2
Si no
resul = num1 + num2
Fin−si
Fin−si
Fin

32. Leer tres números diferentes e imprimir el número mayor de los tres.
Inicio
Leer num1, num2, num3
Si (num1 > num2) and (num1 > num3) entonces
mayor = num1
Sino
Si (num2 > num1) and (num2 > num3) entonces
mayor = num2
Sino
mayor = num3
Fin−si
Fin−si
Imprimir mayor
Fin

33. Determinar la cantidad de dinero que recibirá un trabajador por concepto de las horas
extras trabajadas en una empresa, sabiendo que cuando las horas de trabajo exceden
de 40, el resto se consideran horas extras y que estas se pagan al doble de una hora
normal cuando no exceden de 8; si las horas extras exceden de 8 se pagan las
primeras 8 al doble de lo que se pagan las horas normales y el resto al triple
Inicio
Leer ht, pph
Si ht < = 40 entonces
tp = ht * pph
Sino
he = ht − 40
Si he < = 8 entonces
pe = he * pph * 2
sino
pd = 8 * pph * 2
pt = (he − 8) * pph * 3
pe = pd + pt
fin−si
tp = 40 * pph + pe
fin−si
Imprimir tp
Fin

34. Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si este se
le asigna como un porcentaje de su salario mensual que depende de su antigüedad en
la empresa de acuerdo con la siguiente tabla:
Tiempo Utilidad
Menos de 1 año. 5% del salario
1 año o más y menos de 2 años. 7% del salario
2 años o más y menos de 5 años. 10% del salario
5 años o más y menos de 10 años. 15% del salario
10 años o más. 20% del salario

Inicio
Leer sm, antig
Si antig < 1 entonces
util = sm * 0.05
Si no
Si (antig > = 1) and (antig < 2) entonces
util = sm * 0.07
Si no
Si (antig > = 2) and (antig < 5) entonces
util = sm * 0.10
Si no
Si (antig > = 5) and (antig < 10) entonces
util = sm * 0.15
Si no
util = sm * 0.20
Fin−si
Fin−si
Fin−si
Fin−si
Imprimir util
Fin

35. En una tienda de descuento se efectúa una promoción en la cual se hace un descuento
sobre el valor de la compra total según el color de la bolita que el cliente saque al
pagar en caja. Si la bolita es de color blanco no se le hará descuento alguno, si es
verde se le hará un 10% de descuento, si es amarilla un 25%, si es azul un 50% y si
es roja un 100%. Determinar la cantidad final que el cliente deberá pagar por su
compra se sabe que solo hay bolitas de los colores mencionados.

Inicio
leer tc, b$
Si b$ = 'blanca' entonces
d=0
Si no
Si b$ = 'verde' entonces
d=tc*0.10
Si no
Si b$ = 'amarilla' entonces
d=tc*0.25
Si no
Si b$ = 'azul' entonces
d=tc*0.50
Si no
d=tc
Fin−si
Fin−si
Fin−si
Fin−si
Fin

36. El IMSS requiere clasificar a las personas que se jubilaran en el año de 1997. Existen
tres tipos de jubilaciones: por edad, por antigüedad joven y por antigüedad adulta. Las
personas adscritas a la jubilación por edad deben tener 60 años o más y una
antigüedad en su empleo de menos de 25 años. Las personas adscritas a la jubilación
por antigüedad joven deben tener menos de 60 años y una antigüedad en su empleo
de 25 años o más. Las personas adscritas a la jubilación por antigüedad adulta deben
tener 60 años o más y una antigüedad en su empleo de 25 años o más. Determinar en
qué tipo de jubilación, quedara adscrita una persona.
Inicio
leer edad, ant
Si edad >= 60 and ant < 25 entonces
imprimir la jubilación es por edad
Si no
Si edad >= 60 and ant > 25 entonces
imprimir la jubilación es por edad adulta
Si no
Si edad < 60 and ant > 25 entonces
imprimir la jubilación es por antigüedad joven
Si no
imprimir no tiene por qué jubilarse
Fin−si
Fin−si
Fin−si
Fin

También podría gustarte