Лабораторная работа: Структуры и алгоритмы обработки данных
if (length(w)<5) then {если длина числа меньше 5 знаков заканчиваем проверку, так как число не превышает максимального значения типа Integer, а корректность ввода мы уже проверили}
else {если число больше то проверяем его
дальше}
begin
if (length(w)>5) and (w[1]<> '-') then {если длина числа больше пяти
знаков, и при этом первый знак, не знак
минуса то выводим сообщение о
превышении максимального
значения типа Integer}
begin
Write(rus('Вы ввели не число или число превышающее диапазон '));
WriteLn(rus('типа Integer (-32768..32767) '));
WriteLn('');
WriteLn(rus('Введите другое число'));
Proverka(w); {выполняем рекурсивный вход в
процедуру}
end;
if (w[1]= '-') and (length(w)>4) and (w>'-32768') then {если первый знак числа, знак минуса, а число по длине меньше или равно четырем знакам или число больше чем четыре знака и в ходе сравнения строка со значением введенного числа, меньше или равна строке по значению с максимальным пределом типа Integer, то идем дальше. Иначе, выводим сообщение о превышении максимального значения типа Integer}
begin
Write(rus('Вы ввели не число или число превышающее диапазон '));
WriteLn(rus('типа Integer (-32768..32767) '));
WriteLn('');
WriteLn(rus('Введите другое число'));
Proverka(w); {выполняем рекурсивный вход в
процедуру}
end;
if (length(w)>4) and (w>'32767') then {если число по длине меньше или равно четырем знакам или число больше чем четыре знака и в ходе сравнения строка со значением введенного числа, меньше или равна строке по значению с максимальным пределом типа Integer, то идем дальше. Иначе выводим сообщение о превышении максимального значения типа Integer}
begin
Write(rus('Вы ввели не число или число превышающее диапазон '));