{
Universidade de Brasília
Instituto de Ciências Exatas
Departamento de Ciência da Computação
Introdução a Ciência da Computação - 2/2006

Aluno: Leonardo Marques Nunes de Mattos
Matrícula: 06/89041
Turma: D
Programa feito no Linux (Slackware 10.2 / Kernel 2.4.31)
}

program at10_prog4;

const
p1 = 2.0;
p2 = 2.5;
p3 = 3.0;
{utilizei o numero maximo do array como 50, pois nao sei quantos alunos uma turma de ICC pode ter.}
w = 50;

var
opcao : string[3];
mencao : string[2];
contador, contador2 : integer;
media1 : real;
aluno : array[1..w] of string[20];
matricula : array[1..w] of string[8];
notas_trabalhos : array[1..w,1..5] of real;
notas_provas : array[1..w,1..3] of real;

procedure media (a, b , c, d, e, f, g, h : real);
	begin
		media1 := ((a*p1 + b*p2 + c*p3) + (d + e + f + g + h)*p2/5)/10;
		if ((media1 >= 0) and (media1 < 0.1)) then mencao := 'SR';
		if ((media1 >= 0.1) and (media1 <= 2.9)) then mencao := 'II';
		if ((media1 >= 3.0) and (media1 <= 4.9)) then mencao := 'MI';
		if ((media1 >= 5.0) and (media1 <= 6.9)) then mencao := 'MM';
		if ((media1 >= 7.0) and (media1 <= 8.9)) then mencao := 'MS';
		if ((media1 >= 9.0) and (media1 <= 10.0)) then mencao := 'SS'; 
	end;

procedure resultado (i : integer);
	begin
		contador2 := 1;
		while contador2 <= i do
		begin
			writeln(); writeln ('RESULTADOS: ');
			writeln ('Aluno: ', aluno[contador2]);
			writeln ('Matricula: ', matricula[contador2]);
			media (notas_provas[contador2,1], notas_provas[contador2,2], notas_provas[contador2,3], notas_trabalhos[contador2,1], notas_trabalhos[contador2,2], notas_trabalhos[contador2,3], notas_trabalhos[contador2,4], notas_trabalhos[contador2,5]);
			writeln ('Mencao: ', mencao);
			contador2 := contador2 + 1;
		end;			
	end;

begin
	contador := 1; opcao := 'sim';
	while  opcao <> 'nao' do
	begin
		write ('Entre o nome do aluno: ');
		readln (aluno[contador]);
		write ('Entre a matricula no formato XX/YYYY: ');
		readln (matricula[contador]);
		write ('Entre as cinco notas do trabalhos separadas por espaço (no formato ex.: 5.56): ');
		readln (notas_trabalhos[contador,1], notas_trabalhos[contador,2], notas_trabalhos[contador,3], notas_trabalhos[contador,4], notas_trabalhos[contador,5]);
		write ('Entre as três notas das provas separadas por espaço em ordem cronologica, da mais antiga pra mais recente (no formato ex.: 6.01): ');
		readln (notas_provas[contador,1], notas_provas[contador,2], notas_provas[contador,3]);
		write ('Voce deseja entrar mais alunos? Entre sim ou nao (sem acento): ');
		readln (opcao); 
		if opcao = 'nao' then resultado (contador);
		contador := contador + 1; 
	end;
end.
