Estructura de Selección Doble If - Problemas Resueltos

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

PROBLEMAS RESUELTOS

Problema 4.1

Una tienda ha puesto en oferta la venta por docenas de cierto tipo de producto
ofreciendo un descuento del 15% por la compra de no menos de 6 docenas y 10%
en caso contrario. Adicionalmente la empresa ofrece un obsequio de 2 lapiceros
por cada 3 docenas por la compra de no menos 30 docenas del producto; en caso
contrario, no efectúa ningún obsequio. Diseñe un programa que determine el
monto de la compra, el monto del descuento, el monto a pagar y la cantidad de
lapiceros de obsequio por la compra de cierta cantidad de docenas del producto.

Inicio
// Declaración de variables
entero docenas, obsequio
real montocom, montodes, montopag, precio
// Entrada de datos
Leer docenas, precio
// Calcula el monto de la compra
montocom = docenas*precio
// Calcula el monto del descuento
si(docenas >= 6)
montodes = 0.15*montocom
sino
montodes = 0.10*montocom
// Calcula el monto a pagar
montopag = montocom - montodes
// Calcula el número de lapiceros de obsequio
si(docenas >= 30)
obsequio = 2*(docenas/3)
sino
obsequio = 0
// Salida de resultados
Imprimir montocom, montodes, montopag, obsequio
Fin

Problema 4.2

Una institución benéfica recibe anualmente una donación proveniente de Europa y


lo reparte entre un centro de salud, un comedor de niños y una parte lo invierte en
la bolsa de acuerdo a lo siguiente:
• Si el monto de la donación es de $10000 o más: 30% se destina al centro de
salud, 50% al comedor de niños y el resto se invierte en la bolsa.
• Si el monto de la donación es menor que $10000: 25% se destina al centro de
salud, 60% al comedor de niños y el resto se invierte en la bolsa.
La institución desea saber cuanto de dinero destinará a cada rubro anualmente.

Inicio
// Declaración de variables
real donacion, comedor, salud, bolsa
// Entrada de datos
Leer donacion
// Reparte la donación
si( donacion >= 10000 ){
comedor = 0.30*donacion
salud = 0.50*donacion
bolsa = 0.20*donacion
}
sino{
comedor = 0.25*donacion
salud = 0.60*donacion
bolsa = 0.15*donacion
}
// Salida de resultados
Imprimir comedor, salud, bolsa
Fin
Problema 4.3
En una oficina de empleos categorizan a los postulantes en función del sexo y de
la edad de acuerdo a lo siguiente:
• Si la persona es de sexo femenino: categoría FA si tiene menos de 23 años y FB
en caso contrario.
• Si la persona es de sexo masculino: categoría MA si tiene menos de 25 años y
MB en caso contrario.
Diseñe un programa que determine la categoría de un postulante.

Inicio
// Declaración de variables
entero sexo, edad
cadena categoria
// Entrada de datos
Leer sexo, edad
// Determina la categoría
si( sexo == 0 ){
si( edad < 23 )
categoria = "FA"
sino
categoria = "FB"
}
sino{
si( edad < 25 )
categoria = "MA"
sino
categoria = "MB"
}
// Salida de resultados
Imprimir categoria
Fin

Problema 4.4
Diseñe un algoritmo que lea un número entero positivo tres cifras y determine si las cifras
del número son o no consecutivas (en orden ascendente o en orden descendente). En
caso que el número no cumpla con ser positivo de tres cifras, imprima el mensaje: "El
número debe ser positivo de tres cifras".

Inicio
// Declaración de variables
entero numero, u, d, c
cadena resultado
// Entrada de datos
Leer numero
// Prosigue si el número es correcto, sino pone un mensaje de error
si( numero >= 100 && numero <= 999 ){
// Determina las cifras del número
c = numero/100
d = (numero%100)/10
u = numero%10
// Determina si las cifras del número son o no consecutivas
si((d == c+1 && u == d+1) || (d == c-1 && u == d-1))
resultado = "Las cifras del número son consecutivas"
sino
resultado = "Las cifras del número no son consecutivas"
// Salida de resultados
Imprimir resultado
}
sino
Imprimir "El número debe ser positivo de tres cifras"
Fin

Problema 4.5

Una papelera ha puesto en oferta la venta al por mayor (en cientos) de papel bond de
acuerdo a los siguientes criterios:
• Para los primeros 5 cientos, se hace un descuento del 10% por cada ciento.
• Para los cientos en exceso sobre 5, se hace un descuento del 15% por cada ciento.
Diseñe un algoritmo que determine el importe bruto, el importe del descuento y el importe
a pagar por una compra de papel bond.
Inicio
// Declaración de variables
real importebru, importedes, importepag, precio
entero cientos
// Entrada de datos
Leer precio, cientos
// Determina el importe bruto
importebru = precio*cientos
// Determina el importe del descuento
si( cientos <= 5 )
importedes = 0.10*precio*cientos
sino
importedes = 0.10*5*precio + 0.15*(cientos-5)*precio;
// Determina el importe a pagar
importepag = importebru - importedes
// Salida de resultados
Imprimir importebru, importedes, importepag
Fin

Problema 4.6

Una empresa desea adquirir cierta cantidad de unidades de dos productos A y B a un


proveedor cuyos precios son los siguientes:
• Producto A: costo unitario igual a S/.25.0 y 15% de descuento para más de 50 unidades
adquiridas.
• Proveedor B: costo unitario igual a S/.27.5 y 10% de descuento para más de 35
unidades adquiridas.
Diseñe un programa que determine el importe bruto total, el importe del descuento total y
el importe total a pagar por la compra de cierta cantidad de unidades de ambos productos.
Inicio
// Declaración de variables
entero unidadesA, unidadesB
real impcomA, impdesA, imppagA
real impcomB, impdesB, imppagB
real impcomtot, impdestot, imppagtot
// Entrada de datos
Leer unidadesA, unidadesB
// Determina los importes para el proveedor A
impcomA = unidadesA*25.0
si( unidadesA > 50 )
impdesA = 0.15*impcomA
sino
impdesA = 0
imppagA = impcomA - impdesA
// Determina los importes para el proveedor B
impcomB = unidadesB*27.5
si( unidadesB > 35 )
impdesB = 0.10*impcomB
sino
impdesB = 0
imppagB = impcomB - impdesB
// Determina los importes totales
impcomtot = impcomA + impcomB
impdestot = impdesA + impdesB
imppagtot = imppagA + imppagB
// Salida de resultados
Imprimir impcomtot, impdestot, imppagtot
Fin

También podría gustarte