В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
АмаХастла
АмаХастла
24.09.2022 05:31 •  Информатика

Как в pascal abc сделать контроль ввода данных? так, что бы при вводе любого символа, кроме числа выдавало не ошибку, а говорила что "введено не число" и возвращалось, чтоб заменить этот символ на цифру

Ответ:
Kalimovnadir
Kalimovnadir
04.10.2020 21:06
Могу предложить такой вариант - в цикле 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
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?