· Ошибки компиляции – ошибки в синтаксисе написания языковых конструкций.
· Ошибки выполнения - это такие ошибки, которые не нарушают синтаксис языка, но приводят к ошибочным операциям в процессе выполнения программы (например, деление на нуль. зацикливание, выход за границу индексов и т.д.). В этом случае система выдаст сообщение об ошибке, но уже на этапе выполнения программы.
· Ошибки алгоритма - те, которые при верных исходных данных и безошибочной работе программы приводят к неверным результатам. Эти ошибки должен обнаруживать сам программист при тестировании программы.
Об инструкциях ввода-вывода
Тщательно проработанная программа ввод данных сопровождает осмысленными сообщениями, чтобы пользователь знал, каких данных ждет от него программа. Для ввода и вывода данных, как правило, достаточно классов-потоков cin и cout, организующих обмен данными со стандартными устройствами — клавиатурой и дисплеем.
Знакомство с классами предполагается на более поздних этапах изучения языка С++. На начальном же этапе к задачам ввода/вывода будем подходить формально: за инструкцией cin>> — перечисляются переменные для ввода, а за инструкцией cout<< — данные для вывода. Эти классы-потоки cin и cout, описаны в одном из стандартных заголовочных файлов iostream.h. Поэтому этот файл должен быть подключен командой препроцессора #include.
Дополнительные вопросы
1. Назовите этапы решения задачи на машине?
2. Как запустить программу на компиляцию?
3. Как запустить программу на компиляцию и выполнение?
4. Какова структура программы на С++?
5. Как записываются комментарии в программе?
6. Как записываются конструкции ввода-вывода?
7. Где отображаются ошибки компиляции? Всегда ли точно указывается место ошибки?
8. Ошибки на этапе выполнения программы? Возможные причины?
9. Ошибки алгоритма? Причины?
10. Как происходят вычисления выражения, если операнды имеют различные типы? Примеры?
11. Для чего предназначен оператор присваивания?
12. Должен ли тип значения в правой части совпадать с типом левой части оператора присваивания?
13. Чему равно значение выражения: 4 + 3 / 8?
14. Какие средства в С++ применяются для описания свойств переменной?
15. Указать, какие из следующих чисел: 500 6 3.25 могут быть точными значениями переменной? Когда?
16. Какие типы величин используются в С++?
17. Для чего используются комментарии в программе? Как? Где нельзя?
18. Как прервать выполнение программы?
19. Определить значения переменных после выполнения действий:
double d1,d2,d3;
d1 = 2.56; d2 = (int)d1 + 1.5;
d3 = (int)(d1 + 1.5);
double d1 = 2.56; int i; i = (d1 - (int)d1) * 10;
Варианты заданий
[1] Препроцессор — часть компилятора, которая производит предварительную обработку текста программ. Препроцессор узнает свои инструкции по специальному знаку «#» - решетка
[2] Изучите содержимое папки проекта. Характеристика файлов проекта представлена в отдельном разделе методического указания
[3] Тестирование – обнаружение ошибок в алгоритме с помощью придуманных данных. Данные должны быть подобраны таким образом, чтобы на любые возможные ситуации ответ был известен.