{
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 votacao;

const
n = 4;

var
contador, vencedor1 : integer;
porc1, soma: real;
matriz1 : array[1..n] of string[25];
matriz2 : array[1..n] of real;
matriz3 : array[1..n] of string[4];

{calculo de porcentagem}
procedure porc (a,b : real);
	begin
		porc1 := (a/b)*100;
	end;

{comparacao para o maior}
procedure vencedor (a, b, c, d : real);
	begin
		if ((a>b) and (a>c) and (a>d)) then vencedor1 := 1;
		if ((b>a) and (b>c) and (b>d)) then vencedor1 := 2;
		if ((c>a) and (c>b) and (c>d)) then vencedor1 := 3;
		if ((d>a) and (d>b) and (d>c)) then vencedor1 := 4;
	end;				

begin
	{zerando as variaveis necessarias}
	soma := 0;
	vencedor1 := 0;

	{entrada dos dados}
	contador := 1;
	while contador < n+1 do
	begin
		writeln ('Entre o nome do candidato ', contador, ' utilize ate 25 caracteres');
		readln (matriz1[contador]);
		writeln ();
		writeln ('Entre a sigla do partido do candidato ', contador);
		readln (matriz3[contador]);
		writeln ();
		writeln ('Entre o numero de votos do candidato ', contador);
		readln (matriz2[contador]); writeln ();
		
		{soma dos votos}
		soma := soma + matriz2[contador];
		
		{incremento do contador}
		contador := contador+1
	end;
	
	{resultados}
	writeln; 
	writeln ('RESULTADOS:');
	contador := 1;
	while contador < n+1 do
	begin
		porc (matriz2[contador], soma);
		writeln ('[] Candidato: ', matriz1[contador]);
		writeln ('* Partido: ', matriz3[contador]);			
		writeln ('* Porcentagem dos votos: ', porc1:0:2, '%');
		writeln ();
	{incremento}
	contador := contador+1;
	end;
	
	{vencedor}
	vencedor (matriz2[1], matriz2[2], matriz2[3], matriz2[4]);			
	porc (matriz2[vencedor1], soma);
	writeln ('O grande vencedor e ', matriz1[vencedor1], ' com ', porc1:0:2, '% dos votos!' );
	
end.

