Другие языки программирования и технологии

Подскажите! как на паскале можно сделать проверку, если вводишь символ то выдает ошибку об этом

На каком "паскале" вы хотите это реализовать?
>... вместо числа (0-9)...
Имеется в виду неотрицательное одноразрядное десятичное число, т. е. цифра?

Turbo Pascal, Free Pascal, TMT Pascal, Quick Pascal, Virtual Pascal, Borland Pascal, GNU Pascal, Delphi:

program N78015730;
var
n: byte;
Error: boolean;
begin
repeat
write('Введите цифру: ');
{$I-}
readln(n);
{$I+}
Error := (IOResult <> 0) or (n < 0) or (n > 9);
if Error then
writeln('Ошибка! Введена не цифра. ')
until not Error;
writeln('Введено: ', n);
readln
end.

Free Pascal, PascalABC.NET (упрощённо без уточнения класса исключения. В Delphi, GNU Pascal, PascalABC в таком виде работать не будет. Нужно явно назначать обработчики конкретных классов исключений) :

program N78015730;
var
n: byte;
Error: boolean;
begin
repeat
write('Введите цифру: ');
Error := False;
try
readln(n);
except
Error := True;
end;
Error := Error or (n < 0) or (n > 9);
if Error then
writeln('Ошибка! Введена не цифра. ')
until not Error;
writeln('Введено: ', n);
readln
end.

P.S. Не пишу пример на Oxygene, т. к. не считаю его паскалем из-за отсутствия обратной совместимости, хотя многие относят Delphi Prism к Паскалю.
Александр Спешилов
Александр Спешилов
51 590
Лучший ответ
Это на бейсике.
Перепиши на паскать.

If Var<0 Or Var>9
MessageRequester("Ашипка", "Введен символ")
EndIf
for i:=0 to 255 do begin
if Chr(i) then Write('Error');
end;
Не думаю.
Это лишний ...Лучше на Джава это элементарно
там вроде окно вылезает где указывается в какой строке ошибка
в begin присваиваете числам символы
потом через fail