P
pro·school.ru
Каталог школ

Контроль ввода и проверка корректности данных

💻 Информатика · 9 класс

Зачем проверять вводимые данные

Контроль ввода (проверка корректности данных) — это часть программы, которая убеждается, что введённые пользователем данные допустимы, прежде чем использовать их в вычислениях. Без такой проверки программа может выдать неверный результат или аварийно завершиться.

Пользователь может ошибиться: ввести букву вместо числа, отрицательный возраст или ноль там, где делить на него нельзя. Хорошая программа предвидит такие ситуации и реагирует понятно.

Что обычно проверяют

  • Тип данных: введено ли число, а не текст.
  • Диапазон: попадает ли значение в допустимые границы.
  • Особые значения: например, делитель не должен равняться нулю.
  • Логическую осмысленность: возраст не бывает отрицательным.

Виды ограничений

ДанныеДопустимые значенияНедопустимо
Возраст ученикаот 6 до 18-3, 200
Оценкаот 2 до 50, 7
Делительлюбое число, кроме 00
Номер месяцаот 1 до 120, 13

Разбор примера

Программа просит ввести положительное число. Если введено неверное значение, нужно повторить запрос. Алгоритм с циклом проверки:

ввести x пока x <= 0 повторять: вывести "Нужно положительное число" ввести x конец цикла # дальше x точно больше нуля

Цикл «пока» не выпустит программу дальше, пока пользователь не введёт корректное значение. Это самый надёжный приём контроля ввода.

Частая ошибка: проверять данные уже после вычислений. Тогда деление на ноль или другая ошибка успеет произойти. Проверку всегда делают до использования данных.

Сообщения об ошибке

Важно не просто отвергнуть неверный ввод, но и объяснить пользователю, что от него хотят. Понятное сообщение вроде «введите число от 1 до 12» помогает исправить ошибку быстро.

Проверка диапазона со сложным условием

Часто значение должно одновременно удовлетворять двум границам — быть не меньше нижней и не больше верхней. Тогда используют логическую операцию «и», объединяющую два сравнения.

ввести m если (m >= 1) и (m <= 12): # номер месяца верный иначе: вывести "Ошибка: месяц от 1 до 12"

Здесь оба условия должны выполняться вместе. Если хотя бы одно ложно, число выходит за допустимые границы, и программа сообщает об ошибке.

Защитное программирование

Подход, при котором программу заранее готовят к неверным данным и нештатным ситуациям, называют защитным программированием. Его принципы просты, но очень важны:

  • Не доверяй вводу — всегда проверяй данные.
  • Предусматривай ответ на любую ошибку, а не только на верный случай.
  • Сообщай пользователю о проблеме понятно и подсказывай, как её исправить.

Программа, написанная по этим правилам, работает устойчиво и не «падает» при первой же опечатке пользователя.

Кратко о главном

  • Контроль ввода проверяет данные до их использования.
  • Проверяют тип, диапазон, особые и осмысленные значения.
  • Цикл «пока» позволяет повторять запрос до корректного ввода.
  • Программа должна сопровождать ошибку понятным сообщением.