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