Sie sind auf Seite 1von 16

PRACTICA 12

1. LEER UN NÚMERO ENTERO N Y CALCULE Y MUESTRE SU FACTORIAL N!, POR EJEMPLO: SI EL


NÚMERO ES 4, SU FACTORIAL ES: 4*3*2*1= 24

PROCESO FACTORIALL
ESCRIBIR "INGRESE EL NÚMERO"
LEER NUM
I=1
FACTORIAL=1

MIENTRAS I<=NUM HACER


FACTORIAL=FACTORIAL*I
I=I+1
FINMIENTRAS

ESCRIBIR "EL FACTORIAL DEL NÚMERO ES -> ", FACTORIAL


FINPROCESO

2. DETERMINAR LA CANTIDAD DE DÍGITOS QUE TIENE UN NÚMERO ENTERO Y ADEMÁS MOSTRAR LA


SUMA DE LOS DÍGITOS PARES E IMPARES.

PROCESO DÍGITOSS
ESCRIBIR "INGRESE EL NÚMERO"
LEER N
I=0
SN1=0
SN2=0
MIENTRAS N<>0 HACER
R= N MOD 10
SI R ES MULTIPLO DE 2 ENTONCES
SN1=SN1+R
SINO
SN2=SN2+R
FINSI
I=I+1
N=TRUNC (N/10)
FINMIENTRAS

ESCRIBIR "LA CANTIDAD DE DÍGITOS ES ->", I


ESCRIBIR "LA SUMA DE LOS DÍGITOS PARES ES ->", SN1
ESCRIBIR "LA SUMA DE LOS DÍGITOS IMPARES ES ->", SN2

FINPROCESO

3. DETERMINAR LA SUMA DE LOS N PRIMEROS TÉRMINOS DE LA SIGUIENTE SERIE:


1+ X + X 2 + X3 + X 4 + ........................
2! 3! 4!

ALGORITMO N_TÉRMINOS
ESCRIBIR "INGRESE EL NÚMERO DE TÉRMINOS"
LEER T
ESCRIBIR "INGRESE EL VALOR DE X"
LEER X
I=3
ST=0
DEN=1
EX=1
NUM=X

MIENTRAS I<=T HACER


NUM=NUM
DEN=DEN+1
EX=EX+1
ST=ST+(NUM^EX/DEN)
I=I+1
FINMIENTRAS

SUMTOTAL= ST+1+X
ESCRIBIR "LA SUMA DE LOS TÉRMINOS ES -->", SUMTOTAL

FINALGORITMO
4. A UNA FIESTA ASISTIERON PERSONAS DE DIFERENTES EDADES Y SEXOS. CONSTRUIR UN ALGORITMO
DADAS LAS EDADES Y SEXOS DE LAS PERSONAS. CALCULAR:

- CUÁNTAS PERSONAS ASISTIERON A LA FIESTA


- CUÁNTOS HOMBRES Y CUANTAS MUJERES
- PROMEDIO DE EDADES POR SEXO
- LA EDAD DE LA PERSONA MÁS JOVEN QUE ASISTIÓ –NO SE PERMITEN MENORES DE EDAD A LA FIESTA
- INGRESAR DATOS HASTA QUE SE INGRESE LA EDAD CERO

ALGORITMO FIESTA
ESCRIBIR "INGRESE EL NÚMERO DE PERSONAS EN LA FIESTA"
LEER NP
I=1
SH=0
SM=0
MIN=200
EH=0
EM=0
E1=0
E2=0
MIENTRAS I<=NP HACER
ESCRIBIR "SEXO DE LA PERSONA: (1) ES HOMBRE Y (2) ES MUJER"
ESCRIBIR "INGRESE LA EDAD DE LA PERSONA"
LEER S,E
SI S=1 ENTONCES
SH=SH+1
EH=EH+E
E1=E1+1
SINO
SM=SM+1
EM=EM+E
E2=E2+1
FINSI
SI E<MIN ENTONCES
MIN=E
FINSI
I=I+1
FINMIENTRAS
PEH=EH/E1
PEM=EM/E2
ESCRIBIR "EL PROMEDIO DE EDAD DE HOMBRES ES -->", PEH
ESCRIBIR "EL PROMEDIO DE EDAD DE MUJERES FUE -->", PEM
ESCRIBIR "--> ASISTIERON A LA FIESTA " NP " PERSONAS"
ESCRIBIR "--> FUERON " SH " HOMBRES A LA FIESTA"
ESCRIBIR "--> FUERON " SM " MUJERES A LA FIESTA"
ESCRIBIR "LA EDAD DE LA PERSONA MÁS JOVEN FUE -->", MIN
FINALGORITMO

5. EN UN ESTADIO SE TIENEN 5 TIPOS DIFERENTES DE LOCALIDADES, LAS CUALES SE IDENTIFICAN POR UN


VALOR COMPRENDIDO ENTRE 1 Y 5. LOS PRECIOS DE CADA LOCALIDAD, Y LOS DATOS REFERENTES A LAS VENTAS
DE BOLETOS PARA EL PRÓXIMO JUEGO SE PROPORCIONAN COMO SIGUE:

PRECIOS: P1, P2, P3, P4, P5


LOCALIDAD1 CANT1
LOCALIDAD2 CANT2
…. ….
LOCALIDAD 5 CANT5
DISEÑE UN ALGORITMO PARA:

• LEA LOS PRECIOS


• LEA LOS DATOS DE LAS VENTAS DE BOLETOS
• IMPRIMA PARA CADA VENTA, LA CLAVE, LA CANTIDAD Y EL IMPORTE TOTAL DE LOS BOLETOS VENDIDOS
EN ESTA VENTA
• CALCULE E IMPRIMA LA CANTIDAD DE BOLETOS VENDIDOS DE CADA TIPO
• CALCULE E IMPRIMA LA RECAUDACIÓN TOTAL DEL ESTADIO.

ALGORITMO LOCALIDADES
ESCRIBIR "INGRESE LOS PRECIOS DE LAS 5 LOCALIDADES"
LEER CANT1, CANT2, CANT3, CANT4, CANT5
MIENTRAS 1>0 HACER
ESCRIBIR "INGRESE EL TIPO DE BOLETO QUE COMPRO Y LA CANTIDAD"
LEER T, CANT
SI T=1 ENTONCES
PRECIO1=CANT*11
SB1=SB1+PRECIO1
CONT1=CONT1+CANT
SINO SI T=2
PRECIO2=CANT*12
SB2=SB2+PRECIO2
CONT2=CONT2+CANT
SINO SI T=3
PRECIO3=CANT*13
SB3=SB3+PRECIO3
CONT3=CONT3+CANT
SINO SI T=4
PRECIO4=CANT*14
SB4=SB4+PRECIO4
CONT4=CONT4+CANT
SINO
PRECIO5=PRECIO5*15
SB5=SB5+PRECIO5
CONT5=CONT+CANT
FINSI
FINSI
FINSI
FINSI
ESCRIBIR "MARQUE (1) PARA INGRESAR LOS DATOS O (2) PARA SALIR"
LEER NUM
SI NUM=1 ENTONCES
I=1
SINO
I=0
FINSI
FINMIENTRAS
ST=SB1+SB2+SB3+SB4+SB5
ESCRIBIR "EL IMPORTE TOTAL DE LOS BOLETOS SEGÚN ORDEN SON -->", SB1 ", " SB2 ", " SB3 ", " SB4 ", "
SB5
ESCRIBIR "LA CANTIDAD DE LOS BOLETOS VENDIDOS SEGÚN ORDEN SON -->", CONT1 ", " CONT2 ", "
CONT3 ", " CONT4 ", " CONT5
ESCRIBIR "LA RECAUDACIÓN TOTAL DEL ESTADIO ES DE -->", ST

FINALGORITMO

6. EN UN ESTADIO SE TIENEN 5 TIPOS DIFERENTES DE LOCALIDADES, LAS CUALES SE IDENTIFICAN POR UN VALOR
COMPRENDIDO ENTRE 1 Y 5. LOS PRECIOS DE CADA LOCALIDAD, Y LOS DATOS REFERENTES A LAS VENTAS DE
BOLETOS PARA EL PRÓXIMO JUEGO SE PROPORCIONAN COMO SIGUE: PRECIOS: P1, P2, P3, P4, P5 LOCALIDAD1
CANT1 LOCALIDAD2 CANT2 …. …. LOCALIDAD 5 CANT5 DISEÑE UN ALGORITMO PARA:  LEA LOS PRECIOS  LEA
LOS DATOS DE LAS VENTAS DE BOLETOS  IMPRIMA PARA CADA VENTA, LA CLAVE, LA CANTIDAD Y EL IMPORTE
TOTAL DE LOS BOLETOS VENDIDOS EN ESTA VENTA  CALCULE E IMPRIMA LA CANTIDAD DE BOLETOS VENDIDOS
DE CADA TIPO  CALCULE E IMPRIMA LA RECAUDACIÓN TOTAL DEL ESTADIO.

ALGORITMO LOCALIDADES
ESCRIBIR "INGRESE LOS PRECIOS DE LAS 5 LOCALIDADES"
LEER CANT1, CANT2, CANT3, CANT4, CANT5
MIENTRAS 1>0 HACER
ESCRIBIR "INGRESE EL TIPO DE BOLETO QUE COMPRO Y LA CANTIDAD"
LEER T, CANT
SI T=1 ENTONCES
PRECIO1=CANT*11
SB1=SB1+PRECIO1
CONT1=CONT1+CANT
SINO
SI T=2
PRECIO2=CANT*12
SB2=SB2+PRECIO2
CONT2=CONT2+CANT
SINO SI T=3
PRECIO3=CANT*13
SB3=SB3+PRECIO3
CONT3=CONT3+CANT
SINO SI T=4
PRECIO4=CANT*14
SB4=SB4+PRECIO4
CONT4=CONT4+CANT
SINO
PRECIO5=PRECIO5*15
SB5=SB5+PRECIO5
CONT5=CONT+CANT
FINSI
FINSI
FINSI
FINSI
ESCRIBIR "MARQUE (1) PARA INGRESAR LOS DATOS O (2) PARA SALIR"
LEER NUM
SI NUM=1 ENTONCES
I=1
SINO
I=0
FINSI
FINMIENTRAS
ST=SB1+SB2+SB3+SB4+SB5
ESCRIBIR "EL IMPORTE TOTAL DE LOS BOLETOS SEGÚN ORDEN SON -->", SB1 ", " SB2 ", " SB3 ", " SB4", " SB5
ESCRIBIR "LA CANTIDAD DE LOS BOLETOS VENDIDOS SEGÚN ORDEN SON -->", CONT1 ", " CONT2 ", " CONT3 ", "
CONT4 ", " CONT5
ESCRIBIR "LA RECAUDACIÓN TOTAL DEL ESTADIO ES DE -->", ST
FINALGORITMO

7. UNA CLASE CONSTA DE N ESTUDIANTES (CON 1<=N<=50), CADA UNO DE LOS CUÁLES CURSA 5 MATERIAS.
PARA CADA ALUMNO SE INGRESA, CLAVE Y LAS 5 CALIFICACIONES. ESCRIBA UN ALGORITMO PARA CALCULAR EL
PROMEDIO ENTERO Y UNA BARRA HORIZONTAL DE ASTERISCOS COMO REPRESENTACIÓN GRÁFICA DEL
PROMEDIO.

ALGORITMO PROM_ALUMNOS
ESCRIBIR "INGRESE LA CANTIDAD DE ALUMNOS, QUE NO SUPERE LOS 50 ESTUDIANTES"
LEER N
I=0
S1=0
S2=0
S3=0
S4=0
S5=0
MIENTRAS I<=N HACER
ESCRIBIR "INGRESE LAS 5 NOTAS DEL ESTUDIANTE"
LEER N1, N2, N3, N4, N5
S1=S1+N1
S2=S2+N2
S3=S3+N3
S4=S4+N4
S5=S5+N5
I=I+1
FINMIENTRAS
PROM1=TRUNC (S1/N)
PROM2=TRUNC (S2/N)
PROM3=TRUNC (S3/N)
PROM4=TRUNC (S4/N)
PROM5=TRUNC (S5/N)
ESCRIBIR "EL PROMEDIO DE LA MATERIA 1 FUE DE", PROM1
ESCRIBIR "EL PROMEDIO DE LA MATERIA 2 FUE DE", PROM2
ESCRIBIR "EL PROMEDIO DE LA MATERIA 3 FUE DE", PROM3
ESCRIBIR "EL PROMEDIO DE LA MATERIA 4 FUE DE", PROM4
ESCRIBIR "EL PROMEDIO DE LA MATERIA 5 FUE DE", PROM5
FINALGORITMO

8. CONSTRUIR UN PROGRAMA QUE DETERMINE LA POTENCIA DE MN SIENDO M UN NÚMERO REAL Y N UN


NÚMERO ENTERO. CONSIDERE QUE N PUEDE SER POSITIVO, NEGATIVO O CERO. NO USE NINGÚN MÉTODO
MATH.
ALGORITMO POTENCIA_MN
ESCRIBIR "INGRESE EL NUMERO QUE DESEA ELEVAR A LA POTENCIA"
LEER M
ESCRIBIR "INGRESA EL EXPONENTE"
LEER N
I=1
POTENCIA=1
MIENTRAS I>=N HACER
POTENCIA=1/M*POTENCIA
I=I-1
FINMIENTRAS
MIENTRAS I<=N HACER
SI N=0
POTENCIA=1
FINSI
POTENCIA=POTENCIA*M
I=I+1
FINMIENTRAS
ESCRIBIR "LA POTENCIA ES -->", POTENCIA
FINALGORITMO
9. HACER UN PROGRAMA QUE CALCULE EL SUELDO MENSUAL DE N EMPLEADOS DE UNA EMPRESA. SE INGRESA
EL NOMBRE, NÚMERO DE DÍAS TRABAJADOS, FALTAS POR CADA EMPLEADO. TAMBIÉN SE PIDE EL MONTO
TOTAL DE SUELDOS DE TODOS LOS EMPLEADOS. EL NÚMERO DE EMPLEADOS QUE GANAN ENTRE 2500 Y 3500.
EL NÚMERO DE EMPLEADOS QUE GANAN MENOS DE 1000 O MÁS DE 4000. CONSIDERE CONSTANTE EL PAGO
POR DÍA A CADA EMPLEADO Y QUE EL DESCUENTO POR DÍA DE FALTA ES DE 100% DEL PAGO DIARIO
PROCESO SUELDOMENSUALDENEMPLEADOS
EMPLEADOS_MENOS_1000 <- 0;
EMPLEADOS_ENTRE_2500_Y_3500 <- 0;
EMPLEADOS_MAS_4000 <- 0;
SUELDOS_DE_TODOS <- 0;
ESCRIBIR SIN SALTAR "INGRESE EL VALOR DE N:";
LEER N;
PARA I<-1 HASTA N CON PASO 1 HACER
ESCRIBIR "PROCESO ", I;
ESCRIBIR SIN SALTAR "INGRESE EL NOMBRE:";
LEER NOMBRE;
ESCRIBIR SIN SALTAR "INGRESE EL VALOR DE DIAS TRABAJADOS:";
LEER DIAS_TRABAJADOS;
ESCRIBIR SIN SALTAR "INGRESE EL VALOR DE FALTAS:";
LEER FALTAS;
ESCRIBIR SIN SALTAR "INGRESE EL VALOR DE PAGO POR DIA:";
LEER PAGO_POR_DIA;
SUELDO_MENSUAL <- (DIAS_TRABAJADOS-FALTAS)*PAGO_POR_DIA;
SI SUELDO_MENSUAL<1000 ENTONCES
EMPLEADOS_MENOS_1000 <- EMPLEADOS_MENOS_1000+1;
FINSI
SI SUELDO_MENSUAL>=2500 Y SUELDO_MENSUAL<=3500 ENTONCES
EMPLEADOS_ENTRE_2500_Y_3500 <- EMPLEADOS_ENTRE_2500_Y_3500+1;
FINSI
SI SUELDO_MENSUAL>4000 ENTONCES
EMPLEADOS_MAS_4000 <- EMPLEADOS_MAS_4000+1;
FINSI
SUELDOS_DE_TODOS <- SUELDOS_DE_TODOS+SUELDO_MENSUAL;
ESCRIBIR "NOMBRE: ", NOMBRE;
ESCRIBIR "VALOR DE SUELDO MENSUAL: ", SUELDO_MENSUAL;
ESCRIBIR "";
FINPARA
ESCRIBIR "VALOR DE EMPLEADOS MENOS 1000: ", EMPLEADOS_MENOS_1000;
ESCRIBIR "VALOR DE EMPLEADOS ENTRE 2500 Y 3500: ", EMPLEADOS_ENTRE_2500_Y_3500;
ESCRIBIR "VALOR DE EMPLEADOS MAS 4000: ", EMPLEADOS_MAS_4000;
ESCRIBIR "VALOR DE SUELDOS DE TODOS: ", SUELDOS_DE_TODOS;
FINPROCESO
10. SE LANZA UN DADO REITERADAS VECES HASTA QUE EL VALOR DEL TIRO ES 1. DETERMINAR LA CANTIDAD DE
VECES QUE SE LANZÓ EL DADO Y EL PUNTAJE ACUMULADO, SI LO QUE SE ACUMULA ES EL VALOR DEL TIRO.
ALGORITMO LANZDADO
ST=0
CONT=0
MIENTRAS I<>1 HACER
ESCRIBIR "INGRESE EL NÚMERO QUE SALIO EN EL DADO"
LEER I
ST=ST+I
CONT=CONT+1
FINMIENTRAS

ESCRIBIR "LA SUMA DE LOS TIROS DEL DADO SON", ST


ESCRIBIR "EL NÚMERO DE TIROS REALIZADOS ES", CONT
FINALGORITMO

11. DETERMINAR LA SUMA DE LOS N PRIMEROS TÉRMINOS DE LA SERIE DE FIBONACCI, Y MOSTRAR SUS
VALORES CONSIDERANDO QUE N SEA MAYOR QUE 1. LA SECUENCIA DE LA SERIE ES EL SIGUIENTE: 0, 1, 1, 2, 3, 5,
8, 13, 21, .......................
ALGORITMO NTÉRMINOS
ESCRIBIR "INGRESE EL NÚMERO DE TERMINOS"
LEER N
ST=0
X1=1
X2=2
I=2
MIENTRAS I<=N HACER
T=1+0
X3=X2+X1
X1=X2
X2=X3
ST=ST+X3
I=I+1
FINMIENTRAS
ESCRIBIR "LA SUMA DE LOS NÚMEROS DE LOS TÉRMINOS ES -->", ST
FINALGORITMO

12. CONVERTIR UN NÚMERO ENTERO DE BASE 10 A UNA BASE MENOR QUE 10, MOSTRANDO EL RESULTADO EN
PANTALLA.
ALGORITMO ENTERO_BASE
ESCRIBIR "INGRESE EL NÚMERO"
LEER N
SN=1
CONT=0
MIENTRAS SN<>0 HACER
SI N ES MULTIPLO DE 10 ENTONCES
N=N/10
CONT=CONT+1
SINO
SN=0
FINSI
N2=N

FINMIENTRAS

ESCRIBIR "LA SUMA DE LOS TÉRMINOS ES -->", N2


ESCRIBIR "EL NÚMERO DE INTENTOS PARA BAJARLE LA BASE DE 10 HAN SIDO -->", CONT
FINALGORITMO

13. EL DPTO. DE TRÁNSITO Y SEGURIDAD VIAL DESEA SABER DE LOS “N” AUTOS QUE ENTRAN A LA CIUDAD DE
14. LIMA, CUANTOS ENTRAN CON CALCOMANÍA DE CADA COLOR. CONOCIENDO EL ÚLTIMO DÍGITO DE LA
PLACA DE CADA AUTOMÓVIL SE PUEDE DETERMINAR EL COLOR DE LA CALCOMANÍA UTILIZANDO LA
SIGUIENTE RELACIÓN: DÍGITO COLOR 1 O 2 AMARILLA. 3 O 4 ROSA 5 O 6 ROJA 7 O 8 VERDE 9 O 0 AZUL
PROCESO SIN_TITULO
DEFINIR COLOR, NAUTOS, DIGITO, CONTADOR, AMARILLO, ROSA, ROJA, VERDE, AZUL COMO REAL;
ESCRIBIR "ESCRIBA LA CANTIDAD DE AUTOS QUE ENTRARON A LA CIUDAD";
LEER NAUTOS;
CONTADOR<-1;
AMARILLO<-0;
ROSA<-0;
ROJA<-0;
VERDE<-0;
AZUL<-0;
MIENTRAS CONTADOR<=NAUTOS HACER
ESCRIBIR "ESCRIBA EL ULTIMO DIGITO DE LA PLACA DEL AUTO ",CONTADOR;
LEER DIGITO;
SI ((DIGITO=1)&&(DIGITO=2)) ENTONCES
AMARILLO<-DIGITO+AMARILLO;
SINO
SI ((DIGITO=3)&&(DIGITO=4)) ENTONCES
ROSA<-ROSA+DIGITO;
SINO
SI ((DIGITO=5)&(DIGITO=6)) ENTONCES
ROJA<-ROJA+DIGITO;
SINO
SI ((DIGITO=7)&(DIGITO=8)) ENTONCES
VERDE<-VERDE+DIGITO;
SINO
SI ((DIGITO=9)&(DIGITO=0)) ENTONCES
AZUL<-AZUL+DIGITO;
SINO
FINSI
FINSI
FINSI
FINSI
FINSI
ESCRIBIR "AMARILLO ",AMARILLO;
ESCRIBIR "ROJOS ",ROJA;
ESCRIBIR "ROSAS ",ROSA;
ESCRIBIR "VERDE ",VERDE;
ESCRIBIR "AZULES ",AZUL;
CONTADOR<-CONTADOR+1;
FINMIENTRAS
FINPROCESO

15. EN UNA TIENDA DE DESCUENTO LAS PERSONAS QUE VAN A PAGAR EL IMPORTE DE SU COMPRA LLEGAN
A LA CAJA Y SACAN UNA BOLITA DE COLOR, QUE LES DIRÁ QUE DESCUENTO TENDRÁN SOBRE EL TOTAL DE
SU COMPRA. DETERMINAR LA CANTIDAD QUE PAGARÁ CADA CLIENTE DESDE QUE LA TIENDA ABRE HASTA
QUE CIERRA. SE SABE QUE SI LA BOLITA ES ROJA, EL CLIENTE OBTENDRÁ UN 40% DE DESCUENTO; SI ES
AMARILLA UN 25% Y SI ES BLANCA NO OBTENDRÁ DESCUENTO.
PROCESO DESCUENTOPORBOLITAROJAAMARILLABLANCA
REPETIR
ESCRIBIR SIN SALTAR "INGRESE EL VALOR DE IMPORTE DE LA COMPRA:";
LEER IMPORTE_DE_LA_COMPRA;
DESCUENTO <- 0;
BOLITA <- AZAR(3);
SI BOLITA = 0 ENTONCES
DESCUENTO <- IMPORTE_DE_LA_COMPRA*0.4;
ESCRIBIR "BOLITA ROJA";
FINSI
SI BOLITA = 1 ENTONCES
DESCUENTO <- IMPORTE_DE_LA_COMPRA*0.25;
ESCRIBIR "BOLITA AMARILLA";
FINSI
SI BOLITA = 2 ENTONCES
ESCRIBIR "BOLITA BLANCA";
FINSI
CANTIDAD_A_PAGAR <- IMPORTE_DE_LA_COMPRA-DESCUENTO;
ESCRIBIR "VALOR DE BOLITA: ", BOLITA;
ESCRIBIR "VALOR DE CANTIDAD A PAGAR: ", CANTIDAD_A_PAGAR;
ESCRIBIR "VALOR DE DESCUENTO: ", DESCUENTO;
ESCRIBIR "";
REPETIR
ESCRIBIR SIN SALTAR "¿DESEA REPETIR EL PROCESO? (S/N):";
LEER TECLA_REPETIR;
HASTA QUE TECLA_REPETIR='S' O TECLA_REPETIR='N' O TECLA_REPETIR='S' O TECLA_REPETIR='N'
HASTA QUE TECLA_REPETIR='N' O TECLA_REPETIR='N'
FINPROCESO
16. UN CENSADOR RECOPILA CIERTOS DATOS APLICANDO ENCUESTAS PARA EL ÚLTIMO CENSO NACIONAL
DE POBLACIÓN Y VIVIENDA. DESEA OBTENER DE TODAS LAS PERSONAS QUE ALCANCE A ENCUESTAR EN UN
DÍA, QUE PORCENTAJE TIENE ESTUDIOS DE PRIMARIA, SECUNDARIA, CARRERA TÉCNICA, ESTUDIOS
PROFESIONALES Y ESTUDIOS DE POSTGRADO.

PROCESO CENSONACIONALDEPOBLACIONYVIVIENDA
TOTAL_DE_PERSONAS <- 0;
PORCENTAJE_CON_PRIMARIA <- 0;
PORCENTAJE_CON_SECUNDARIA <- 0;
PORCENTAJE_CON_CARRERA_TECNICA <- 0;
PORCENTAJE_CON_PROFESIONAL <- 0;
PORCENTAJE_CON_POSTGRADO <- 0;
REPETIR
ESCRIBIR "SELECCIONE EL VALOR DE TIPO DE ESTUDIO.";
ESCRIBIR " 1.- PRIMARIA";
ESCRIBIR " 2.- SECUNDARIA";
ESCRIBIR " 3.- CARRERA TÉCNICA";
ESCRIBIR " 4.- PROFESIONAL";
ESCRIBIR " 5.- POSTGRADO";
ESCRIBIR SIN SALTAR " :";
REPETIR
LEER TIPO_DE_ESTUDIO;
SI TIPO_DE_ESTUDIO<1 O TIPO_DE_ESTUDIO>5 ENTONCES
ESCRIBIR SIN SALTAR "VALOR INCORRECTO. INGRÉSELO NUEVAMENTE.: ";
FINSI
HASTA QUE TIPO_DE_ESTUDIO>=1 Y TIPO_DE_ESTUDIO<=5;
SI TIPO_DE_ESTUDIO = 1 ENTONCES
PORCENTAJE_CON_PRIMARIA <- PORCENTAJE_CON_PRIMARIA+1;
FINSI
SI TIPO_DE_ESTUDIO = 2 ENTONCES
PORCENTAJE_CON_SECUNDARIA <- PORCENTAJE_CON_SECUNDARIA+1;
FINSI
SI TIPO_DE_ESTUDIO = 3 ENTONCES
PORCENTAJE_CON_CARRERA_TECNICA <- PORCENTAJE_CON_CARRERA_TECNICA+1;
FINSI
SI TIPO_DE_ESTUDIO = 4 ENTONCES
PORCENTAJE_CON_PROFESIONAL <- PORCENTAJE_CON_PROFESIONAL+1;
FINSI
SI TIPO_DE_ESTUDIO = 5 ENTONCES
PORCENTAJE_CON_POSTGRADO <- PORCENTAJE_CON_POSTGRADO+1;
FINSI
TOTAL_DE_PERSONAS <- TOTAL_DE_PERSONAS+1;
ESCRIBIR "";
REPETIR
ESCRIBIR SIN SALTAR "¿DESEA REPETIR EL PROCESO? (S/N):";
LEER TECLA_REPETIR;
HASTA QUE TECLA_REPETIR='S' O TECLA_REPETIR='N' O TECLA_REPETIR='S' O TECLA_REPETIR='N'
HASTA QUE TECLA_REPETIR='N' O TECLA_REPETIR='N'
SI TOTAL_DE_PERSONAS = 0 ENTONCES
PORCENTAJE_CON_PRIMARIA <- 0;
SINO
PORCENTAJE_CON_PRIMARIA <- 100.0*PORCENTAJE_CON_PRIMARIA/TOTAL_DE_PERSONAS;
FINSI
SI TOTAL_DE_PERSONAS = 0 ENTONCES
PORCENTAJE_CON_SECUNDARIA <- 0;
SINO
PORCENTAJE_CON_SECUNDARIA <- 100.0*PORCENTAJE_CON_SECUNDARIA/TOTAL_DE_PERSONAS;
FINSI
SI TOTAL_DE_PERSONAS = 0 ENTONCES
PORCENTAJE_CON_CARRERA_TECNICA <- 0;
SINO
PORCENTAJE_CON_CARRERA_TECNICA <-
100.0*PORCENTAJE_CON_CARRERA_TECNICA/TOTAL_DE_PERSONAS;
FINSI
SI TOTAL_DE_PERSONAS = 0 ENTONCES
PORCENTAJE_CON_PROFESIONAL <- 0;
SINO
PORCENTAJE_CON_PROFESIONAL <- 100.0*PORCENTAJE_CON_PROFESIONAL/TOTAL_DE_PERSONAS;
FINSI
SI TOTAL_DE_PERSONAS = 0 ENTONCES
PORCENTAJE_CON_POSTGRADO <- 0;
SINO
PORCENTAJE_CON_POSTGRADO <- 100.0*PORCENTAJE_CON_POSTGRADO/TOTAL_DE_PERSONAS;
FINSI
ESCRIBIR "VALOR DE TOTAL DE PERSONAS: ", TOTAL_DE_PERSONAS;
ESCRIBIR "VALOR DE PORCENTAJE CON PRIMARIA: ", PORCENTAJE_CON_PRIMARIA;
ESCRIBIR "VALOR DE PORCENTAJE CON SECUNDARIA: ", PORCENTAJE_CON_SECUNDARIA;
ESCRIBIR "VALOR DE PORCENTAJE CON CARRERA TECNICA: ", PORCENTAJE_CON_CARRERA_TECNICA;
ESCRIBIR "VALOR DE PORCENTAJE CON PROFESIONAL: ", PORCENTAJE_CON_PROFESIONAL;
ESCRIBIR "VALOR DE PORCENTAJE CON POSTGRADO: ", PORCENTAJE_CON_POSTGRADO;
FINPROCESO
17 SUPONGA QUE TIENE USTED UNA TIENDA Y DESEA REGISTRAR LAS VENTAS EN SU COMPUTADORA.
DISEÑE UN ALGORITMO QUE LEA POR CADA CLIENTE, EL MONTO TOTAL DE SU COMPRA. AL FINAL DEL DÍA
QUE ESCRIBA LA CANTIDAD TOTAL DE VENTAS Y EL NÚMERO DE CLIENTES ATENDIDOS.
PROCESO REGISTRODEVENTAS
CLIENTES_ATENDIDOS <- 0;
TOTAL_DE_VENTAS <- 0;
REPETIR
ESCRIBIR SIN SALTAR "INGRESE EL VALOR DE TOTAL DE LA COMPRA:";
LEER TOTAL_DE_LA_COMPRA;
TOTAL_DE_VENTAS <- TOTAL_DE_VENTAS+TOTAL_DE_LA_COMPRA;
CLIENTES_ATENDIDOS <- CLIENTES_ATENDIDOS+1;
ESCRIBIR "";
REPETIR
ESCRIBIR SIN SALTAR "¿DESEA REPETIR EL PROCESO? (S/N):";
LEER TECLA_REPETIR;
HASTA QUE TECLA_REPETIR='S' O TECLA_REPETIR='N' O TECLA_REPETIR='S' O TECLA_REPETIR='N'
HASTA QUE TECLA_REPETIR='N' O TECLA_REPETIR='N'
ESCRIBIR "VALOR DE CLIENTES ATENDIDOS: ", CLIENTES_ATENDIDOS;
ESCRIBIR "VALOR DE TOTAL DE VENTAS: ", TOTAL_DE_VENTAS;
FINPROCESO.
19. DADO UN NÚMERO, INVERTIRLO Y DETERMINAR SI ES CAPICÚA. UN NÚMERO ES CAPICÚA, SI AL
INVERTIRLO RESULTA EL MISMO NÚMERO.
PROCESO CAPICUAS
ESCRIBIR "NUMEROS CAPICUAS"
ESCRIBIR "INSERTA TU NUMERO"
LEER SUB1
LONG<- LONGITUD(SUB1)
N<-"0123456789"
LONGN<-LONGITUD(N)
PARA I<-1 HASTA LONG CON PASO 1 HACER
CAD<-SUBCADENA(SUB1,I,I)
SI CAD=" " ENTONCES
P<-0
SINO
SUB2<-CONCATENAR(SUB2,CAD)
FINSI
FINPARA
PARA I<-LONG HASTA 1 CON PASO -1 HACER
CAD<-SUBCADENA(SUB1,I,I)
SI CAD=" " ENTONCES
P<-0
SINO
CAD3<-CONCATENAR(CAD3,CAD)
FINSI
FINPARA

SI SUB2=CAD3 ENTONCES
ESCRIBIR SUB2
ESCRIBIR CAD3
ESCRIBIR "EL NUMERO SI ES CAPICUA"
SINO
ESCRIBIR "EL NUMERO NO ES CAPICUA"
ESCRIBIR SUB2
ESCRIBIR CAD3
FINSI

FINPROCESO

20. CALCULAR EL MCD Y EL MCM DE DOS NÚMEROS ENTEROS POSITIVOS


ALGORITMO MCD_MCM
ESCRIBIR "INGRESE LOS 2 NÚMEROS"
LEER N1, N2
A=N1
B=N2
C=N1
D=N2
MIENTRAS A!=B HACER
SI A>B ENTONCES
A=A-B
SINO
B=B-A
FINSI
FINMIENTRAS
MCM=(N1*N2)/A
MIENTRAS C<>D HACER
SI C>D ENTONCES
C=C-D
SINO
D=D-C
FINSI
FINMIENTRAS
MCM=(N1*N2)/A
ESCRIBIR "EL MCM DE LOS 2 NÚMEROS ES -->", MCM
ESCRIBIR "EL MCD DE LOS 2 NÚMEROS ES -->", C
FINALGORITMO

21. SUPÓNGASE QUE EN UNA RECIENTE ELECCIÓN HUBO CUATRO CANDIDATOS, CON IDENTIFICADORES 1,
2, 3, 4. USTED HABRÁ DE ENCONTRAR MEDIANTE UN PROGRAMA, EL NÚMERO DE VOTOS
CORRESPONDIENTE A CADA CANDIDATO Y EL PORCENTAJE QUE OBTUVO RESPECTO AL TOTAL DE LOS
VOTANTES. EL USUARIO INGRESARA LOS VOTOS DE MANERA DESORGANIZADA, TAL Y COMO SE
OBTUVIERON EN LA ELECCIÓN, EL FINAL DE DATOS ESTÁ REPRESENTADO POR UN CERO.
PROCESO CANDIDATOS
DEFINIR A,B,C,BLANCO,I,VOTO COMO ENTERO;
A<-0;
B<-0;
C<-0;
BLANCO<-0;
ESCRIBIR "VOTOS";
ESCRIBIR "CANDIDATO A : OPCION 1";
ESCRIBIR "CANDIDATO B : OPCION 2";
ESCRIBIR "CANDIDATO C : OPCION 3";
ESCRIBIR "VOTO BLANCO : OPCION 4";
PARA I<-1 HASTA 10 HACER
ESCRIBIR SIN SALTAR "VOTO ", I, ": ";
LEER VOTO;
SEGUN VOTO HACER
1:
A<-A+1;
2:
B<-B+1;
3:
C<-C+1;
4:
BLANCO<-BLANCO+1;
DE OTRO MODO:
ESCRIBIR "OPCION NO VALIDA";
I<-I-1;
FINSEGUN
FINPARA
ESCRIBIR "EL CANDIDATO A OBTUVO: ", A," VOTOS";
ESCRIBIR "EL CANDIDATO B OBTUVO: ", B," VOTOS";
ESCRIBIR "EL CANDIDATO C OBTUVO: ", C," VOTOS";
ESCRIBIR "LOS VOTOS BLANCOS FUERON : ",BLANCO ," VOTOS";
FINPROCESO
22. LA COMPAÑÍA DE LUZ “DEL CENTRO” DESEA IMPRIMIR LOS RECIBOS DE UN GRUPO DE EMPLEADOS.
DESEA OBTENER TAMBIÉN EL TOTAL DE COBROS DEL PERIODO. POR CADA CLIENTE SE INGRESA SU
NOMBRE, DIRECCIÓN, REGISTRO INICIAL Y REGISTRO FINAL. EL COBRO SE EFECTÚA EN BASE A LA SIGUIENTE
TABLA:  140 KVH O MENOS S/. 3.20  LOS SIGUIENTES 170 KVH S/. 0.15 POR KVH  EXCESO SOBRE 310 KVH
S/. 0.097 POR KVH  POR CADA CLIENTE SE DEBE IMPRIMIR UN RECIBO INDICANDO SUS DATOS Y MONTOS.
PROCESO COMPANIADELUZDELCENTRO1
TOTAL_DE_COBROS <- 0;
REPETIR
ESCRIBIR SIN SALTAR "INGRESE EL NOMBRE:";
LEER NOMBRE;
ESCRIBIR SIN SALTAR "INGRESE EL DIRECCION:";
LEER DIRECCION;
ESCRIBIR SIN SALTAR "INGRESE EL VALOR DE REGISTRO FINAL EN KVH:";
LEER REGISTRO_FINAL_EN_KVH;
ESCRIBIR SIN SALTAR "INGRESE EL VALOR DE REGISTRO INICIAL EN KVH:";
LEER REGISTRO_INICIAL_EN_KVH;
CONSUMO_EN_KVH <- REGISTRO_FINAL_EN_KVH-REGISTRO_INICIAL_EN_KVH;
COBRO <- 0;
SI CONSUMO_EN_KVH<=140 ENTONCES
COBRO <- 3.2;
FINSI
SI CONSUMO_EN_KVH>140 ENTONCES
COBRO <- CONSUMO_EN_KVH*0.15;
FINSI
SI CONSUMO_EN_KVH>310 ENTONCES
COBRO <- COBRO+(CONSUMO_EN_KVH-310)*0.097;
FINSI
TOTAL_DE_COBROS <- TOTAL_DE_COBROS+COBRO;
ESCRIBIR "NOMBRE: ", NOMBRE;
ESCRIBIR "DIRECCION: ", DIRECCION;
ESCRIBIR "VALOR DE COBRO: ", COBRO;
ESCRIBIR "VALOR DE CONSUMO EN KVH: ", CONSUMO_EN_KVH;
ESCRIBIR "";
REPETIR
ESCRIBIR SIN SALTAR "¿DESEA REPETIR EL PROCESO? (S/N):";
LEER TECLA_REPETIR;
HASTA QUE TECLA_REPETIR='S' O TECLA_REPETIR='N' O TECLA_REPETIR='S' O TECLA_REPETIR='N'
HASTA QUE TECLA_REPETIR='N' O TECLA_REPETIR='N'
ESCRIBIR "VALOR DE TOTAL DE COBROS: ", TOTAL_DE_COBROS;
FINPROCESO

23. EN UNA UNIVERSIDAD CON UN NÚMERO DETERMINADO DE ALUMNOS SE DESEA OBTENER EL


PROMEDIO Y EL PORCENTAJE DE LA POBLACIÓN FEMENINA, EL PROMEDIO Y PORCENTAJE DE LA POBLACIÓN
MASCULINA Y EL PROMEDIO GENERAL. POR CADA ALUMNO SE INGRESA MATRICULA, SEXO, SEMESTRE Y
PROMEDIO. CALCULAR E IMPRIMIR LO SOLICITADO.
PROCESO PROMEDIOYPORCENTAJEDEUNAUNIVERSIDAD
PORCENTAJE_FEMENINAS <- 0;
PORCENTAJE_MASCULINOS <- 0;
PROMEDIO_FEMENINAS <- 0;
PROMEDIO_GENERAL <- 0;
PROMEDIO_MASCULINOS <- 0;
ESCRIBIR SIN SALTAR "INGRESE EL VALOR DE N:";
LEER N;
PARA I<-1 HASTA N CON PASO 1 HACER
ESCRIBIR "PROCESO ", I;
ESCRIBIR SIN SALTAR "INGRESE EL MATRICULA:";
LEER MATRICULA;
ESCRIBIR SIN SALTAR "INGRESE EL SEMESTRE:";
LEER SEMESTRE;
ESCRIBIR SIN SALTAR "INGRESE EL VALOR DE PROMEDIO:";
LEER PROMEDIO;
ESCRIBIR "SELECCIONE EL VALOR DE SEXO.";
ESCRIBIR " 1.- FEMENINO";
ESCRIBIR " 2.- MASCULINO";
ESCRIBIR SIN SALTAR " :";
REPETIR
LEER SEXO;
SI SEXO<1 O SEXO>2 ENTONCES
ESCRIBIR SIN SALTAR "VALOR INCORRECTO. INGRÉSELO NUEVAMENTE.: ";
FINSI
HASTA QUE SEXO>=1 Y SEXO<=2;
PROMEDIO_GENERAL <- PROMEDIO_GENERAL+PROMEDIO;
SI SEXO = 1 ENTONCES
PROMEDIO_FEMENINAS <- PROMEDIO_FEMENINAS+PROMEDIO;
PORCENTAJE_FEMENINAS <- PORCENTAJE_FEMENINAS+1;
SINO
PROMEDIO_MASCULINOS <- PROMEDIO_MASCULINOS+PROMEDIO;
PORCENTAJE_MASCULINOS <- PORCENTAJE_MASCULINOS+1;
FINSI
ESCRIBIR "MATRICULA: ", MATRICULA;
ESCRIBIR "SEMESTRE: ", SEMESTRE;
ESCRIBIR "";
FINPARA
SI N = 0 ENTONCES
PORCENTAJE_FEMENINAS <- 0;
SINO
PORCENTAJE_FEMENINAS <- 100.0*PORCENTAJE_FEMENINAS/N;
FINSI
SI N = 0 ENTONCES
PORCENTAJE_MASCULINOS <- 0;
SINO
PORCENTAJE_MASCULINOS <- 100.0*PORCENTAJE_MASCULINOS/N;
FINSI
SI N = 0 ENTONCES
PROMEDIO_FEMENINAS <- 0;
SINO
PROMEDIO_FEMENINAS <- PROMEDIO_FEMENINAS/N;
FINSI
SI N = 0 ENTONCES
PROMEDIO_GENERAL <- 0;
SINO
PROMEDIO_GENERAL <- PROMEDIO_GENERAL/N;
FINSI
SI N = 0 ENTONCES
PROMEDIO_MASCULINOS <- 0;
SINO
PROMEDIO_MASCULINOS <- PROMEDIO_MASCULINOS/N;
FINSI
ESCRIBIR "VALOR DE PORCENTAJE FEMENINAS: ", PORCENTAJE_FEMENINAS;
ESCRIBIR "VALOR DE PORCENTAJE MASCULINOS: ", PORCENTAJE_MASCULINOS;
ESCRIBIR "VALOR DE PROMEDIO FEMENINAS: ", PROMEDIO_FEMENINAS;
ESCRIBIR "VALOR DE PROMEDIO GENERAL: ", PROMEDIO_GENERAL;
ESCRIBIR "VALOR DE PROMEDIO MASCULINOS: ", PROMEDIO_MASCULINOS;
FINPROCESO
24. MOSTRAR LA SUMA DE TODOS LOS DIVISORES DE UN NÚMERO ENTERO. SI EL NÚMERO SÓLO TIENE POR
DIVISORES AL 1 Y AL PROPIO NÚMERO, MOSTRAR ADEMÁS EL MENSAJE “NÚMERO PRIMO”.

PROCESO NUMEROPRIMO
ESCRIBIR "INGRESE EL NUMERO"
LEER X
SI X=1 ENTONCES
ESCRIBIR "EL NUMERO ES PRIMO"
SINO
A<-0
PARA I<-1 HASTA X HACER
SI X MOD I=0 ENTONCES
A<-A+1
FINSI
FINPARA
SI A=2 ENTONCES
ESCRIBIR "EL NUMERO ES PRIMO"
SINO
ESCRIBIR "EL NUMERO ES COMPUESTO"
FINSI
FINSI
FINPROCESO
25. ENCONTRAR TODOS LOS NÚMEROS PRIMOS ENTRE DOS NÚMEROS ENTEROS INGRESADOS POR
TECLADO.
PROCESO PRIMOS
ESCRIBIR "INGRESE LA CANTIDAD DE NUMEROS PRIMOS A MOSTRAR:"
LEER CANT_A_MOSTRAR

ESCRIBIR "1: 2" // EL PRIMER PRIMO ES 2, LOS OTROS SON TODOS IMPARES...
CANT_MOSTRADOS <- 1
N<-3 // ...A PARTIR DE 3

MIENTRAS CANT_MOSTRADOS<CANT_A_MOSTRAR HACER

ES_PRIMO <- VERDADERO // PIENSO QUE ES PRIMO HASTA QUE ENCUENTRE CON QUE DIVIDIRLO

PARA I<-3 HASTA RC(N) CON PASO 2 HACER // YA SABEMOS QUE ES IMPAR
SI N MOD I = 0 ENTONCES // SI LA DIVISION DA EXACTA...
ES_PRIMO <- FALSO // ...YA NO ES PRIMO
FINSI
FINPARA

SI ES_PRIMO ENTONCES
CANT_MOSTRADOS <- CANT_MOSTRADOS + 1
ESCRIBIR CANT_MOSTRADOS, ": ",N
FINSI

N <- N + 2

FINMIENTRAS

FINPROCESO