Si certo, è l'end; che termina la funzione/procedura!
E cosa non riesci a capire?
Comunque è un programma veramente ridicolo, visto che A non potrà mai essere un intero visto che è dichiarato Char, semmai il carattere è un numero...e cmq è ridicolo fare un programma del genere così incasinato.....traduci questo che fà la stessa identica cosa in modo decisamente migliore!
codice:
PROGRAM Prg_elementare;
USES crt;
VAR
s:string;
i,e:integer;
BEGIN
repeat
writeln('Inserisci un cavolo di numero: ');
readln(s);
Val(s,i,e);
if (e <> 0) then writeln('Ho detto un numero!!!');
until (e = 0);
writeln('Ma bravo, sai cos''è un numero...');
END.