Programacion program hallarNotasReporte;
Enviado por chrislore97 • 20 de Junio de 2016 • Biografía • 499 Palabras (2 Páginas) • 294 Visitas
program hallarNotasReporte;
var archIn,archOut:text;
nombArchIn,nombArchOut,nombre:string;
sumaNota,sumaCred,promCiclos,porcAprob,porcAprobTotal,promTotal:real;
anio1,ciclo1,anio2,ciclo2,cantSem,i:integer;
nota,cred,credAprob,credDesap,prom,credCiclos,credAprobCiclos:real;
credDesapCiclos:real;
begin
writeln('Digite el archivo de entrada:');
readln(nombArchIn);
writeln('Digite el archivo de reporte:');
readln(nombArchOut);
assign(archIn,nombArchIn);
assign(archOut,nombArchOut);
reset(archIn);
rewrite(archOut);
promCiclos:=0;
credCiclos:=0;
credAprobCiclos:=0;
credDesapCiclos:=0;
writeln(archOut,' RENDIMIENTO DE LOS ALUMNOS');
while not eof(archIn) do begin
for i:=1 to 80 do write(archOut,'=');
writeln(archout);
readln(archIn,nombre);
writeln(archOut,nombre,' Promedio',' Total de Cred.',' Cred. Ap.',
' Cred. Des.',' %Aprob.');
for i:=1 to 80 do write(archOut,'=');
writeln(archOut);
readln(archIn,anio1,ciclo1,anio2,ciclo2);
If anio1=1 then
cantSem:= round((anio2*10+ciclo2-(anio1*10+ciclo1)) / 4)
else cantSem:= ((anio2*10+ciclo2-(anio1*10+ciclo1)) div 4);
for i:=1 to cantSem do begin
sumaNota:=0;
sumaCred:=0;
credAprob:=0;
credDesap:=0;
while not eoln(archIn) do begin
read(archIn,nota,cred);
sumaNota:=sumaNota+nota*cred;
sumaCred:=sumaCred + cred;
if nota>=10.5 then credAprob:=credAprob+cred
else credDesap:=credDesap+cred;
end;
readln(archIn);
porcAprob:=(credAprob*100)/sumaCred;
prom:= sumaNota/sumaCred;
promCiclos:=promCiclos + prom;
credCiclos:=credCiclos + sumaCred;
credAprobCiclos:=credAprobCiclos + credAprob;
credDesapCiclos:=credDesapCiclos + credDesap;
writeln(archOut,'Semestre ',anio1,'-',ciclo1,prom:20:2,sumaCred:18:2,
credAprob:16:2,credDesap:14:2,porcAprob:12:2,'%');
if ciclo1=1 then begin
anio1:=anio1;
ciclo1:=ciclo1 + 1;
end
else begin
anio1:=anio1+1;
ciclo1:=ciclo1-1;
end;
end;
promTotal:=promCiclos/cantSem;
porcAprobTotal:=porcAprob/cantSem;
for i:=1 to 80 do
...