Программа в PascalABC.Net:const digits=['0','1','2','3','4','5','6','7','8','9'];var s:string; n,i,err:integer; isdigit:boolean;begin Write('Введите натуральное число (1-9999): '); Read(s); i:=1; isdigit:=True; n:=Length(s); repeat isdigit:=isdigit and (s[i] in digits); Inc(i) until (not isdigit) or (i>n); if isdigit then begin Val(s,n,err); Writeln('Введено корректное число ',n) end else Writeln('Число содержит нецифровой символ')end.
Отметим, что в PascalABC.Net в реальной жизни решение могло бы выглядеть так:var s:string; n,err:integer;begin Write('Введите натуральное число (1-9999): '); Read(s); Val(s,n,err); if err=0 then Writeln('Введено корректное число ',n) else Writeln('Число содержит нецифровой символ')end.