Sie sind auf Seite 1von 13

Principio de Algoritmos

ESTRUCTURA CONDICIONAL
ANIDADA

Practica N 6

Alumno: Valencia Paiva Olger

1.- Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si este se le asigna
como un porcentaje de su salario mensual que depende de su antigedad en la empresa de acuerdo con
la siguiente tabla:
Tiempo Utilidad
Menos de 1 ao 5 % del salario
1 ao o ms y menos de 2 aos 7% del salario
2 aos o ms y menos de 5 aos 10% del salario
5 aos o ms y menos de 10 aos 15% del salario
10 aos o ms 20% del salario

Proceso utilidad
definir sueldo Como Real
definir TT como real
escribir "ingrese sueldo";
leer sueldo
escribir "ingrese tiempo trabajando en aos";
leer TT

si TT < 1 entonces
S<- sueldo*0.05
sino
si TT >=1 y TT<2 entonces
S<-sueldo*0.07
sino
si TT >=2 y TT<5 entonces
S<-sueldo*0.1
Sino
si TT>5 o TT<10 entonces
S<-sueldo*0.15
sino
S<-sueldo*0.2
FinSi
FinSi
FinSi
FinSi
escribir "la utilidad que recibira es ",S;
FinProceso
2.- Dado un nmero entero; determinar si el mismo es par, impar o nulo.

Proceso numero_par_impar
definir num como entero
Escribir " ingrese numero";
leer num
si num=0 entonces
escribir "El numero es nulo";
Sino
si num mod 2 =0 entonces
Escribir " El numero es par";
Sino
escribir " El numero es impar ";
FinSi
FinSi

FinProceso

3.- Escribir un programa que determine si un ao es bisiesto. Un ao es bisiesto si es mltiplo de 4 (por


ejemplo 1984). Los aos mltiplos de 100 no son bisiestos, salvo si ellos son tambin mltiplos de 400
(2000 es bisiesto, pero; 1800 no lo es)

Proceso Bisiesto
Escribir "ingrese ao ao";
Leer ao;
Si ao mod 4 = 0 y ((ao mod 400 = 0) o (ao mod 100 <> 0)) Entonces
Escribir "El ao es bisiesto";
Sino
Escribir "El ao no es bisiesto";
FinSi
FinProceso

4.- Elaborar un algoritmo en el que a partir de una fecha introducida por teclado con el formato
Da, Mes Ao, se obtenga la fecha del da siguiente.

Proceso calendario
definir dia,mes,ao como entero
Escribir"Digite un dia";
Leer dia
Escribir "Digite un mes";
Leer mes
Escribir "Digite un ao";
Leer ao
SI (dia>31 O mes>12 O mes<1 O dia<1) entonces
Escribir "Fecha digitada invalida";
SINO
SI(dia<31) entonces
dia = dia + 1;
SINO
mes = mes + 1
SI mes=12 Entonces

FinSi
ao = ao +1
mes = 1
FINSI
FINSI

Escribir "Maana sera el ", "dia " dia," mes " mes," ao " ao;
FinProceso

5.- Determinar la cantidad de dinero que recibir un trabajador por concepto de las horas extras
trabajadas en una empresa, sabiendo que cuando las horas de trabajo exceden de 40, el resto se
consideran horas extras y que estas se pagan al doble de una hora normal cuando no exceden de 8; si las
horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se pagan las horas normales y el
resto al triple.

Proceso sueldo

definir HT,VH,HE,S,HER,HTR Como Entero

escribir "ingrese horas trabajadas";

leer HT

escribir "ingrese el valor por hora de trabajo";

leer VH

HTR<-HT-HE

HE<-HT-40

HER<-HE-8

si HT<=40 entonces

S<-HT*VH

sino

si HT>40 y HE<8 entonces

S<-(40*VH)+(HE*2*VH)

Sino

si HE>8 entonces

S<-(40*VH)+(HER*3*VH)+(VH*8*2)

FinSi

FinSi

FinSi

escribir "EL sueldo total es ",S;

FinProceso
6.- En una tienda de descuento se efecta una promocin en la cual se hace un descuento sobre el valor
de la compra total segn el color de la bolita que el cliente saque al pagar en caja. Si la bolita es de color
blanco no se le har descuento alguno, si es verde se le har un 10% de descuento, si es amarilla un 25%,
si es azul un 50% y si es roja un 100%. Determinar la cantidad final que el cliente deber pagar por su
compra. Se sabe que slo hay bolitas de los colores mencionados.

Proceso promocion
definir CB Como entero
definir costo,VF Como Real
escribir "ingrese valor de la compra";
leer costo
escribir "ingrese color de la bolita"
escribir " 1.- blanco";
escribir " 2.- verde";
escribir " 3.- amarillo";
escribir " 4.- azul";
escribir " 5.- rojo";
leer CB
si CB=1 entonces
VF<-costo
Sino
si CB=2 entonces
VF<-costo-(costo*0.1)
Sino
si CB=3 entonces
VF<-costo-(costo*0.25)
Sino
si CB=4 entonces
VF<-costo-(costo*0.5)
Sino
si CB=5 entonces
VF<-costo-costo
FinSi
FinSi
FinSi
FinSi

FinSi
escribir "La cantidad a pagar es ",VF;
FinProceso

7.- Ingrese seis notas y calcule el promedio, considerando las 5 mejores notas.
Proceso promedio
definir n1,n2,n3,n4,n5,n6 Como Entero
Definir NF como real
escribir "ingrese notas";
leer n1,n2,n3,n4,n5,n6
si n1<n2 y n1<n3 y n1<n4 y n1<n5 y n1<n6 entonces
NF<-(n2+n3+n4+n5+n6)/5
Sino
si n2<n1 y n2<n3 y n2<n4 y n2<n5 y n2<n6 entonces
NF<-(n1+n3+n4+n5+n6)/5
Sino
si n3<n1 y n3<n2 y n3<n4 y n3<n5 y n3<n6 entonces
NF<-(n1+n2+n4+n5+n6)
Sino
si n4<n1 y n4<n2 y n4<n3 y n4<n5 y n4<n6 entonces
NF<-(n1+n2+n3+n5+n6)/5
sino
si n5<n1 y n5<n2 y n5<n3 y n5<n4 y n5<n6 Entonces
NF<-(n1+n2+n3+n4+n6)/5
Sino
NF<-(n1+n2+n3+n4+n5)/5
FinSi
FinSi
FinSi
FinSi
finsi
escribir "el promedio es ",NF;
FinProceso

8.- Calcular el pago por ciclo de un alumno de una Universidad, si se ingresan, crditos inscritos,
categora, matricula (1: normal, 2: extempornea). El pago por crdito depende de la categora de
acuerdo a la siguiente tabla:

CATEGORA PAGO CREDITO


A 125.00
B 150.00
C 180.00
Por matricula extempornea se paga un recargo de 40.00 soles.

Proceso pago_ciclo
definir P,CI,CT, MT Como Real
escribir "ingrese numero de creditos inscritos";
leer CI
escribir "ingrese tipo de matricula";
escribir " 1.- normal";
escribir " 2.- extemporanea";
leer MT
escribir "ingrese categoria";
escribir " 1.- categoria A";
escribir " 2.- categoria B";
escribir " 3.- categoria C";
leer CT
si MT=1 entonces
si CT=1 entonces
P<-(CI*125)
Sino
si CT=2 entonces
P<-(CI*150)
Sino
si CT=3 Entonces
P<-(CI*150)
FinSi
FinSi
FinSi
FinSi

si MT=2 entonces
si CT=1 entonces
P<-(CI*125)+40
Sino
si CT=2 entonces
P<-(CI*150)+40
Sino
si CT=3 entonces
P<-(CI*180)+40
Sino

FinSi
FinSi
FinSi
FinSi

escribir "el total a pagar es ",P;

FinProceso
9.- En un hospital se ha hecho un estudio sobre los pacientes registrados durante los ltimos 10 aos, con
el objeto de hacer una aproximacin de los costos de internamiento por paciente. Se obtuvo un costo
promedio diario segn el tipo de enfermedad que aqueja al paciente, adems se pudo determinar que en
promedio todos los pacientes con edad entre 14 y 22 aos implican un costo adicional del 10%. La
siguiente tabla expresa los costos diarios segn el tipo de enfermedad.
TIPO DE ENFERMEDAD COSTO /PACIENTE
0 25
1 16
2 20
3 32
Calcular e imprimir el costo que representa un paciente

Proceso costo_paciente
definir CP como real
definir TE como entero
escribir "ingrese edad";
leer ED
escribir "ingrese tipo de enfermedad";
escribir " 1.- tipo de enfermedad 0";
escribir " 2.- tipo de enfermedad 1";
escribir " 3.- tipo de enfermedad 2";
escribir " 4.- tipo de nefermedad 3";
leer TE
si ED>=14 o ED<=22 entonces
si TE=1 entonces
CP<-25+(25*0.1)
sino
si TE=2 entonces
CP<-16+(16*0.1)
sino
si TE=3 entonces
CP<-20+(20*0.1)
sino
si TE=4 Entonces
CP<-32+(32*0.1)
FinSi
FinSi
FinSi
FinSi
FinSi
si ED>=0 y ED<14 o ED>22 Entonces
si TE=1 entonces
CP=25
sino
si TE=2 entonces
CP=16
Sino
si TE=3 entonces
CP=20
Sino
CP=32
FinSi
FinSi
FinSi
FinSi

escribir "el costo del paciente es ",CP;


FinProceso

10.-Determinar si un nmero es mltiplo de 2, de 3, de 5 o de ninguno de ellos. Considere que existen


nmeros que pueden ser mltiplos de ms de un nmero. Por ejemplo: si se
Ingresa 15 debe mostrarse El nmero es mltiplo de 3, El nmero es mltiplo de 5

Proceso multiplos
// este ejercicio me repite lo mismo 2 veces
definir num Como Entero
escribir "ingrese numero";
leer num

si num mod 2=0 entonces


escribir "EL numero es multiplo de 2";
sino
si num mod 3=0 entonces
Escribir "El numero es multiplo de 3";
Sino
si num mod 5 =0 entonces
escribir "El numero es multiplo de 5";
FinSi
FinSi
FinSi
si num mod 2=0 y num mod 3=0 y num mod 5=0 Entonces
escribir "El numero es multiplo de 2";
escribir " El numero es mutiplo de 3";
escribir " El numero es multiplo de 5";
Sino
si num mod 2=0 y num MOD 3=0 entonces
escribir " El numero es multiplo de 2";
escribir " El numero es multiplo de 3";
Sino
si num mod 2=0 y num mod 5 =0 entonces
escribir " El numero es multiplo de 2";
escribir " El numero es multiplo de 5";
Sino
si num mod 15=0 entonces
escribir " El numero es multiplo de 5";
escribir " El numero es multiplo de 3";
Sino
escribir "El numero no es multiplo de 2";
escribir "El numero no es multiplo de 3";
escribir "El numero no es multiplo de 5";
FinSi
FinSi
FinSi
FinSi
FinProceso

11.- Determinar el importe a pagar por un alumno de un instituto cuya cuota tiene un porcentaje de
descuento que se establece en la siguiente tabla y est en funcin al colegio de procedencia del alumno;
asimismo los importes estn exonerados de impuestos.

Proceso descuento_insti
definir TC, TINS Como Entero
definir D,MP,IP como real
escribir "ingrese importe a pagar";
leer IP
escribir "ingrese tipo de Colegio";
escribir " 1.- nacional";
escribir " 2.- particular";
leer TC
escribir "ingrese tipo de Insituto";
escribir " 1.- Instituto tipo A";
escribir " 2.- Instituto tipo B";
escribir " 3.- Instituto tipo C";
leer TINS
si TC=1 y TINS=1 Entonces
MP<-IP-(IP*0.5)
Sino
si TC=1 y TINS=2 Entonces
MP<-IP-(IP*0.4)
Sino
si TC=1 y TINS=3 entonces
MP<-IP-(IP*0.3)
FinSi
FinSi

FinSi
si TC=2 y TINS=1 entonces
MP<-IP-(IP*0.25)
Sino
si TC=2 y TINS=2 Entonces

MP<-IP-(IP*0.29)
Sino
si TC=2 y TINS=3 Entonces

MP<-IP-(IP*0.15)
FinSi
FinSi

FinSi
Escribir "el monto a pagar es ",MP;
FinProceso

12.- Una tienda distribuidora de ropa ha establecido porcentajes de descuento sobre el monto comprado
de la siguiente forma:
Determinar y mostrar para un comprador, el monto comprado, el importe del descuento y el monto a
pagar.

Proceso descuento
Definir MC,D,MA Como Real
definir Orig,T,S Como Entero
escribir "ingrese monto comprado";
leer MC
Escribir "ingrese origen de la prenda";
Escribir " 1.- nacional";
escribir " 2.- importado";
leer Orig
escribir "ingrese talla de la prenda";
escribir " 1.- Talla S";
escribir " 2.- Talla M";
escribir " 3.- Talla L";
leer T
escribir "ingrese sexo";
escribir " 1.- hombre";
escribir " 2.- mujer";
leer S
si S=1 y Orig=1 y T=1 entonces
MA<-MC-(MC*0.1)
Sino
si S=1 y Orig=1 y T=2 entonces
MA<-MC-(MC*0.12)
Sino
si S=1 y Orig=1 y T=3 entonces
MA<-MC-(MC*0.15)
FinSi
FinSi
FinSi
si S=1 y Orig=2 y T=1 entonces
MA<-MC-(MC*0.05)
sino
si S=1 y Orig=2 y T=2 entonces
MA<- MC-(MC*0.07)
sino
si S=1 y Orig=2 Y T=3 entonces
MA<-MC-(MC*0.1)
FinSi
FinSi
FinSi
si S=2 y Orig=1 y T=1 entonces
MA<-MC-(MC*0.15)
Sino
si S=2 y Orig=1 y T=2 Entonces
MA<-MC-(MC*0.17)
Sino
si S=2 y Orig=1 y T=3 entonces
MA<-MC-(MC*0.2)
si S=2 y Orig=2 y T=1 entonces
MA<-MC-(MC*0.07)
Sino
si S=2 y Orig=2 y T=2 Entonces
MA<-MC-(MC*0.09)
sino
si S=2 Y Orig=2 y T=3 entonces
MA<-MC-(MC*0.12)
FinSi
FinSi
FinSi
FinSi
FinSi
FinSi
D<-MC-MA
escribir "el monto comprado es ",MC;
escribir "el monto a pagar es ",MA;
escribir "el descuento es ",D;
FinProceso

Das könnte Ihnen auch gefallen