Защита от ввода не числовой информации в параметр с клавиатуры - PascalABC.NET/GraphABC
Формулировка задачи:
В программе идет запрос периодов интегрирования с клавиатуры. Ввод я поставил в цикл repeat, исключения в until описываю. Такой вопрос, как правильно задать условие в until , чтобы кроме чисел ничего нельзя было ввести, а сами числа в диапазоне от -500 до 0. Пробовал с try....except, но как вернуться к запросу параметра заново - не получается сделать: сообщение выдается и переходит к следующей процедуре с неправильным параметром.
Если ввести латиницу, символы... пропускает. Не доходит до меня, как задать условие правильно. Помогите, прошу!
Решение задачи: «Защита от ввода не числовой информации в параметр с клавиатуры»
textual
Листинг программы
until (err = 0) and (a1>=-500) and (a1<=0);
Объяснение кода листинга программы
- Введен переменный
err
типаBoolean
и инициализирован значениемFalse
. Эта переменная будет использоваться для проверки корректности введенных данных. - Введен переменный
a1
типаInteger
и инициализирован значением0
. Эта переменная будет использоваться для хранения числовых данных, введенных пользователем. - Запущен цикл
while
, который будет выполняться до тех пор, пока переменнаяerr
равнаFalse
и значение переменнойa1
находится в диапазоне от -500 до 0. - Внутри цикла
while
пользователю предлагается ввести значение для переменнойa1
. - Если пользователь вводит нечисловое значение, то переменная
err
устанавливается в значениеTrue
. - Если пользователь вводит значение, которое находится за пределами диапазона от -500 до 0, то переменная
err
устанавливается в значениеTrue
. - Если пользователь вводит корректное числовое значение, которое находится в диапазоне от -500 до 0, то переменная
err
устанавливается в значениеFalse
. - После выхода из цикла
while
пользователю выводится сообщение об успешном вводе числовых данных.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д