karlangadas

TP pc2 2015-2 pregunta 1

Sep 29th, 2015
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. program pregunta1;
  2. var archivo,reporte: Text;
  3. nombreAlum,nombreArch:String;
  4. i,aaIni,cicloIni,aaFin,cicloFin,aa,ciclo,nCursos,final,actual:Integer;
  5. nota,cred,credCiclo,promNotaCiclo,notaCiclo,notaGen,promNotaGen,
  6. creApCiclo,creDesCiclo,credApTotal,credDesTotal,porcApCiclo,porcApGen,
  7. credTotal:Real;
  8.  
  9. begin
  10. writeln('Ingrese el nombre del archivo');
  11. readln(nombreArch);
  12. assign(archivo,nombreArch);
  13. assign(reporte,'reporte.txt');
  14.  
  15. reset(archivo);
  16. rewrite(reporte);
  17.  
  18. writeln(reporte,' RENDIMIENTO DE LOS ALUMNOS ');
  19.  
  20. credApTotal:=0;credDesTotal:=0;credTotal:=0;notaGen:=0;
  21.  
  22. while not eof(archivo) do begin
  23.  
  24. for i:=1 to 80 do write(reporte,'='); writeln(reporte);
  25.  
  26. readln(archivo,nombreAlum);
  27. readln(archivo,aaIni,cicloIni,aaFin,cicloFin);
  28.  
  29. writeln(reporte,nombreAlum,' Promedio Total de Cred. Cred. Ap. Cred. Des. %Aprob');
  30.  
  31. for i:=1 to 80 do write(reporte,'='); writeln(reporte);
  32.  
  33. final:=aaFin*10 + cicloFin;
  34. aa:=aaIni;
  35. ciclo:=cicloIni;
  36. actual:=aa*10+ciclo;
  37.  
  38. while actual<=final do begin
  39. write(reporte,'Semestre ',aa,' - ',ciclo);
  40. notaCiclo:=0;credCiclo:=0;creApCiclo:=0;creDesCiclo:=0;
  41. while not eol(archivo) do begin
  42. read(archivo,nota,cred);
  43. credCiclo:=credCiclo+cred;
  44. notaCiclo:=notaCiclo+nota;
  45.  
  46. if nota>=11 then credApCiclo:=credApCiclo+cred else credDesCiclo:=credDesCiclo+cred;
  47.  
  48. inc(nCursos);
  49.  
  50. end;
  51. readln(archivo);
  52.  
  53. credApTotal:=credApTotal+credApCiclo;
  54. credDesTotal:=credDesTotal+credDesCiclo;
  55. credTotal:=credTotal+credCiclo;
  56. notaGen:=notaGen+notaCiclo;
  57.  
  58. promNotaCiclo:=notaCiclo/credCiclo
  59. porcApCiclo:=credApCiclo/credCiclo*100;
  60.  
  61. writeln(reporte,promNotaCiclo:10:1,credCiclo:10:1,credApCiclo:10:1,credDesCiclos:10:1,porcApCiclo:10:1,'%');
  62.  
  63.  
  64. if ciclo=1 then begin ciclo:=2;aa:=aa; end;
  65. if ciclo=2 then begin ciclo:=1;aa:=aa+1; end;
  66. actual:=aa*10+ciclo;
  67.  
  68. end;
  69. promNotaGen:=notaGen/credTotal;
  70. porcApGen:=credApTotal/credTotal*100;
  71.  
  72. for i:=1 to 80 do write(reporte,'-'); writeln(reporte);
  73.  
  74. writeln(reporte,promNotaGen:10:1,credTotal:10:1,credApTotal:10:1,credDesTotal:10:1,porcApGen:10:1,'%');
  75.  
  76. for i:=1 to 80 do write(reporte,'='); writeln(reporte);
  77. end;
  78. close(reporte);
  79. close(archivo);
  80. end.
Advertisement
Add Comment
Please, Sign In to add comment