quarta-feira, 19 de março de 2014

Programa em Pascal.

Agora um programa que classifica as notas de uma turma em "Suficientes", "Insuficientes", e "Excelente". Sendo que é usado uma estrutura de repetição, para o programa continuar solicitando notas até que determinado comando (-1) seja inserido. Ao final ele te mostra quantas notas foram suficientes, quantas insuficientes e quantas excelentes, além de dar a média da turma.



Código:

Program MediaTurma;

var
Media_Aluno,
Soma,
Media_Total:real;
s_excelentes ,
s_suficientes ,
contador,
s_insuficientes: integer;

Begin
  
  Soma := 0;
  
  s_excelentes := 0;         //guarda a quantidade de notas excelentes
  s_suficientes :=0;       //guarda a quantidade de notas suficientes
  s_insuficientes :=0;      //guarda a quantidade de notas insuficientes
  contador := 0;
  
  writeln('Este programa classifica as notas de uma turma em excelente, suficiente e insuficiente.');
  writeln;
  writeln('Digite -1 para finalizar de entrar as notas.');
  
  
  write ('Digite a media de um aluno: ');
  readln (Media_Aluno);
  
  while (media_aluno <> -1) do    //Se a nota digiitada for -1 ele finaliza o programa
  begin
    if (media_aluno >=0) and (media_aluno <=10) then     // condição para que a nota seja entre 0 a 10
    begin
      
      Soma := Soma + Media_aluno;    //guarda as médias digitadas
      Contador := Contador + 1;      //guarda a quantidade de médias digitadas
      
      if (media_aluno >= 9) and (media_aluno <= 10) then    //condição para armazenar as notas excelentes
      begin
        s_excelentes := s_excelentes + 1
      end
      else
      
      if (media_aluno  >= 7) and (media_aluno <= 8) then        //condição para armazenar as notas suficientes
      begin
        s_suficientes := s_suficientes + 1
      end
      
      else
      
      if (media_aluno >=0) and (media_aluno <= 6) then   //condição para armazenar as notas insuficientes
      begin
        s_insuficientes := s_insuficientes + 1
      end
      
      else;
      write ('Digite a media de um aluno: ');   //repete o bloco
      readln (Media_Aluno);
    end
    
    else
    begin
      write ('Nota inválida, digite uma nota de 0 a 10, ou -1 para sair: ');     //caso seja digitada uma nota maior que 10, exibe essa mensagem
      readln (Media_Aluno);
    end ;
    if (media_aluno <= -2)  then                   // condição para que nenhuma nota negativa seja digitada
    begin
      write ('Nota negativa inválida, digite uma nota de 0 a 10, ou -1 para sair: ');
      readln (Media_Aluno);
    end
  end;
  
  Media_Total := soma / contador;    //calcula a média total
  
  writeln;
  writeln;
  writeln('Número de notas Excelentes: ', s_excelentes);     //exibe as notas excelentes.
  writeln('Número de notas Suficientes: ', s_suficientes);        //exibe as notas suficientes.
  writeln ('Número de notas Insuficientes: ', s_insuficientes);        //exibe as notas insuficientes.
  
  writeln;
  writeln;
  writeln('A média das notas = ', Media_Total:3:1)    //exibe a média
End.

Pratiquem! ;)

Nenhum comentário:

Postar um comentário