Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program pregunta1;
- var archivo,reporte: Text;
- nombreAlum,nombreArch:String;
- i,aaIni,cicloIni,aaFin,cicloFin,aa,ciclo,nCursos,final,actual:Integer;
- nota,cred,credCiclo,promNotaCiclo,notaCiclo,notaGen,promNotaGen,
- creApCiclo,creDesCiclo,credApTotal,credDesTotal,porcApCiclo,porcApGen,
- credTotal:Real;
- begin
- writeln('Ingrese el nombre del archivo');
- readln(nombreArch);
- assign(archivo,nombreArch);
- assign(reporte,'reporte.txt');
- reset(archivo);
- rewrite(reporte);
- writeln(reporte,' RENDIMIENTO DE LOS ALUMNOS ');
- credApTotal:=0;credDesTotal:=0;credTotal:=0;notaGen:=0;
- while not eof(archivo) do begin
- for i:=1 to 80 do write(reporte,'='); writeln(reporte);
- readln(archivo,nombreAlum);
- readln(archivo,aaIni,cicloIni,aaFin,cicloFin);
- writeln(reporte,nombreAlum,' Promedio Total de Cred. Cred. Ap. Cred. Des. %Aprob');
- for i:=1 to 80 do write(reporte,'='); writeln(reporte);
- final:=aaFin*10 + cicloFin;
- aa:=aaIni;
- ciclo:=cicloIni;
- actual:=aa*10+ciclo;
- while actual<=final do begin
- write(reporte,'Semestre ',aa,' - ',ciclo);
- notaCiclo:=0;credCiclo:=0;creApCiclo:=0;creDesCiclo:=0;
- while not eol(archivo) do begin
- read(archivo,nota,cred);
- credCiclo:=credCiclo+cred;
- notaCiclo:=notaCiclo+nota;
- if nota>=11 then credApCiclo:=credApCiclo+cred else credDesCiclo:=credDesCiclo+cred;
- inc(nCursos);
- end;
- readln(archivo);
- credApTotal:=credApTotal+credApCiclo;
- credDesTotal:=credDesTotal+credDesCiclo;
- credTotal:=credTotal+credCiclo;
- notaGen:=notaGen+notaCiclo;
- promNotaCiclo:=notaCiclo/credCiclo
- porcApCiclo:=credApCiclo/credCiclo*100;
- writeln(reporte,promNotaCiclo:10:1,credCiclo:10:1,credApCiclo:10:1,credDesCiclos:10:1,porcApCiclo:10:1,'%');
- if ciclo=1 then begin ciclo:=2;aa:=aa; end;
- if ciclo=2 then begin ciclo:=1;aa:=aa+1; end;
- actual:=aa*10+ciclo;
- end;
- promNotaGen:=notaGen/credTotal;
- porcApGen:=credApTotal/credTotal*100;
- for i:=1 to 80 do write(reporte,'-'); writeln(reporte);
- writeln(reporte,promNotaGen:10:1,credTotal:10:1,credApTotal:10:1,credDesTotal:10:1,porcApGen:10:1,'%');
- for i:=1 to 80 do write(reporte,'='); writeln(reporte);
- end;
- close(reporte);
- close(archivo);
- end.
Advertisement
Add Comment
Please, Sign In to add comment