program notas;

const
peso1 : integer = 2;
peso2 : real = 2.5;
peso3 : integer = 3;
alunos : integer = 3;

var
matricula : array[1..3] of string;
nprovas : array[1..3] of real;
ntrabalhos : array[1..10] of real;
somaprova : array[1..3] of real;
somatrabalho : array[1..3] of real;
media1 : real;
contador : integer;

{ funcoes, p/ agilizar o barato }
procedure media ( s,n : real );
                begin
                	media1 := s / n;
                end;

begin
	contador := 1;
	while contador < alunos+1 do
	begin
		{dados da matricula}
		writeln ('Entre o número da matrícula do aluno ', contador,' No formato 0689041, sem a "/"');
		readln (matricula[contador]);
		
		{dados das notas}
		writeln ( 'Entre as 3 notas das provas do aluno ', contador, ' separadas por apenas um espaço');
		readln (nprovas[1], nprovas[2], nprovas[3]);
		somaprova[contador] := nprovas[1]*peso1 + nprovas[2]*peso2 + nprovas[3]*peso3;
		
		{dados dos trabalhos}
		writeln ( 'Entre as 10 notas dos trabalhos do aluno ', contador, ' separadas por apenas um espaço');
		readln (ntrabalhos[1], ntrabalhos[2], ntrabalhos[3], ntrabalhos[4], ntrabalhos[5], ntrabalhos[6], ntrabalhos[7], 
ntrabalhos[8], ntrabalhos[9], ntrabalhos[10]);
		somatrabalho[contador] :=(ntrabalhos[1] + ntrabalhos[2] + ntrabalhos[3] + ntrabalhos[4] + ntrabalhos[5] + ntrabalhos[6] + ntrabalhos[7] + ntrabalhos[8] + ntrabalhos[9] + ntrabalhos[10]);
		

		{contador}
		contador := contador+1
	end;
	
	{impressao dos resultados}
	writeln ();
	writeln ('RESULTADOS');
        writeln ('----------');
	writeln ();
	contador := 1;
	while contador < alunos+1 do
	begin
		writeln ('Aluno: ', contador);
		writeln ('Matricula: ', matricula[contador]);
		media (somaprova[contador], peso1+peso2+peso3);
		writeln ('Média das provas: ', media1:0:2);
		media (somatrabalho[contador], 10); 
		writeln ('Média dos trabalhos: ', media1:0:2);
		media ((somatrabalho[contador]/10)*peso2+somaprova[contador],peso1+peso2*2+peso3);
		writeln ('Nota final: ', media1:0:2); 
		writeln ();
		contador := contador+1
	end;

end.
