Вы находитесь на странице: 1из 8

ESCUELA ACADEMICO

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

Sesin 4: Estructuras Selectivas Control Segn sea

I. OBJETIVOS

Al trmino de esta experiencia, el estudiante ser capaz de:


1. Resolver ejercicios con estructuras selectivas en pseudocdigos.
2. Identifcar los diversos errores que podran presentase en el diseo y corregirlos
adecuadamente.
3. Probar correctamente el pseudocdigo en Pseint.
4. Observar como seria en cdigo fuente escrito en C++ correctamente.

II. FUNDAMENTO TEORICO

Para alcanzar los objetivos de esta experiencia, es necesario tener en consideracin


los siguientes
Aspectos tericos:

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.

Trminos del algoritmo y su equivalente


en C++:
Espaol C+ Signifcad
+ Indica o presenta a lao variable selectora,
segn sea switc cuyos
h datos sern evaluados a continuacin.
caso case Indica el dato que se evala.

sino: default: Alternativa opcional.

Segn sea switc


h Marca el inicio y fn de todas las acciones
{ que se realizan dentro del control segn
finsegun sea.
}
break Sentencia necesaria para salir de un caso.

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.

Por ejemplo: Algoritmo que simula una calculadora:

Pseudocdigo con el control si: Pseudocdigo con el control segn sea:

Procedimiento Principal () Procedimiento Principal ()


Inicio Inicio
Caracter op Caracter op
Entero ok, x, y, rpta Entero ok, x, y, rpta
ok - 0 ok - 0
Entrada (x,op,y) Entrada (x,op,y)
Calculo (x,y,op,rpta,ok) Calculo (x,y,op,rpta,ok)
si (ok <> 1) si (ok <> 1)
Salida (rpta) Salida (rpta)
finsi finsi
Fin Fin

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:

#include <iostream.h> #include <iostream.h>

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.

ALGORITMOS Estructuras Selectivas (Segn sea)


Gua Practica N4

1. Construya una algoritmo que al ingresar un nmero entero imprima el da de la


semana que le corresponde. Por ejemplo: al ingresar 1 debe imprimir lunes.

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

Procedimiento NumDias (Ent nm, Ent &maxd, Ent &ok)


Inicio
Segn sea (nm)
caso 1: maxd -
31
caso 2: si (a mod 4 = 0)
maxd -
29 sino
maxd -
28 finsi
caso 3: maxd - 31
caso 4: maxd - 30
caso 5: maxd - 31
caso 6: maxd - 30
caso 7: maxd - 31
caso 8: maxd - 31
caso 9: maxd - 30
caso 10: maxd -
31 caso 11: maxd -
30 caso 12: maxd -
31
sino : Escribir ("Mes no valido")
ok - 1
Finsegun
Fin

3. Construya una calculadora que lea 2 nmeros y un operador y efecte la operacin


indicada (suma, resta, multiplicacin y divisin).

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

pagotot - pmes + padic


Fin
Procedimiento Salida (Ent pagotot)
Inicio
Escribir (El pago a realizar es: , pagotot)
Fin
6. Una empresa de carga brinda servicio a todo el continente americano, la tarifa
que cobra por cada tonelada se muestra en el siguiente cuadro:
Destinos ($/tonelada)
Medio de transporte Norte Sur Centro
Areo 30 25 20
Martim 25 20 15
o 20 15 10
Terrestr
Asimismo, si la carga que se transporta es perecible, se le incrementa el 7% del
pago total de
acuerdo a las toneladas.

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.

8. Un supermercado ofrece a sus clientes descuentos de acuerdo al monto de


compra, como se muestra en el siguiente cuadro:
Compra (S/.) Descuento (%)
0 250 0
251 500 5
501 1000 10
1001 15
Para recibir los benefciosms
de descuento un cliente solo puede comprar dentro de
un determinado
rubro, as mismo dependiendo del rubro de la compra, se le aplica el siguiente
impuesto sobre la
compra descontada.
Rubro Impuesto (%)
Comestibles 15
Juguetes 20
Construir un algoritmo que calcule el pago total que har un determinado cliente.
9. Una tienda de venta de polos ha establecido porcentajes de descuento, indicados
a continuacin, de acuerdo a las caractersticas de la prenda: Tipo de algodn
(Simple, Pima), Tipo de prensa (Nio, Joven, Adulto), Detalle de la prenda (Sin
estampado, Con estampado)
Nio Joven Adulto
Tipo de algodn S C S C S C
Simpl 3 5 4 6 5 7
e
Pima 5 3 6 4 7 5
Calcular el importe a pagar por una prenda.
10. Un centro comercial ofrece ventas fnanciadas por 3 tipos de tarjetas de crdito
como indica a
continuacin:
Max. Letras Tipo de Tarjeta Inters (%)
12 A 5
8 B 10
6 C 15
El cliente solo puede financiar una compra hasta el mximo de letras que se
indica en el cuadro
anterior, en caso contrario la venta no debe proceder. Calcular el monto de cada
letra por pagar as
como el monto total.

Вам также может понравиться