Olá, boa noite!
Bom, estou tentando desenvolver um código, mas acredito que esteja cometendo algum erro semântico. Os valores das médias estão se sobrepondo na impressão, já tentei modificar de diversas formas, mas não obtive um bom resultado.
Program Reg_+_Matriz;
// Algoritmo usando record, onde um aluno tem um código, nome
// nome de duas disciplinas e de 4 notas em uma variável do
// tipo record. Ao fim, imprimir nome do aluno, das disciplinas
// a média de cada uma e das duas juntas. O processo deve ocorrer 5x.
type cadastro= record
nota: array [1..2,1..4] of real;
disc: array [1..2] of string;
cod,nome: string;
end;
var aluno: array [1..5] of cadastro;
med,medGer: array [1..5] of real;
i,l,c: integer;
Begin
for i:=1 to 5 do
begin
write('Insira seu nome: '); // Leitura de nome e código
read(aluno[i].nome); // feita 1x por ciclo.
write('Insira seu código (R.A.): ');
read(aluno[i].cod);
for l:=1 to 2 do
begin
write('Digite o nome da disciplina: '); // Leitura de disciplinas
readln(aluno[i].disc[l]); // feita 2x por ciclo.
for c:= 1 to 4 do
begin
write('Digite a ',c,'ª nota: '); // Leitura de notas
readln(aluno[i].nota[l,c]); //feita 4x a cada disciplina lida.
end;
med[i]:= (aluno[i].nota[l,1]+aluno[i].nota[l,2]+aluno[i].nota[l,3]+aluno[i].nota[l,4]) / 4; // Cálculo da média das notas
writeln; // feito 2x por ciclo
end;
medGer[i]:= (medGer[i] + med[1] + med[2])/2; // Cálculo da média geral
end;
writeln;
For i:=1 to 5 do
begin
writeln('O nome do aluno é: ',aluno[i].nome); // Impressão dos dados recebidos
writeln('Seu código é: ',aluno[i].cod);
for l:=1 to 2 do
begin
writeln('Suas 4 notas em ',(aluno[i].disc[l]),' foram: ');
for c:= 1 to 4 do
begin
writeln('Nota ',c,': ',aluno[i].nota[l,c]);
end;
end;
writeln;
for l:=1 to 2 do
begin
writeln('Sua média em ',aluno[i].disc[l],' é: ',med[l]);
end;
writeln;
writeln('Sua média geral foi: ',medGer[i] );
writeln;
end;
readkey;
end.