batollo, я так понял, что это написанная прграммка. А что она "умеет делать"?
Она умеет выводить все числа от введенного N до 1.
Например, пользователь вводит 10, программа выводит: 9 8 7 6 5 4 3 2 1
А если пользователь ввел слово или букву или отрицательное число - программа просит его ввести число еще раз.
Вот усовершенствованный листинг:
Program lab3;
{User enters some value and then program prints all numerics under this value}
var
N : integer;
i : integer;
Code: integer;
userprint : string;
label
1;
begin
1: WriteLn('Enter N value from 0 to 32767');
ReadLn(userprint);
Val(userprint, N, Code);
if Code <> 0 then
begin
WriteLn('Error! Try again.');
goto 1;
end;
if N < 0 then
begin
WriteLn('Error! Try again.');
goto 1;
end;
for i := N-1 downto 1 do WriteLn(i);
WriteLn('Enter any char and then press Enter to end problem');
ReadLn;
end.