Crítica


Usamos uma crítica para conferir se foi digitado um valor correto, usando para isso um teste lógico, dentro de uma repetição (laço), de onde só sairá quando for digitado um valor desejado, ou seja, obrigando que seja digitado um valor válido.


Exemplo: Programa para calcular a média de 3 notas de 10 alunos, criticando a nota digitada:
 program  media_notas;
 var
 NOME:string;
 N1,N2,N3,MEDIA:real;
 CONT:integer;
 begin
   clrscr;
   FOR CONT:=1 to 10 do 
    begin
      write('Digite o nome e as 3 notas do ',cont,'o  aluno ');
      readln(NOME,N1,N2,N3);
      while (N1<0) or (n1>10) or (N2<0) or (N2>10) or (N3<0) or (N3>10) do
        begin {repete enquanto as notas forem menores que 0 ou maiores que 10!}
          writeln('Notas inválidas! Digite notas de 0 a 10!');
          readln(N1,N2,N3);
        end;
      MEDIA:=(N1+N2+N3)/3;
      writeln('A média do aluno ',NOME,' é: ',MEDIA:2:2);
    end;
   readkey;
 end;