Você está na página 1de 13

REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD DE ORIENTE NUCLEO MONAGAS PROGRAMA DE INGENIERIA DE SISTEMAS

Introduccion a la Logica Formal y los Algoritmos

Prof: Victor Cappugi

Autores: Br. Jos D. Gmez 23.533.638 Secc 06 Br. Jos A. Gmez 19.781.626 Secc 04 Br. Harrison Placencio 24.626.940 Sec 06 Br. Yonni Luces 22.708.638 Secc 05 Br. Roberto Vilchez 25.943.019 Secc 05

Maturin, Febrero 2013

Un profesor requiere un proceso que le permita registrar 5 notas a N alumnos de una materia, este registro debe hacerlo en forma secuencial (uno por uno). El objetivo final es obtener: a. un listado detallado de todas las notas de cada alumno b. Nota final de cada estudiante (en base a 10) c. Promedio de notas de la seccin d. Promedio de notas de las Damas e. Promedio de notas de los caballeros f. Cuantos aprobados g. Cuantos reprobados.
ALGORITMO

10 20 30 40 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230

INCIO INT, N, REPRO, T, CONT, CONT2, I, AGAIN, HM[H], LISTA, J, K, L, M, APRO DOUBLE, A[N], B[N], C[N], D[N], E[N], F[N], PROM, PD, PC STRING, RESP= S APRO=0 REPRO=0 CONT=0 CONT2=0 PROM=0 PD=0 PC=0 LISTA=0 AGAIN=0 INCLUIR INGRESE LA CANTIDAD DE ALUMNOS, N PARA I=0 HASTA I<N LISTA=LISTA+1 MOSTRAR ALUMNO, LISTA INCLUIR SI ES DAMA INGRESE 1, SI ES CABALLERO INGRESE 2, HM[I] INCLUIR NOTA DEL PRIMER EXAMEN, A[I] INCLUIR NOTA DEL SEGUNDO EXAMEN, B[I] INCLUIR NOTA DEL TERCER EXAMEN, C[I] INCLUIR NOTA DEL CUARTO EXAMEN, D[I]

240 250 260 270 280 290 300 310 320 330 340 350 360 370 380 390 400 410 420 430 440 450 460 470 480 490 500 510 520 530 540 550 560 570 580 590 600 610

INCLUIR NOTA DEL QUINTO EXAMEN, E[I] I=I+1 PROXIMO I PARA J=0 HASTA J<N F[J]=(A[J]+ B[J]+ C[J]+ D[J]+ E[J])/5 SI (F[J]>=5) ENTONCES APRO=APRO+1 FIN DEL SI SI (HM[J]==1) ENTONCES CONT=CONT+1 PD=PD+ F[J] DE LO CONTRARIO CONT2=CONT2+1 PC=PC+ F[J] FIN DEL SI J=J+1 PROXIMO J PD=PD/CONT PC=PC/CONT2 REPRO=N-APRO PARA K=0 HASTA K<N PROM=PROM+ F[K] K=K+1 PROXIMO K PROM=PROM/N MIENTRAS (RESP= S) MOSTRAR SI DESEA CONOCER MOSTRAR LISTADO DE NOTAS DE CADA ALUMNO INGRESE 1 MOSTRAR ALUMNOS APROBADOS/REPROBADOS INGRESE 2 MOSTRAR NOTA FINAL DE CADA ALUMNO INGRESE 3 MOSTRAR PROMEDIO DE NOTAS DE LA SECCION INGRESE 4 MOSTRAR PROMEDIO DE NOTAS DE DAMAS INGRESE 5 MOSTRAR PROMEDIO DE NOTAS DE CABALLEROS INGRESE 6 INCLUIR SELECCIONES UNA OPCION, T SI (T=1) ENTONCES PARA L=0 HASTA L<N AGAIN=AGAIN+1 MOSTRAR ALUMNO, AGAIN

620 630 640 650 660 670 680 690 700 710 720 730 740 750 760 770 780 790 800 810 820 830 840 850 860 870 880 890 900 910 920 930 940

MOSTRAR EXAMEN 1, A[L] MOSTRAR EXAMEN 2; B[L] MOSTRAR EXAMEN 3, C[L] MOSTRAR EXAMEN 4; D[L] MOSTRAR EXAMEN 5, E[L] L=L+1 PROXIMO L FIN DEL SI SI (T=2) ENTONCES MOSTRAR APROBADOS, APRO MOSTRAR REPROBADOS, REPRO FIN DEL SI AGAIN=0 SI (T=3) ENTONCES PARA M=O HASTA M<N AGAIN=AGAIN+1 MOSTRAR ALUMNO, AGAIN MOSTRAR NOTA FINAL, F[M] M=M+1 PROXIMO M FIN DEL SI SI (T=4) ENTONCES MOSTRAR PROMEDIO DE LA SECCION, PROM FIN DEL SI SI (T=5) ENTONCES MOSTRAR PROMEDIO DE DAMAS:, PD FIN DEL SI SI (T=6) ENTONCES MOSTRAR PROMEDIO DE CABALLEROS, PC FIN DEL SI INCLUIR DESEA CONOCER OTRAS OPCIONES? (S/N), RESP FIN DEL MIENTRAS FIN

DIAGRAMA DE FLUJO

INICIO

INT, N, REPRO, T, CONT, CONT2, I, AGAIN, HM[H], LISTA, J, K, L, M, APRO

NOTA DE PRIMER EXAMEN, A[I]]

DOUBLE, A[N], B[N], C[N], D[N], E[N], F[N], PROM, PD, PC


NOTA DE SEGUNDO EXAMEN, B[I]]

STRING, RESP= S

NOTA DE TERCER EXAMEN, C[I]]

APRO=0 REPRO=0 CONT=0 PROM=0 CONT2=0 PD=0 LISTA=0 AGAIN=0 PC=0

NOTA DE CUARTO EXAMEN, D[I]]

INGRESE LA CANTIDAD DE ALUMNOS, N

NOTA DE QUINTO EXAMEN, E[I]]

PARA I=0 HASTA I<N

I=I+1

LISTA=LISTA+1

PROXIMO I

ALUMNO, LISTA

PARA J=0 HASTA J<N

SI ES DAMA INGRESE 1, SI ES CABALLERO INGRESE2, HM[I]

F[J]=(A[J]+B[J]+C[J]+D[J]+E[J])/5

PD=PD/CONT

SI F[J]>=5 APRO=APRO+1

PC=PC/CONT2

NO

REPRO=N-APRO

SI HM[J]==1 CONT=CONT+1

PARA K=0 HASTA K<N NO PD=PD+F[J]

PROM=PROM+F[K] CONT2=CONT2+1

K=K+1 PC=PC+F[J]

PROXIMO K J=J+1

PROM=PROM/N PROXIMO J

SI RESP= S T=1

PARA L=0 HASTA L<N

NO SI DESEA CONOCER AGAIN=AGAIN+1

LISTA DE NOTAS DE CADA ALUMNO INGRESE 1

ALUMNO, AGAIN

EXAMEN 1, A[L] APROBADOS/REPROBADO S INGRESE 2

EXAMEN 2, B[L] NOTA FINAL DE CADA ALUMNO INGRESE 3

EXAMEN 3, C[L] PROMEDIO DE NOTAS DE LA SECCION INGRESE 4

EXAMEN 4, D[L] PROMEDIO DE NOTAS DE DAMAS INGRESE 5 EXAMEN 5, E[L] PROMEDIO DE NOTAS DE CABALLEROS INGRESE 6 L=L+1

SELECCIONES UNA OPCIONEN, T PROXIMO L

SI T=2 APROBADOS, APRO T=4

SI PROMEDIO DE LA SECCION, PROM

NO NO REPROBADOS, REPRO SI T=5 PROMEDIO DE NOTAS DE DAMAS, PD

AGAIN=0 NO NO SI T=6 SI T=3 PARA M=0 HASTA M<N PROMEDIO DE NOTAS DE CABALLEROS, PC

NO ALUMNO, AGAIN DESEA CONOCER OTRAS OPCINES? (S/N), RESP

NOTA FINAL DEL ALUMNO, F[M]

FIN
M=M+1

PROXIMO M

Un estacionamiento de 100 puestos, necesita establecer el control de entrada registrando placa, modelo y color de vehculo. Cada puesto tiene un costo de bs. 5 la hora (sin fraccin), por lo que debe registrarse la hora de entrada para, al salir, calcular la cantidad a pagar. Desarrolle un algoritmo que permita:

a. Calcular el monto recaudado al final del da b. Emitir una lista de los automviles que quedaron estacionados a una hora determinada c. Determinar si un automvil est estacionado, en qu posicin, dada su placa (bsqueda por placa)
ALGORITMO

10 20 POS, R 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210

INICIO INT, Y, SEL, TOTAL, PLACA[99], DINERO[99], ENTRADA[99], SALIDA[99], I, J, T, C, STRING COLOR[99], MODELO[99], RESP= S SEL=0 TOTAL=0 C=0 POS=O PARA I=0 HASTA 100 C=C+1 MOSTRAR AUTO #, C INCLUIR INGRESE LA PLACA DEL AUTO, PLACA[I] INCLUIR INGRESE EL MODELO DEL AUTO, MODELO[I] INCLUIR INGRESE EL COLOR DEL AUTO, COLOR[I] INCLUIR INGRESE LA HORA DE ENTRADA (MILITAR DE 0:00 A 23:00), ENTRADA[I] INCLUIR INGRESE LA HORA DE SALIDA (MILITAR DE 0:00 A 23:00), SALIDA[I] I=I+1 PROXIMO I PARA J=0 HASTA 100 DINERO[J]=(SALIDA[J]-ENTRADA[J])*5 TOTAL=TOTAL+DINERO[J] J=J+1

220 230 240

PROXIMO J MOSTRAR TOTAL RECAUDADO, TOTAL INCLUIR INGRESE HORA PARA SABER QUE AUTOS QUEDAN (MILITAR DE 0:00 A

23:00), Y 250 260 270 280 290 300 310 320 330 340 350 360 370 380 390 400 410 420 430 440 450 460 PARA T=O HASTA 100 POS=POS+1 SI (SALIDA[T]>Y) ENTONCES MOSTRAR AUTO PLACA #, PLACA[T] MOSTRAR MODELO, MODELO[T] MOSTRAR COLOR, COLOR[T] MOSTRAR ESTA EN LA POSICION, POS FIN DEL SI T=T+1 PROXIMO T MIENTRAS (RESP= S) INCLUIR INGRESE LA PLACA QUE QUIERE BUSCAR, SEL PARA R=0 HASTA 100 SI (PLACA[R]==SEL) ENTONCES MOSTRAR LA PLACA #, PLACA[R] MOSTRAR ESTA EN EL PUESTO, R FIN DEL SI R=R+1 PROXIMO R INCLUIR DESEA BUSCAR OTRA PLACA? (S/N), RESP FIN DEL MIENTRAS FIN

DIAGRAMA DE FLUJO

INICIO

INT, Y, SEL, TOTAL, PLACA[99], DINERO[100], ENTRADA[99], SALIDA[99], I, J, T, C, POS, R

INGRESE LA HORA DE ENTRADA (MILITAR DE 0:00 A 23:00), ENTRADA[I]

STRING COLOR[99], MODELO[99], RESP= S

INGRESE LA HORA DE SALIDA (MILITAR DE 0:00 A 23:00), SALIDA[I]

PARA I=0 HASTA 99

I=I+1

C=C+1

PROXIMO I

EL AUTO #, C PARA J=0 HASTA 99

INGRESE LA PLACA DEL AUTO, MODELO[I]

DINERO[J]=(SALIDA[J]ENTRADA[J])*5

INGRESE EL MODELO DEL AUTO, MODELO[I] TOTAL=TOTAL+DINERO[J]

INGRESE EL COLOR DEL AUTO, COLOR[I]

J=J+1

MODELO, MODELO[T]

NO

COLOR, COLOR[T]

PROXIMO J

ESTA EN LA POSICION, POS TOTAL RECAUDADO, TOTAL

T=T+1 INGRESE LA HORA PARA SABER QUE AUTOS QUEDAN (HORA MILITAR DE 0:00 A 23:00), Y

PROXIMO T PARA T=0 HASTA 99

RESP= S
POS=POS+1

INGRESE LA PLACA QUE QUIERE BUSCAR, SEL SI SALIDA[T]>Y AUTO PLACA #, PLACA[T]

NO

PARA R=0 HASTA 99

SI PLACA[R]==SEL LA PLACA, PLACA[R]

NO ESTA EN EL PUESTO, R

R=R+1

PROXIMO R

DESEA BUSCAR OTRA PLACA? (S/N) RESP

FIN

Você também pode gostar