Академический Документы
Профессиональный Документы
Культура Документы
PROFESIONAL
LABORATORIO N 3
Escuela Profesional: Ingeniera Asignatura: Principios de Algoritmos.
Ciclo y Turno: tarde Semestre Acadmico: 2017
Docente: Ing. Fidel Prado Macalupu Fecha: 14 de enero 2017
I. OBJETIVOS
Estructura Selectiva
Se identifcan porque estn compuestos de un selector, el cual es una variable, que
ser evaluada
segn el contenido que esta tenga, para lo cual es indispensable conocer los datos
por anticipado que dicha variable puede almacenar, sino se conocen, el control no es
aplicable.
Cada posible dato que pueda almacenar esta variable selectora ser una caso (case)
que llevar a una o ms acciones a realizar de cumplirse con esa alternativa.
Nota: El Flag o Bandera (ok) es una variable de comparacin que la venimos utilizando
desde la clase anterior y se utiliza para evitar que se visualice una salida ante un
mensaje de error. Esta variable generalmente se Inicializa en un valor 0 (ok -0) y
ante un mensaje de error cambia de estado a 1 (ok
-1), lo cual nos permitir condicionar las acciones siguientes que no deseamos que se
realicen, agrupando todo ello con la condicin:
si (ok 1), entonces al encontrar una respuesta de NO, las acciones siguientes ya no se
ejecutarn.
Procedimiento Entrada (Ent &x, Caract &op, Ent &y) Procedimiento Entrada (Ent &x, Caract &op, Ent &y)
Inicio Inicio
Escribir ( "Introduzca un nmero: ") Escribir ( "Introduzca un nmero: ")
Leer (x) Leer (x)
Escribir ("Introduzca un operador: ") Escribir ("Introduzca un operador: ")
Leer (op) Leer (op)
Escribir ("Introduzca otro nmero: ") Escribir ("Introduzca otro nmero: ")
Leer (y) Leer (y)
Fin Fin
Procedimiento Calculo (Ent x, Ent y, Caract op, Ent &rpta, Ent &ok) Procedimiento Calculo (Ent x, Ent y, Caract op, Ent &rpta, Ent &ok)
Inicio Inicio
si (op = + ) segun sea (op)
rpta - x + caso +: resultado - x +
y sino si ( op = - ) y caso -: resultado - x -
rpta - x - y y caso *: resultado - x
sino si ( op = * ) * y caso / : si (y <> 0)
rpta - x * resultado - x / y;
y sino si (op = / ) sino
si (y <> 0) Escribir (Divisin irreal)
rpta - x / ok -
y sino 1 finsi
Escribir (Divisin irreal) sino:
ok - Escribir ("El operador no existe")
1 finsi ok -
sino 1 finsegun
Escribir ("El operador no existe") Fin
ok - 1
finsi
Fin Procedimiento Salida(Ent rpta)
Inicio
Procedimiento Salida(Ent rpta) Escribir ( El resultado es: " , rpta )
Inicio Fin
Escribir ( El resultado es: " , rpta )
Fin
Cdigo C++ con el control if: Cdigo C++ con el control switch:
void Entrada (int &x, char &op, int &y) void Entrada (int &x, char &op, int &y)
{ {
cout<< "Introduzca un nmero: " ; cout<< "Introduzca un nmero: " ;
cin >> x ; cin >> x ;
cout<< "Introduzca un operador: "; cout<< "Introduzca un operador: ";
cin >> op; cin >> op;
cout<< "Introduzca otro nmero: "; cout<< "Introduzca otro nmero: ";
cin >> y; cin >> y;
} }
void Calculo (int x, int y, char op, int &rpta, int &ok) void Calculo (int x, int y, char op, int &rpta, int &ok)
{ {
if (op == + ) switch (op)
{ rpta = x + y; { case +: rpta = x + y ; break;
} case -: rpta = x y ; break;
else if ( op == - ) case *: rpta = x * y ; break;
{ rpta = x y ; case /: if (y != 0)
} { rpta = x / y;
else if ( op == * ) }
{ rpta = x * y; else
} { cout<< Divisin irreal ;
else if (op == / ) ok = 1;
{ if ( y != 0 ) }
{ rpta = x / y; break;
} default: cout<<"El operador no existe";
else ok = 1;
{ cout<< Divisin irreal; }
ok = 1; }
}
} void Salida (int rpta)
else {
{ cout<< "El operador no existe"; cout<< El resultado es: " << rpta ;
ok = 1; }
}
} void main ()
{ char op;
void Salida (int rpta) int ok, x, y, rpta;
{ ok = 0;
cout<< El resultado es: " << rpta ; Entrada (x,op,y);
} Calculo (x,y,op,rpta,ok);
if (ok != 1)
void main () { Salida (rpta);
{ char op; }
int ok, x, y, rpta; }
ok = 0;
Entrada (x,op,y);
Calculo (x,y,op,rpta,ok);
if (ok != 1)
{ Salida (rpta);
}
}
III. EQUIPOS Y MATERIALES
+Computadora personal
+Programa Borland C++ 4.5 instalado
+Cuaderno de clases, donde estn los ejercicios resueltos en pseudocdigos.
IV. PROCEDIMIENTO
a) Encender el computador.
b) Crear carpeta donde guardar sus programas.
c) Ingresar al Borland C++ 4.5
d) Codifcar los algoritmos desarrollados en el aula.
e) Presentar avances y ejecucin de cada uno de los ejercicios al docente o
jefe de prctica encargado para la califcacin correspondiente.
f) Guardar la carpeta de sus archivos a sus
memorias. g) Retirarse del laboratorio de
forma ordenada.
Pseudocdigo
Procedimiento Imprimir (Entero nd)
Inicio
Segn sea (nd)
caso 1: Escribir ("Lunes")
caso 2: Escribir ("Martes")
caso 3: Escribir ("Miercoles")
caso 4: Escribir ("Jueves")
caso 5: Escribir ("Viernes")
caso 6: Escribir ("Sabado")
caso 7: Escribir ("Domingo")
sino : Escribir ("Dia no valido")
Finsegun
Fin
2. Construir un algoritmo que al ingresar un nmero entero que indique el mes, nos
muestre cuantos das tiene dicho mes.
Pseudocdigo
4. Construya un algoritmo que al ingresar una fecha (da, mes y ao) nos indique si la
fecha ingresada es correcta o no.
5. Una compaa de seguros ofrece a sus clientes cuatro tipos de seguro de sepelio:
Tipo Mximo nmero de Personas Pago mensual (S/.)
A 8 40
B 6 30
C 4 20
D 2 10
Si el cliente asegura a ms personas de la indicadas en el cuadro anterior tendr que
pagar S/.8.00
mensuales por cada persona adicional si es que el seguro es de tipo A o B, y S/.5.00
mensuales por
cada persona adicional si es que el seguro es de tipo C o D. Calcular el monto
anual que tiene que pagar un determinado cliente.
Pseudocdigo
Procedimiento Principal ()
Inicio
Entero ok, ts, np, maxp, pmes, perextr, padic, pagotot
ok - 0
Entradas (ts, np)
CalcDatos (ts,maxp,pmes,ok)
si (ok <> 1)
CalcPago (np,maxp,ts,pmes,pagotot)
Salida (pagotot)
finsi
Fin
Procedimiento Entradas (Ent &ts, Ent &np)
Inicio
Escribir ("Ingresar tipo de seguro A=1, B=2, C=3, D=4: ")
Leer (ts)
Escribir ("Ingresar nmero de personas a asegurar: ")
Leer (np)
Fin
Procedimiento CalcDatos (Ent ts,Ent &maxp,Ent &pmes, Ent &ok)
Inicio
Segn sea (ts)
caso 1: maxp - 8
pmes -
40
caso 2: maxp - 6
pmes -
30
caso 3: maxp - 4
pmes -
20
caso 4: maxp - 2
pmes -
10
sino : Escribir ("Seguro no valido")
ok - 1
Finsegun
Fin
Procedimiento CalcPago (Ent np,Ent maxp,Ent ts,Ent pmes,Ent &pagotot)
Inicio
Enteros perextr, padic
si ( np > maxp)
perextr - np
maxp segn sea (ts)
caso 1:
caso 2: padic - 8 *
perextr caso 3:
caso 4: padic - 5 *
perextr finsegun
sino
padic - 0
finsi
7. Un banco realiza el pago de intereses a sus clientes por un deposito a plazo fjo de
acuerdo a la siguiente informacin: Tipo de moneda, Tiempo de deposito y
monto depositado. Los intereses sern aplicados segn el siguiente cuadro:
Meses Soles (%) Dlares (%)
05 0 0
6 12 6 4
13 mas 9 7
Mostrar el inters y el monto total a recibir.