Artilheiro do Brasileirão em Pascal

Um dos leitores me pediu ajuda com um exercício em Pascal que envolvia a determinação do média de gols, o artilheiro que fez mais gols e o que fez menos gols.

Como a leitor já tinha aprendido a expressão ARRAY o programa ficou mais simples e viável.

Melhoras posteriores seria do caso em que dois jogadores empataram com mais ou menos gols, mas isso poderá ser feito de acordo com solicitação dos demais leitores.

Artilheiro Brasileirao Pascal

Programa:

 Program Artilheiros_do_Brasileirao;  
 Uses Crt;  
 Type  
  TJogador = Record  
   Nome : String [40];  
   Clube : String [30];  
   Gols : Integer;  
  End;  
 Var  
  Jogador : Array [1..20] of TJogador;  
  Maior, Menor, Total, n : Integer;  
  Media : Real;  
  i, j, k : Integer;  
 Begin  
  // Tela Inicial  
  ClrScr;  
  WriteLn ('Artilheiros do Brasileirao');  
  WriteLn;  
  // Verifica se o numero de jogadores esta entre 2 e 20  
  Repeat  
   Write ('Quantos jogadores irao participar (2 a 20)?');  
   ReadLn (n);  
   if (n<2) or (n>20) then WriteLn ('Numero invalido!');  
  Until (n>=2) and (n<=20);  
  // Inicializa o Total com 0  
  Total := 0;  
  // Entrada dos dados dos jogadores  
  For i := 1 to n do  
  Begin  
   Write ('Nome....: '); ReadLn (Jogador[i].Nome);  
   Write ('Clube...: '); ReadLn (Jogador[i].Clube);  
   Write ('Gols....: '); ReadLn (Jogador[i].Gols);  
   Total := Total + Jogador[i].Gols;  
  End;  
  // Calculo da Media de Gols  
  Media := Total / n;  
  // Determinar o maior goleador  
  Maior := Jogador[1].Gols;  
  j := 1;  
  for i := 2 to n do  
   if Jogador[i].Gols > Maior then j := i;  
  // Determinar o menor goleador  
  Menor := Jogador[1].Gols;  
  k := 1;  
  for i := 2 to n do  
   if Menor > Jogador[i].Gols then k := i;  
  // Mostra Resultados  
  WriteLn ('A media de gols foi de ',media:5:2,' gols.');  
  WriteLn ('O maior goleador foi ',Jogador[j].Nome,' com ',Jogador[j].Gols,  
       ' do clube ',Jogador[j].Clube,'.');  
  WriteLn ('O menor goleador foi ',Jogador[k].Nome,' com ',Jogador[k].Gols,  
       ' do clube ',Jogador[k].Clube,'.');  
  // Pausa final  
  ReadLn;  
 End.  

Nenhum comentário:

Postar um comentário