program_v.PAS

{* Обработка неправильного ввода *}

Unit PROGRAM_V;
Interface
Implementation
Begin
 writeln('Функция, которая проверяет введено ли целое число.');
End.

Program V;

Uses program_v.pas; {* Эту строку можно удалить *}
Uses crt; {* Подключаем внешние файлы *}
Var {* Объявление переменных *}
  n    : integer;
  P    : integer;
  Code : integer;
  Str  : String;
Begin
  Repeat     Write('Введите n: ');
    Readln(str); {Вводим строку}
  Val(Str, p, Code); {Эта функция все сделает}
  If Code0 Then
    Writeln('Неправильный ввод! Ошибка в позиции: ', Code);
  Until Code = 0;
  n := P;
  Writeln('Введено: ', n);
  Readln; {* Ждем нажатия Enter *}
End.