8.12. Какие ошибки не
обнаруживаются транслятором?
Существует множество ошибок, которые
транслятор выявить не в состоянии, если
используемые в программе операторы
сформированы верно. Приведем примеры таких
ошибок.
Логические ошибки:
| неверное указание ветви алгоритма после
проверки некоторого условия;
| | неполный учет возможных условий;
| | пропуск в программе одного или более
блоков алгоритма. |
Ошибки в циклах:
| неправильное указание начала цикла;
| | неправильное указание условий
окончания цикла;
| | неправильное указание числа повторений
цикла;
| | бесконечный цикл. |
Ошибки ввода-вывода; ошибки
при работе с данными:
| неправильное задание тип данных;
| | организация считывания меньшего или
большего объёма даных, чем требуется;
| | неправильное редактирование данных. |
Ошибки в использовании
переменных:
| использование переменных без указания
их начальных значений;
| | ошибочное указание одной переменной
вместо другой. |
Ошибки при работе с
массивами:
| массивы предварительно не обнулены;
| | массивы неправильно описаны;
| | индексы следуют в неправильном порядке. |
Ошибки в арифметических
операциях:
| неверное указание типа переменной (например,
целочисленного вместо вещественного);
| | неверное определение порядка действий;
| | деление на нуль;
| | извлечение квадратного корня из
отрицательного числа;
| | потеря значащих разрядов числа. |
Все эти ошибки обнаруживаются с помощью
тестирования.
|