Добавить в корзинуПозвонить
Найти в Дзене
Devir013

Программируем в VBA. Часть 4. Устранение "Багов".*

устранение "Багов".* * (Баг — слово, обозначающее ошибку в программе. Дословно переводится с английского как «жук».) - что будет если при вводе число X превысит значение 32 767; - что будет если квадрат числа X превысит значение 32 767; - что будет если при вводе задать не число а набор символов. Первые два вопроса решаются добавлением в программу блока проверки вводимого числа. Если число попадает в числовой интервал ( от -181 до 181), то вычисляем значение Y и выводим результат. Если не попадает, то выдаём предупреждение о неправильном вводе аргумента X и отправить на повторный ввод. Открываем программу № 3 в редакторе VBA и переписываем код программы : Для выполнения проверки числа на попадания в разрешённый интервал применён оператор условного перехода IF ....Then. Для объединения проверок в единую блок-схему применим оператор If .....Then ......Else......End If. Что бы после проверки перейти на повторный
Рисунок 1- Круговорот виртуальной энергии в мире компьютеров, гаджетов и людей.
Рисунок 1- Круговорот виртуальной энергии в мире компьютеров, гаджетов и людей.

"Краш тест" программы -
устранение "Багов".*

* (Багслово, обозначающее ошибку в программе. Дословно переводится с английского как «жук».)

  • Как сломать программу? Сюда входит ввод неверных данных и вызов исключительных ситуаций. Сценарии в этом случае направлены на проверку устойчивости программы к нештатным ситуациям .
  • Рассмотрим программу №3 на наличие ошибок. И сразу можно задать три вопроса:

- что будет если при вводе число X превысит значение 32 767;

- что будет если квадрат числа X превысит значение 32 767;

- что будет если при вводе задать не число а набор символов.

Первые два вопроса решаются добавлением в программу блока проверки вводимого числа. Если число попадает в числовой интервал ( от -181 до 181), то вычисляем значение Y и выводим результат. Если не попадает, то выдаём предупреждение о неправильном вводе аргумента X и отправить на повторный ввод.

Рисунок 2-Блок схема программы № 3 С проверкой введённого числа
Рисунок 2-Блок схема программы № 3 С проверкой введённого числа

Открываем программу № 3 в редакторе VBA и переписываем код программы :

Рисунок 3- Код программы№ 3 с проверкой введённого числа по блок-схеме рисунка 2.
Рисунок 3- Код программы№ 3 с проверкой введённого числа по блок-схеме рисунка 2.

Для выполнения проверки числа на попадания в разрешённый интервал применён оператор условного перехода IF ....Then.

Рисунок 4- Блок-схемы проверки границ вводимого числа Х.
Рисунок 4- Блок-схемы проверки границ вводимого числа Х.

Для объединения проверок в единую блок-схему применим оператор If .....Then ......Else......End If.

Что бы после проверки перейти на повторный ввод, если введённое число не из разрешённого интервала применяем оператор безусловного перехода GoTo.

Рисунок 5-Блок-схема проверки границ введённого числа Х.
Рисунок 5-Блок-схема проверки границ введённого числа Х.

Пробуем тестировать программу №3 с изменениями. При вводе чисел меньше -181 и больше +181 появится предупреждающее сообщение об ошибке и затем программа вернётся к повторному вводу, то есть программа зациклена и пока не будет правильно введено число дальнейшего выполнения программы НЕ БУДЕТ!!!

Рисунок 4-Предупреждение об ошибке ввода
Рисунок 4-Предупреждение об ошибке ввода

Решая первые два вопроса, был решён и третий! Пробуем ввести вместо числового значения буквенное. Программа требует ввод числа из разрешённого диапазона!

Задание:

У программы № 3 теперь появился недостаток зацикливания при вводе неправильного значения.
Устраните его, придумав условный код" выхода.

Например: Водим "999" и происходит выход из программы.

Пока всё! Продолжение следует ....путь ещё не пройден!!!

Жду решений!, комментариев!!!