Está en la página 1de 20

Principios de algoritmos

ESTRUCTURA CONDICIONAL
ANIDADA

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 antigüedad en la empresa de acuerdo
con la siguiente tabla:

Tiempo Utilidad Menos de 1 año 5 % del salario 1 año o más y


menos de 2 años 7% del salario 2 años o más y menos de 5
años 10% del salario 5 años o más y menos de 10 años 15% del
salario 10 años o más 20% del salario

Desarrollo:

Proceso utilidad_anual
Definir pago, tiempo como entero
definir utianu como real
Escribir "Introducir digitos pago y tiempo"
Leer pago, tiempo
si tiempo<1 Entonces
utianu<- pago+0.05
sino
si tiempo>=1 y tiempo<2 entonces
utianu<- pago+0.07
sino
si tiempo>=2 y tiempo<5 Entonces
utianu<- pago+0.10
sino
si tiempo>=5 y tiempo<10 entonces
utianu<- pago+0.15
sino
si tiempo>=10 entonces
utianu<-pago+0.20
FinSi
FinSi
Finsi
FinSi
FinSi
Escribir "el pago que recibe como utilidad anual es :",utianu

FinProceso

2.-Dado un número entero; determinar si el mismo es par, impar o nulo.


DESARROLLO:

Proceso determinar

Definir num como entero

Escribir "El numero es"

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 año es bisiesto. Un año es bisiesto si es múltiplo de 4


(por ejemplo 1984). Los años múltiplos de 100 no son bisiestos, salvo si ellos son también múltiplos
de 400 (2000 es bisiesto, pero; 1800 no lo es)

DESARROLLO:

Proceso determinar

Definir num como entero

Escribir "El año es"

Leer num

si num mod 4=0 Entonces

Escribir "año bisiesto"

sino

si num mod 100=0 entonces

Escribir "año no bisiesto"

SiNo

si num mod 400=0 entonces

Escribir "año bisiesto"


sino

si num=1800 Entonces

Escribir "año no bisiesto"

FinSi

FinSi

FinSi

FinProceso

4.-Elaborar un algoritmo en el que a partir de una fecha introducida por teclado con el formato Día,
Mes Año, se obtenga la fecha del día siguiente.

DESARROLLO:

Proceso FECHA_SIGUIENTE

Definir DIA,MES,AÑO como entero

Escribir "Los datos son"

Leer DIA,MES,AÑO

si DIA>=1 Y DIA<=31 Entonces

ESCRIBIR "EL DIA ES: " ,DIA+1

sino

ESCRIBIR "DIA NO EXISTE"

FINSI
si MES>=1 Y MES<=12 entonces

ESCRIBIR " EL MES ES: " ,MES

SiNo

ESCRIBIR " EL MES NO EXISTE"

FINSI

si AÑO>=1 Y AÑO<2017 entonces

Escribir "EL AÑO ES:" ,AÑO

FinSi

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.

DESARROLLO:

Proceso CANTIDAD_TRABAJADOR

Definir COSTOTOT,PAGOH como entero

Escribir "Los datos son"

Leer PAGOH,HE

Si HE>=40 Entonces

PAGOTOT<-HE*(PAGOH+PAGOH)
SiNo

Si HE=8

PAGOTOT<-0*PAGOH

SiNo

Si HE>8 y HE<16 entonces

PAGOTOT<-HE*(PAGOH+PAGOH)

SiNo

Si HE>16 ENTONCES

PAGOTOT<-HE*(PAGOH+PAGOH+PAGOH)

FinSi

FinSi

FinSi

FinSi

Escribir "El pago total es :",PAGOTOT

FinProceso

6.-En una tienda de descuento se efectúa una promoción en la cual se hace un descuento sobre el
valor de la compra total según 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 sólo hay bolitas de los colores mencionados.

DESARROLLO:
Proceso CANTIDAD_TRABAJADOR

Definir COSTO,DES como entero

Escribir "Los datos son"

Leer COSTO,DES

Si DES=1 Entonces

COSTOFINAL<-COSTO-DES

FINSI

Si DES=0.50 ENTONCES

COSTOFINAL<-COSTO-DES

FINSI

Si DES=0.25 entonces

PAGOFINAL<-COSTO-DES

FIN SI

Si DES=0.10 ENTONCES

COSTOFINAL<-COSTO-DES

FINSI

SI DES=0 ENTONCES

COSTOFINAL<-COSTO-DES

FINSI

ESCRIBIR " EL COSTO FINAL ES:",COSTOFINAL

FinProceso
7.-Ingrese seis notas y calcule el promedio, considerando las 5 mejores notas.

DESARROLLO:

Proceso NOTAS

DEFINIR NOTA1, NOTA2, NOTA3, NOTA4, NOTA5, NOTA6 COMO ENTERO

DEFINIR PROMEDIO COMO REAL

ESCRIBIR" INGRESAR NOTAS"

LEER NOTA1, NOTA2, NOTA3, NOTA4, NOTA5, NOTA6

SI NOTA1>14 Entonces

ESCRIBIR "CORRECTA"

FINSI

SI NOTA2>=15 Entonces

ESCRIBIR "CORRECTA "

FINSI

SI NOTA3>=16 Entonces

ESCRIBIR "CORRECTA "

FINSI

SI NOTA4>=18 ENTONCES

ESCRIBIR "CORRECTA"

FINSI

SI NOTA5=20 ENTONCES

ESCRIBIR "CORRECTA"
SINO

SI NOTA6<12 ENTONCES

ESCRIBIR "INCORRECTA"

FinSi
FinSi

PROMEDIO<-(NOTA1+NOTA2+NOTA3+NOTA4+NOTA5+NOTA6)/6

ESCRIBIR " EL PROMEDIO FINAL ES:", PROMEDIO

FinProceso

8.-Calcular el pago por ciclo de un alumno de una Universidad, si se ingresan, créditos inscritos,
categoría, matricula (1: normal, 2: extemporánea). El pago por crédito depende de la categoría de
acuerdo a la siguiente tabla:
CATEGORÍA PAGO CREDITO A 125.00 B 150.00 C 180.00
Por matricula extemporánea se paga un recargo de 40.00 soles.

DESARROLLO:

Proceso PAGO_CICLO

DEFINIR CREINS,NORMAL1,EXTEM2,PAGOCRE Como Entero

DEFINIR CATEGORIA COMO CARACTER

ESCRIBIR "INGRESE DATOS"

LEER CREINS,NORMAL1,EXTEM2,PAGOCRE

ESCRIBIR "SELECCIONAR UNA CATEGORIA"

ESCRIBIR "A ES 125"

ESCRIBIR "B ES 150"

ESCRIBIR "C ES 180"

LEER OPCION

SI PAGOCRE=125 ENTONCES

ESCRIBIR "LA CATEGORIA ES A"

ESCRIBIR " EL PAGO POR CICLO ES:", 125*CREINS*NORMAL1

SINO
ESCRIBIR "EL PAGO POR CICLO ES:", 125*CREINS*EXTEM2

SI PAGOCRE=150 ENTONCES

ESCRIBIR " LA CATEGORIA ES B"

ESCRIBIR " EL PAGO POR CICLO ES:", 150*CREINS*NORMAL1

SINO

ESCRIBIR "EL PAGO POR CICLO ES;",125*CREINS*EXTEM2

SI PAGOCRE=180 ENTONCES

ESCRIBIR "LA CATEGORIA ES C"

ESCRIBIR "EL PAGO POR CICLO ES:", 180*CREINS*NORMAL1

SINO

ESCRIBIR "EL PAGO POR CICLO ES:", 180*CREINS*EXTEM2

FinSi

FinSi

FinSi

FinProceso

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

DESARRROLLO:
Proceso PAGO_CICLO

DEFINIR EDAD,COSTOPA Como REAL

ESCRIBIR "INGRESE DATOS"

LEER COSTOPA

SI COSTOPA=25 ENTONCES

ESCRIBIR "EL TIPO DE ENFERMEDAD ES 0:"

ESCRIBIR "EL PAGO POR CICLO ES:",25+0.10

SINO

ESCRIBIR "EL PAGO POR CICLO ES:",25

SI COSTOPA=16 ENTONCES

ESCRIBIR "EL TIPO DE ENFERMEDAD ES 1:"

ESCRIBIR" EL PAGO POR CICLO ES:", 16+0.10

SINO

ESCRIBIR "EL PAGO POR CICLO ES;",16

SI COSTOPA=20 ENTONCES

ESCRIBIR "EL TIPO DE ENFERMEDAD ES 2:"

ESCRIBIR "EL PAGO POR CICLO ES:", 20+0.10


SINO

ESCRIBIR "EL PAGO POR CICLO ES:",20

SI COSTOPA=32 Entonces

ESCRIBIR "EL TIPO DE ENFERMEDAD ES 3:"

ESCRIBIR "EL PAGO POR CICLO ES:", 32+0.10

SINO

ESCRIBIR " EL PAGO POR CICLO ES:",32

FinSi

FinSi

FinSi

FinSi

FinProceso

10.-Determinar si un número es múltiplo de 2, de 3, de 5 o de ninguno de ellos. Considere que existen


números que pueden ser múltiplos de más de un número. Por ejemplo: si se Ingresa 15 debe
mostrarse “El número es múltiplo de 3”, “El número es múltiplo de 5”.

DESARROLLO:
Proceso MULTIPLOS

DEFINIR NUM Como ENTERO

ESCRIBIR "INGRESE DATOS"

LEER NUM

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 3=0 Y NUM MOD 5=0 ENTONCES

ESCRIBIR "EL NUMERO ES MULTIPLO DE 3"

ESCRIBIR "EL NUMERO ES MULTIPLO DE 5"

SINO

SI NUM MOD 5=0 Y NUM MOD 2=0 ENTONCES

ESCRIBIR "EL NUMERO ES MULTIPLO DE 5"

ESCRIBIR "EL NUMERO ES MULTIPLO DE 2"

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 función al colegio de procedencia del
alumno; asimismo los importes están exonerados de impuestos.

INSTITUTOS
Colegio A B C
Nacional 50 40 30
Particular 25 29 15

DESARROLLO:

Proceso importe_alumno

Definir A,B,C como caracter

Definir des como ENTERO

Escribir "los descuentos son:"

Leer des

Escribir "el costo del instituto es:"

Leer costo

Si des=50 Entonces

Escribir "el colegio nacional es A"

Escribir " el costo a pagar por alumno es:", costo-des

SiNo

Si des=25 Entonces

Escribir "el colegio particular es A"

Escribir " el costo por alumno es:", costo-25


SiNo

si des=40 Entonces

Escribir " el colegio nacional es B"

Escribir " el costo por alumno es :", costo-des

SiNo

si des=29 entonces

Escribir "el colegio particular es B"

Escribir " el costo por alumno es:", costo-29

SiNo

Si des=30 Entonces

Escribir "el colegio nacional es C"

Escribir "el costo por alumno es:", costo-des

SiNo

si des=15 entonces

Escribir "el colegio particular es C"

Escribir "el costo por alumno es:", costo-15

FinSi

FinSi

FinSi

FinSi

FinSi

FinSi

FinProceso
12.-Una tienda distribuidora de ropa ha establecido porcentajes de descuento sobre el monto
comprado de la siguiente forma.

HOMBRES MUJERES
TALLA/ORIGEN S M L S M L
NACIONAL 10 12 15 15 17 20
IMPORTADO 05 07 10 07 09 12

Determinar y mostrar para un comprador, el monto comprado, el importe del descuento y el monto a
pagar.

DESARROLLO:

Proceso comprador

Definir moncom,impodesh,impodesm,montopa Como entero

Escribir "los datos son"

Leer moncom,impodesh,impodesm

Si impodesh=10 Entonces

Escribir "la talla para varón nacional es: ","S"

Escribir "El monto total es:", moncom-impodesh

SiNo

Si impodesh=05 Entonces

Escribir "La talla para varón importado es: ","S"

Escribir "El monto total es:", moncom-impodesh


SiNo

Si impodesh=12 Entonces

Escribir "la talla para varón nacional es: ","M"

Escribir "El monto total es:", moncom-impodesh

SiNo

Si impodesh=07 Entonces

Escribir "la talla para varón importado es :","M"

Escribir "El monto total es:", moncom-impodesh

SiNo

Si impodesh=15 Entonces

Escribir "la talla para varón nacional es :","L"

Escribir "El monto total es:", moncom-impodesh

SiNo

Si impodesh=10 Entonces

Escribir "la talla para varón importado es :L"

Escribir "El monto total es:", moncom-impodesh

FinSi

FinSi

FinSi

FinSi

FinSi

FinSi
Si impodesm=15 Entonces

Escribir "la talla para mujer nacional es: ","S"

Escribir "El monto total es:", moncom-impodesm

SiNo

Si impodesm=07 Entonces

Escribir "La talla para mujer importado es: ","S"

Escribir "El monto total es:", moncom-impodesm

SiNo

Si impodesm=17 Entonces

Escribir "la talla para mujer nacionales: ","M"

Escribir "El monto total es:", moncom-impodesm

SiNo

Si impodesm=09 Entonces

Escribir "la talla para mujer importado es: ","M"

Escribir "El monto total es:", moncom-impodesm

SiNo

Si impodesm=20 Entonces

Escribir "la talla para mujer nacional es: ","L"

Escribir "El monto total es:", moncom-impodesm

SiNo

Si impodesm=12 Entonces

Escribir "la talla para mujer importado es:","L"

Escribir "El monto total es:", moncom-impodesm

FinSi
FinSi

FinSi

FinSi

FinSi

FinSi

FinProceso

También podría gustarte