Problema 01:
Diseñe un programa que determine la categoría de un estudiante en base a su promedio ponderado de acuerdo a la siguiente tabla:
Promedio Categoría
Promedio Categoría
≥ 17 A
≥ 14 pero < 17 B
≥ 12 pero < 14 C
< 12 D
Solución V01:
Esta solución es lenta, ya que consume memoria porque se evalúa todas las sentencias if
entero nota
carácter categoria
leer nota
if(nota>=17){
categoría=’A’
}
if(nota>=14 && nota<17){
categoría=’B’
}
if(nota>=12 && nota<14){
categoría=’C’
}
if(nota <12){
categoría=’D’
}
imprimir categoría
Solución V02:
Esta solución es rápida, ya que consume menor memoria porque se evalúa solo algunos sentencias if. Además, se ha recorrido el intervalo de manera descendente a la nota
entero nota
carácter categoria
leer nota
if(nota>=17){
categoría=’A’
}
else if(nota>=14){
categoría=’B’
}
else if (nota>=12){
categoría=’C’
}
else{
categoría=’D’
}
imprimir categoría
Solución V03:
Esta solución es rápida, ya que consume menor memoria porque se evalúa solo algunos sentencias if. Además, se ha recorrido el intervalo de manera ascendente a la nota
entero nota
carácter categoria
leer nota
if(nota<=12){
categoría=’D’
}
else if(nota<14){
categoría=’C’
}
else if (nota<12){
categoría=’B’
}
else{
categoría=’A’
}
imprimir categoría
Problema 02:
Diseñar un programa que lea la temperatura promedio de un día e imprima el tipo de clima correspondiente de acuerdo a la siguiente tabla:
Temperatura Clima
≤ 10 Frío
>10 pero ≤ 20 Nublado
>20 pero ≤ 30 Caluroso
> 30 Trópico
real temperatura
leer temperatura
if(temperatura<=10){
impirmir “frio”;
}else if(temperatura<=20){
impirmir “nublado”;
}
}else if(temperatura<=30){
impirmir “caluroso”;
}else{
impirmir “tropico”;
}
Problema 03:
Un supermercado vende aceite en botellas de 1 litro a los precios por litro dados
en la siguiente tabla:
Aceite Precio por litro
Primor S/. 5.99
Girasol S/. 5.50
Cil S/.4.50
Cocinero S/. 4.70
Como oferta, el supermercado ofrece un porcentaje de descuento sobre el
importe de la compra de acuerdo a la siguiente tabla:
Cantidad de litros Descuento
≥ 10 12.5%
≥ 7 pero < 10 10.0%
≥ 4 pero < 7 7.5%
< 4 5.0%
Diseñe un algoritmo que determine el importe de la compra, el importe del
descuento y el importe a pagar por la compra de cierta cantidad de litros de una
misma marca de aceite.
Solución:
entero cantidad, código
real icompra, idescuento, ipagar
leer cantidad, código
//importe de compra
if(código ==0){
icompra = 5.99* cantidad
}
else if(código ==1){
icompra = 5.50* cantidad
}
else if(código ==2){
icompra = 4.50* cantidad
}
else if(código ==3){
icompra = 4.70* cantidad
}
//importe de descuento
if(cantidad >=10){
idescuento = 0.125* icompra
}
else if(cantidad >=7){
idescuento = 0.10* icompra
}
else if(cantidad >=4){
idescuento = 0.075* icompra
}
else{
idescuento = 0.05* icompra
}
//importe a pagar
Ipagar = icompra – idescuento
imprimir icompra, idescuento, ipagar
Problema 04:
Determine que imprime el siguiente fragmento de programa para los siguientes
casos: a). x igual a 1, b). x igual a 2, c). x igual a 7 y d). x igual a 5
if(x == 1){
txtS.append("aaaa\n");
x = x + 1;
}
if(x == 2){
txtS.append("bbbb\n");
x = x + 2;
}
If(x >= 8)
txtS.append("cccc\n");
else if(x >= 6)
txtS.append("dddd\n");
else
txtS.append("eeee\n");
txtS.append("ffff");
a). Qué pasa si x igual a 1:
aaaa
bbbb
eeee
ffff
b). Qué pasa si x igual a 2:
bbbb
eeee
ffff
c). Qué pasa si x igual a 7:
dddd
ffff
d). Qué pasa si x igual a 5:
eeee
ffff
Problema 05:
Explique y corrija los errores de sintaxis de los siguientes fragmentos de
programa.
a. if(a > 20)
x = 1;
y = 2;
else if(a > 15)
x = 2;
y = 3;
else{
x = 3;
y = 4;
}
Corrección: cada bloque de sentencia debería tener las llaves
if(a > 20){
x = 1;
y = 2;
}else if(a > 15) {
x = 2;
y = 3;
} else{
x = 3;
y = 4;
}
b.
if(x%3 == 0){
a = 0;
else if(x%2 == 1)
a = 1;
else
a = 2;
}
Corrección: cada bloque de sentencia debería tener las llaves
if(x%3 == 0){
a = 0;
} else if(x%2 == 1) {
a = 1;
} else{
a = 2;
}
No hay comentarios:
Publicar un comentario