Professional Documents
Culture Documents
registro Alumnos
entero coda
cadena[50] nomb
cadena[50] apell
entero ed
fin registro
registro cursos
entero coda
cadena[20] nomb
cadena[20]codc
fin registro
registro notas
entero coda
cadena[20]codc
entero pc1
entero pc2
entero pc3
real prom
fin registro
Arch ArchAlum
Arch ArchAlumn
Arch ArchCur
Arch ArchCura
Arch ArchCuran
Arch ArchNot
Arch ArchNotn
caracter resp
entero opc,n,ne,m,z,x,w,v
entero i,j,ncod
inicio
llamar nueva_linea
escriba "-----------------------------------"
llamar nueva_linea
repita
Lea n
hasta (n>0)
llamar nueva_linea
repita
lea alum[i].coda
lea alum[i].nomb
lea alum[i].apell
repita
escriba "Edad [",i,"]: "
lea alum[i].ed
llamar nueva_linea
fin para
llamar nueva_linea
si (alum[i].coda=alum[j].coda) entonces
llamar nueva_linea
repita
lea ncod
alum[j].coda<-ncod
fin si
fin para
fin para
escribir ArchAlum,alum[i].coda
escribir ArchAlum,alum[i].nomb
escribir ArchAlum,alum[i].apell
escribir ArchAlum,alum[i].ed
fin para
cerrar ArchAlum
fin
entero i
entero coda1
cadena[50] nomb1
cadena[50] apell1
entero ed1
inicio
llamar nueva_linea
escriba "-----------------------------------"
llamar nueva_linea
llamar nueva_linea
leer ArchAlum,coda1
leer ArchAlum,nomb1
leer ArchAlum,apell1
leer ArchAlum,ed1
llamar nueva_linea
z<-z+1
fin mientras
cerrar ArchAlum
fin
entero i
entero coda1
cadena[50] nomb1
cadena[50] apell1
entero ed1
inicio
llamar nueva_linea
escriba "-----------------------------------"
llamar nueva_linea
llamar nueva_linea
leer ArchAlumn,coda1
leer ArchAlumn,nomb1
leer ArchAlumn,apell1
leer ArchAlumn,ed1
llamar nueva_linea
z<-z+1
fin mientras
cerrar ArchAlumn
fin
entero i
inicio
llamar nueva_linea
escriba "-----------------------------------"
llamar nueva_linea
repita
hasta (m>0)
llamar nueva_linea
lea cur[i].codc
lea cur[i].nomb
llamar nueva_linea
escribir ArchCur,cur[i].codc
escribir ArchCur,cur[i].nomb
fin para
cerrar ArchCur
llamar nueva_linea
llamar nueva_linea
repita
lea cur[i].coda
escribir ArchCura,cur[i].coda
fin para
cerrar ArchCura
fin
entero i
cadena[20] nomb2
cadena[20] codc2
inicio
llamar nueva_linea
escriba "-----------------------------------"
llamar nueva_linea
llamar nueva_linea
leer ArchCur,codc2
leer ArchCur,nomb2
llamar nueva_linea
x<-x+1
fin mientras
cerrar ArchCur
fin
entero i
inicio
llamar nueva_linea
escriba "-----------------------------------"
llamar nueva_linea
llamar nueva_linea
repita
lea not[i].coda
repita
lea not[i].pc1
repita
lea not[i].pc2
repita
lea not[i].pc3
not[i].prom<-(not[i].pc1+not[i].pc2+not[i].pc3)/3
escribir ArchNot,not[i].codc
escribir ArchNot,not[i].coda
escribir ArchNot,not[i].pc1
escribir ArchNot,not[i].pc2
escribir ArchNot,not[i].pc3
escribir ArchNot,not[i].prom
llamar nueva_linea
fin para
cerrar ArchNot
fin
cadena[20] nomb2,codc2,codc3
cadena[50] apell1,nomb1
entero ed1,pc1,pc2,pc3
real prom
inicio
llamar Nueva_linea
escriba "--------------------------------------------------------------"
llamar Nueva_Linea
llamar nueva_linea
leer ArchCur,codc2
leer ArchCur,nomb2
llamar nueva_linea
llamar nueva_linea
llamar nueva_linea
leer ArchAlum,coda1
leer ArchAlum,nomb1
leer ArchAlum,apell1
leer ArchAlum,ed1
leer ArchNot,codc3
leer ArchNot,coda3
leer ArchNot,pc1
leer ArchNot,pc2
leer ArchNot,pc3
leer ArchNot,prom
si(codc2=codc3)y(coda1=coda3) entonces
llamar nueva_linea
fin si
fin mientras
cerrar ArchNot
fin mientras
cerrar ArchAlum
llamar nueva_linea
fin mientras
cerrar ArchCur
fin
entero coda1,coda3
cadena[20] nomb2,codc2,codc3
cadena[50] apell1,nomb1
entero ed1,pc1,pc2,pc3
real prom
inicio
llamar Nueva_linea
escriba "--------------------------------------------------------------"
llamar Nueva_Linea
llamar nueva_linea
mientras no fda(ArchCur) haga
leer ArchCur,codc2
leer ArchCur,nomb2
llamar nueva_linea
llamar nueva_linea
llamar nueva_linea
leer ArchAlumn,coda1
leer ArchAlumn,nomb1
leer ArchAlumn,apell1
leer ArchAlumn,ed1
leer ArchNotn,codc3
leer ArchNotn,coda3
leer ArchNotn,pc1
leer ArchNotn,pc2
leer ArchNotn,pc3
leer ArchNotn,prom
si(codc2=codc3)y(coda1=coda3) entonces
llamar nueva_linea
fin si
fin mientras
cerrar ArchNotn
fin mientras
cerrar ArchAlumn
llamar nueva_linea
fin mientras
cerrar ArchCur
fin
entero i,j,ncod
inicio
llamar nueva_linea
escriba "------------------------------------"
llamar nueva_linea
repita
lea ne
hasta (ne>0)
n<-n+ne
llamar nueva_linea
llamar nueva_linea
llamar nueva_linea
repita
lea alum[i].coda
lea alum[i].nomb
lea alum[i].apell
repita
lea alum[i].ed
llamar nueva_linea
fin para
si (alum[i].coda=alum[j].coda) entonces
llamar nueva_linea
repita
lea ncod
alum[j].coda<-ncod
fin si
fin para
fin para
llamar nueva_linea
escribir ArchAlum,alum[i].coda
escribir ArchAlum,alum[i].nomb
escribir ArchAlum,alum[i].apell
escribir ArchAlum,alum[i].ed
fin para
cerrar ArchAlum
repita
escriba "Codigo alumno [",i,"]: "
lea cur[i].coda
llamar nueva_linea
fin para
si (cur[i].coda=cur[j].coda) entonces
llamar nueva_linea
repita
lea ncod
cur[j].coda<-ncod
fin si
fin para
fin para
llamar nueva_linea
escribir ArchCura,cur[i].coda
fin para
cerrar ArchCura
lea not[i].codc
repita
lea not[i].coda
lea not[i].pc1
repita
lea not[i].pc2
repita
lea not[i].pc3
not[i].prom<-(not[i].pc1+not[i].pc2+not[i].pc3)/3
llamar nueva_linea
fin para
escribir ArchNot,not[i].codc
escribir ArchNot,not[i].coda
escribir ArchNot,not[i].pc1
escribir ArchNot,not[i].pc2
escribir ArchNot,not[i].pc3
escribir ArchNot,not[i].prom
fin para
cerrar ArchNot
fin
entero opc2,opc3,cod3,cod4,edadn,i,notan
caracter resp
inicio
llamar nueva_linea
escriba "-----------------------------------"
llamar nueva_linea
llamar nueva_linea
llamar nueva_linea
llamar nueva_linea
lea opc2
llamar nueva_linea
Si opc2=1 entonces
repita
lea cod3
llamar nueva_linea
si cod3=alum[i].coda entonces
llamar nueva_linea
repita
lea edadn
alum[i].ed<-edadn
llamar nueva_linea
para i<-1 hasta n haga
escribir ArchAlum,alum[i].coda
escribir ArchAlum,alum[i].nomb
escribir ArchAlum,alum[i].apell
escribir ArchAlum,alum[i].ed
fin para
cerrar ArchAlum
sino
w<-w+1
si (w=n) entonces
llamar nueva_linea
fin si
fin si
fin para
fin si
si opc2=2 entonces
repita
lea cod4
llamar nueva_linea
llamar nueva_linea
llamar nueva_linea
llamar nueva_linea
llamar nueva_linea
Repita
lea opc3
llamar nueva_linea
si opc3 = 1 entonces
repita
lea notan
not[i].pc1<-notan
not[i].prom<-(not[i].pc1+not[i].pc2+not[i].pc3)/3
llamar nueva_linea
escribir ArchNot,not[i].codc
escribir ArchNot,not[i].coda
escribir ArchNot,not[i].pc1
escribir ArchNot,not[i].pc2
escribir ArchNot,not[i].pc3
escribir ArchNot,not[i].prom
fin para
cerrar ArchNot
llamar nueva_linea
fin si
si opc3 = 2 entonces
repita
escriba "Ingrese nueva nota: "
lea notan
not[i].pc2<-notan
not[i].prom<-(not[i].pc1+not[i].pc2+not[i].pc3)/3
llamar nueva_linea
escribir ArchNot,not[i].codc
escribir ArchNot,not[i].coda
escribir ArchNot,not[i].pc1
escribir ArchNot,not[i].pc2
escribir ArchNot,not[i].pc3
escribir ArchNot,not[i].prom
fin para
fin si
si opc3 = 3 entonces
repita
lea notan
not[i].pc3<-notan
not[i].prom<-(not[i].pc1+not[i].pc2+not[i].pc3)/3
llamar nueva_linea
escribir ArchNot,not[i].codc
escribir ArchNot,not[i].coda
escribir ArchNot,not[i].pc1
escribir ArchNot,not[i].pc2
escribir ArchNot,not[i].pc3
escribir ArchNot,not[i].prom
fin para
cerrar ArchNot
fin si
sino
w<-w+1
si (w=n) entonces
llamar nueva_linea
fin si
fin si
fin para
fin si
fin
procedimiento buscar(entero n)
entero cod,i
entero coda1,coda3
cadena[20] nomb2,codc2,codc3
cadena[50] apell1,nomb1
entero ed1,pc1,pc2,pc3
real prom
inicio
llamar nueva_linea
escriba "-----------------------------------"
llamar nueva_linea
repita
lea cod
llamar nueva_linea
abrir "ARCH1_CARGAR.txt" como ArchAlum para lectura
leer ArchAlum,coda1
leer ArchAlum,nomb1
leer ArchAlum,apell1
leer ArchAlum,ed1
si cod=coda1 entonces
llamar nueva_linea
llamar nueva_linea
llamar nueva_linea
llamar nueva_linea
llamar nueva_linea
leer ArchNot,codc3
leer ArchNot,coda3
leer ArchNot,pc1
leer ArchNot,pc2
leer ArchNot,pc3
leer ArchNot,prom
si (cod=coda3) entonces
llamar nueva_linea
leer ArchCur,codc2
leer ArchCur,nomb2
si(codc2=codc3) entonces
escriba "Curso: ",codc2," ",nomb2," "
llamar nueva_linea
llamar nueva_linea
llamar nueva_linea
llamar nueva_linea
fin si
fin mientras
cerrar ArchCur
fin si
fin mientras
cerrar ArchNot
fin si
fin mientras
cerrar ArchAlum
llamar nueva_linea
fin
entero i,elim
inicio
llamar nueva_linea
escriba "------------------------------------"
llamar nueva_linea
llamar reportes_alumno(alum,n)
llamar nueva_linea
llamar nueva_linea
llamar nueva_linea
repita
lea elim
llamar nueva_linea
si (elim=n) entonces
n<-n-1
sino
alum[i].coda<-alum[i+1].coda
alum[i].nomb<-alum[i+1].nomb
alum[i].apell<-alum[i+1].apell
alum[i].ed<-alum[i+1].ed
fin para
n<-n-1
fin si
escribir ArchAlumn,alum[i].coda
escribir ArchAlumn,alum[i].nomb
escribir ArchAlumn,alum[i].apell
escribir ArchAlumn,alum[i].ed
fin para
cerrar ArchAlumn
cur[i].coda<-cur[i+1].coda
fin para
escribir ArchCuran,cur[i].coda
fin para
cerrar ArchCuran
not[i].codc<-not[i+1].codc
not[i].coda<-not[i+1].coda
not[i].pc1<-not[i+1].pc1
not[i].pc2<-not[i+1].pc2
not[i].pc3<-not[i+1].pc3
not[i].prom<-not[i+1].prom
llamar nueva_linea
fin para
escribir ArchNotn,not[i].codc
escribir ArchNotn,not[i].coda
escribir ArchNotn,not[i].pc1
escribir ArchNotn,not[i].pc2
escribir ArchNotn,not[i].pc3
escribir ArchNotn,not[i].prom
fin para
cerrar ArchNot
fin
inicio
llamar color_texto(14)
llamar nueva_linea
escriba "------------------------------------------------"
llamar nueva_linea
llamar nueva_linea
llamar nueva_linea
llamar nueva_linea
llamar nueva_linea
llamar nueva_linea
llamar nueva_linea
llamar nueva_linea
escriba "------------------------------------------------"
llamar nueva_linea
v<-0
repita
repita
llamar color_texto(7)
lea opc
llamar nueva_linea
si (opc=1) entonces
llamar color_texto(10)
llamar crear_alumno(alum,n)
llamar nueva_linea
llamar crear_curso(cur,m,n)
llamar nueva_linea
llamar notas(not,n)
fin si
si (opc=2) entonces
llamar color_texto(11)
z<-1
si (v>0) entonces
llamar reportes_alumno_n(alum,n)
sino
llamar reportes_alumno(alum,n)
fin si
llamar nueva_linea
x<-1
llamar reportes_curso(cur,m)
llamar nueva_linea
si (v>0) entonces
llamar Reporte_alumno_curso_n(alum,cur,not)
sino
llamar Reporte_alumno_curso(alum,cur,not)
fin si
fin si
si (opc=3) entonces
llamar color_texto(12)
llamar buscar(n)
fin si
si (opc=4) entonces
llamar color_texto(7)
w<-0
llamar Modificar(alum,n,not,cur)
escriba "Sr. usuario, si desea modificar otro dato, digite opcion 5"
llamar nueva_linea
escriba "Sr. usuario, si desea ver el nuevo reporte, digite opcion 2"
fin si
si (opc=5) entonces
llamar color_texto(9)
llamar Insertar(alum,n,not,cur,ne)
escriba "Sr. usuario, si desea ver el nuevo reporte, digite opcion 2"
fin si
si (opc=6) entonces
llamar color_texto(13)
z<-1
llamar Eliminar(alum,n,not,cur)
v<-v+1
escriba "Sr. usuario, si desea ver el nuevo reporte, digite opcion 2"
fin si
llamar nueva_linea
hasta (opc=7)
fin