Vous êtes sur la page 1sur 6

ESTRUCTURA DE SELECCIÓN SIMPLE IF

PROBLEMAS RESUELTOS

Problema 3. 1

Una tienda vende un producto a precios unitarios que dependen de la cantidad de


unidades adquiridas de acuerdo a la siguiente tabla:
Unidades adquiridas Precio unitario

Adicionalmente, si el cliente adquiere más de 50 unidades la tienda le descuenta el


15% del importe de la compra; en caso contrario, sólo le descuenta el 5%.

Diseñe un programa que determine el importe de la compra, el importe del


descuento y el importe a pagar por la compra de cierta cantidad de unidades del
producto.

Inicio
// Declaración de variables
entero unidades
real impcom, impdes, imppag
// Entrada de datos
Leer unidades
// Cálculo del importe de la compra
si( unidades >= 1 && unidades <= 25 )
impcom = unidades*27.5
si( unidades >= 26 && unidades <= 50 )
impcom = unidades*25.5
si( unidades >= 51 && unidades <= 75 )
impcom = unidades*27.5
si( unidades >= 76)
impcom = unidades*27.5
// Cálculo del importe del descuento
si( unidades > 50 )
impdes = 0.15*impcom
si( unidades <= 50 )
impdes = 0.05*impcom
// Calcula el importe a pagar
imppag = impcom - impdes;
// Salida de resultados
Imprimir impcom, impdes, imppag
Fin

Problema 3.2

Los ángulos se clasifican de la siguiente manera:

Diseñe un algoritmo que determine la clasificación de un ángulo dado en grados,


minutos y segundos. Asuma que el ángulo está en el intervalo de 0º a 360º.

Recordar que
1° = 60m
1m = 60s
Inicio
// Declaración de variables
entero grados, minutos, segundos
real beta
cadena tipo
// Entrada de datos
Leer grados, minutos, segundos
// Determina el ángulo en grados
beta = grados + minutos/60.0 + segundos/3600.0
// Determina el tipo de ángulo
si( beta == 0 )
tipo = "Nulo"
si( beta > 0 && beta < 90 )
tipo = "Agudo"
si( beta == 90 )
tipo = "Recto"
si( beta > 90 && beta < 180 )
tipo = "Obtuso"
si( beta == 180 )
tipo = "Llano"
si( beta > 180 && beta < 360 )
tipo = "Cóncavo"
si( beta == 360 )
tipo = "Completo"
// Salida de resultados
Imprimir tipo
Fin

Problema 3.3

El promedio final de un curso se obtiene en base al promedio simple de tres


prácticas calificadas. Para ayudar a los alumnos, el profesor del curso ha prometido
incrementar en dos puntos la nota de la tercera práctica calificada, si es que esta
es no menor que 10. Diseñe un programa que determine el promedio final de un
alumno conociendo sus tres notas. No use operadores lógicos en la solución y
considere que la nota máxima es 20.

Inicio
// Declaración de variables
real p1, p2, p3, promedio
// Entrada de datos
Leer p1, p2, p3
// Si amerita, añade 2 puntos a p3
si( p3 >= 10 ){
p3 = p3 + 2
si( p3 > 20 )
p3 = 20
}
// Determina el promedio
promedio = (p1+p2+p3)/3
// Salida de resultados
Imprimir promedio
Fin

Problema 3.4

Diseñe un programa que lea un número natural de cuatro cifras y forme el mayor
número posible de dos cifras usando la cifra mayor y la cifra menor del número
ingresado.
Inicio
// Declaración de variables
entero numero, cunid, cdece, ccent, cmill, cmay, cmen, maynum
// Entrada de datos
Leer numero
// Descompone el número en sus cifras
cmill = numero/1000
ccent = numero%1000/100
cdece = numero%1000%100/10
cunid = numero%1000%100%10
// Determina la cifra mayor
cmay = cmill
si(ccent > cmay)
cmay = ccent
si(cdece > cmay)
cmay = cdece
si(cunid > cmay)
cmay = cunid
// Determina la cifra menor
cmen = cmill
si(ccent < cmen)
cmen = ccent
si(cdece < cmen)
cmen = cdece
si(cunid < cmen)
cmen = cunid
// Forma el mayor número posible con las cifras mayor y menor
maynum = cmay*10+cmen
// Salida de resultados
Imprimir may, cmen, maynum
Fin

Problema 3.5
En un estacionamiento, se cobra S/. 2.5 por hora o fracción de hora. Dado el
tiempo de estacionamiento de un vehículo expresado en el formato HH:MM,
determine el importe a pagar por concepto de estacionamiento.

entero horas, minutos


real importe
// Entrada de datos
Leer horas, minutos
// Si hay una fracción de hora, se cobra una hora adicional
si( minutos > 0 )
horas = horas+1
// Determina el importe a pagar
importe = horas*2.5
// Salida de resultados
Imprimir importe
Fin

Vous aimerez peut-être aussi