2018-2
FACULTAD DE INGENIERIA MECANICA
DACIBAHCC
EXAMEN PARCIAL
INTRODUCCION A LA COMPUTACION (BIC01)
Problema 1 (5 puntos): Un trabajador peruano en un año gana una “Remuneración Bruta Anual”, de dicho
monto se le descuenta un 13% por concepto de seguro de salud, además una parte de dicho monto está
sujeta al pago de impuestos, la parte de dicho monto sujeta a impuestos se calcula de la siguiente manera:
.
Una UIT equivale a S/.4150 soles (Ejercicio Fiscal 2018), si la “Remuneración Neta Anual” es menor o igual
a cero el trabajador no pagará impuestos o “Impuesto Anual Proyectado” es cero, caso contrario el impuesto
que deberá pagar se calcula según se muestra en la tabla siguiente:
Remuneración Neta Anual Tasa del impuesto
Hasta 5 UIT 8%
Más de 5 UIT hasta 20 UIT 14%
Más de 20 UIT hasta 35 UIT 17%
Más de 35 UIT hasta 45 UIT 20%
Más de 45 UIT 30%
Entonces con ayuda de esta tabla se calcula el “Impuesto Anual Proyectado” de la siguiente manera:
Diseñar un programa, de tal manera que se obtenga los conceptos de: Seguro de Salud e Impuesto Anual
Proyectado.
Problema 2 (5 puntos): Leer un número en base 7 de 3 dígitos en una variable y convierta a base 10. Si el
número es de 3 dígitos, pero algún digito no corresponde a la base 7, solo deberá reportar todos los dígitos
incorrectos y si el número no tiene 3 dígitos, entonces deberá reportar solo el mensaje “No tiene 3 dígitos”.
Problema 3 (5 puntos): Desarrolle un programa que lea 4 números y el programa debe emitir solo uno de
los siguientes mensajes, según corresponda:
Todos son iguales
3 son iguales
Dos parejas son iguales
Una pareja es igual
Todos son diferentes
Problema 4 (5 puntos): Una tienda vende celulares a precios unitarios dados en la tabla 1. Como oferta la
tienda ofrece descuentos sobre el importe de la compra en base al plan adquirido de acuerdo a la tabla 2.
Tabla 2
Escriba un programa que determine el importe de compra (precio unitario x cantidad), el importe del
descuento y el importe a pagar (importe de compra menos importe del descuento) por la compra de cierta
cantidad de celulares de una sola marca y de un mismo plan adquirido.
Los profesores
SOLUCIONARIO EN PSEUDOCODIGO:
Problema 1:
INICIO
// variables
double Remuneración_Bruta_Anual, Seguro_de_Salud, UIT,
Remuneración_Neta_Anual, Impuesto_Anual_Proyectado;
// entrada
Lee Remuneración_Bruta_Anual
// proceso
Seguro_de_Salud = 0.13*Remuneración_Bruta_Anual;
UIT = 4150;
Remuneración_Neta_Anual = Remuneración_Bruta_Anual-7*UIT;
if (Remuneración_Neta_Anual <= 0)
Impuesto_Anual_Proyectado = 0;
else if (Remuneración_Neta_Anual <= 5*UIT)
Impuesto_Anual_Proyectado = 0.08*Remuneración_Neta_Anual;
else if (Remuneración_Neta_Anual <= 20*UIT)
Impuesto_Anual_Proyectado = 0.14*Remuneración_Neta_Anual;
else if (Remuneración_Neta_Anual <= 35*UIT)
Impuesto_Anual_Proyectado = 0.17*Remuneración_Neta_Anual;
else if (Remuneración_Neta_Anual <= 45*UIT)
Impuesto_Anual_Proyectado = 0.2*Remuneración_Neta_Anual;
else
Impuesto_Anual_Proyectado = 0.3*Remuneración_Neta_Anual;
// salida
Imprime Seguro_de_Salud, Impuesto_Anual_Proyectado;
FIN
Problema 2:
INICIO
// variables
int n, a, b, c, b10;
// entrada
Lee n
// proceso
if (n<100 || n>999)
imprime('No tiene 3 digitos')
else{
// descompone el numero
c = n % 10; // unidades
b = n / 10 % 10; // decenas
a = n/100; // centenas
if (a>6 ||b>6 ||c>6){
imprime('Digitos incorrectos:');
if (a >6 )imprime(a);
if (b >6 )imprime(b);
if (c >6 )imprime(c);
}
else{
b10=a*Math.pow(7,2)+b*7+c;
imprime(b10);
}
}
FIN
Problema 3:
INICIO
// variables
double a,b,c,d;
// entrada
Lee a,b,c,d
// proceso
if (a==b && b==c && c==d)
imprime('Todos son iguales')
else if (a==b && b==c ) ||
(a==b && b==d ) ||
(a==c && c==d ) ||
(b==c && c==d)
imprime('3 son iguales')
else if (a==b && c==d) ||
(a==c && b==d) ||
(a==d && b==c)
imprime('Dos parejas son iguales')
else if (a==b || a==c || a==d ||b==c || b==d || c==d)
imprime('Una pareja es igual')
else
imprime('Todos son diferentes')
FIN
Problema 4:
INICIO
// variables
int marca, plan, cantidad
double precio, importec, imported, importep
// entrada
Lee marca, plan, cantidad
// encuentra el precio
switch(marca){
case 1: precio=100; break;
case 2: precio=160; break;
case 3: precio=145;
}
// calcula importe de compra
Importec = precio * cantidad;
// salida
Imprime importec, imported, importep
FIN