Могу предложить такой вариант - в цикле repeat число вводится как строка и посимвольно проверяется. если введено неправильно - возвращает на ввод, если правильно - преобразует строку в число для дальнейшей работы.
var a,err: integer; s: string; i: byte; error: boolean; begin repeat error:=true; writeln ('введите число'); readln (s); for i:=1 to length(s) do begin if (ord(s[i])<48) or (ord(s[i])>57) then begin error:=false; writeln ('введено не число'); break; end end; until error=true; val(s,a,err); writeln ('введено число ',a); end.
Пример: введите число 12O введено не число введите число 120 введено число 120
1) Нарисуй два круга, которые пересекаются частично. Назови их (А и В)
Пример: Костя и Катя (буквы К, Т, Я совпадают)
2) Нарисуй два НЕ пересекающихся круга. Назови их (А и В)
Пример: Мальчики и девочки
3) Нарисуй один круг и в нём напиши А=В
Пример: прекрасный и великолепный
4) Нарисуй большой круг и круг, внутри него. Назови их (А и В)
Пример: Домашнее животное и собака
Объяснение: