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