- •Общие указания
- •Установка программного обеспечения
- •Основные библиотеки
- •Лабораторная работа №1
- •Основные теоретические сведения Создание проекта
- •Написание программного кода
- •Компиляция и устранение ошибок
- •Запуск программы на выполнение и ее останов
- •Ввод/вывод информации на экран
- •Генератор случайных чисел
- •Задание к лабораторной работе
- •Контрольные вопросы
- •Лабораторная работа №2
- •Основные теоретические сведения
- •Переменные и оператор присваивания
- •Арифметические операторы
- •Математические функции
- •Оператор if
- •Логические операторы
- •Оператор switch
- •Цикл while
- •Цикл for
- •Инструкция return
- •Решение типовых задач
- •Задание к лабораторной работе Варианты заданий к задаче 1
- •Варианты заданий к задаче 2
- •Варианты заданий к задаче 3
- •Контрольные вопросы
- •Лабораторная работа №3
- •Основные теоретические сведения
- •Одномерные массивы
- •Двумерные массивы
- •Алгоритмы
- •Решение типовых задач
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа №4
- •Основные теоретические сведения. Функции
- •Самодиагностика
- •Лабораторная работа №4
- •Основные теоретические сведения.
- •Транспонирование матриц
- •Сложение матриц
- •Умножение матриц
- •Задание на лабораторную работу №4
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа №5
- •Основные теоретические сведения.
- •Работа с файлами
- •Решение типовых задач
- •Задание на лабораторную работу №5
- •Варианты заданий
- •Производная функции на интервале
- •Решение типовых задач
- •Задание на лабораторную работу №6
- •Вычисление интегральной функции
- •Решение типовых задач
- •Задание на лабораторную работу №7
- •Контрольные вопросы
- •Лабораторная работа №8
- •Основные теоретические сведения.
- •Решение типовых задач
- •Задание на лабораторную работу №8
- •Варианты заданий
- •Контрольные вопросы
- •Литература
Компиляция и устранение ошибок
Прелесть компилятора Си заключается в том, что он автоматически вылавливает различные синтаксические ошибки и указывает на них программисту.
Рассмотрим теперь вопросы компиляции в среде Visual C++ 6.0.
Если вы уже набрали программный код листинга 1, то нажмите клавишу F7 для компиляции. Внизу экрана появится окно, в которое выводятся результаты компиляции (рис. 10).
Рис. 10.
Если программный код набран без ошибок, то процесс компиляции завершается строкой:
Имя проекта.exe – 0 error(s), 0 warning(s)
Попробуем теперь сделать различные ошибки и посмотрим на реакцию компилятора.
Закомментируйте в листинге 1 строку #include (рис. 11).
Рис. 11.
При попытке скомпилировать программу компилятор выдаст ошибку «'printf' : undeclared identifier». Если в дальнейшем вы будете сталкиваться с ошибкой «undeclared identifier» в отношении какой-либо стандартной функции, то это, как правило, будет означать, что вам необходимо подключить соответствующую библиотеку.
Верните код программы в исходное сотояние и удалите символ «;» в конце строки printf() рис. 12. Попытайтесь скомпилировать программу.
Рис. 12.
Рис. 13.
Компилятор также выдаст соответствующую ошибку. Вы можете отследить местоположения ошибок в программном коде, дважды щелкнув мышкой по соответствующей ошибке в окне результатов компиляции.
Следует отметить, что не всегда сообщения компилятора позволяют быстро и однозначно идентифицировать ошибку. Измените программный код, так как это показано на рис. 13 и скомпилируйте его. В данном случае нехватка в строке символа «”» приводит к целому ряду ошибок на первый взгляд никак с ним не связанных. Вообще в программах на Си++, особенно больших, простая синтаксическая ошибка может повлечь за собой сотни ошибок при компиляции. Это вполне обычная картина.
Следует отметить, что очень часто интеллектуальная мощь компилятора Си++ приводит к возникновению у начинающих программистов заблуждения, заключающегося в том, что, дескать, компилятор умный он все ошибки найдет. Это неверно. Ни один компилятор в мире не найдет ошибку в слове «собака» если правильным является слово «кошка». Компилятор способен контролировать синтаксис программы. За ее логику должен отвечать программист.
Запуск программы на выполнение и ее останов
Запуск любой программы производится тогда, когда вы добились безошибочной компиляции этой программы. Продолжим работу с программой «Hello, world!». Если вы находитесь в среде Visual C++ 6.0 нажмите клавишу F5. В вы, возможно, заметите на экране быструю смену каких-то окон, но в целом придете к выводу, что ничего не произошло. Это объясняется тем, что в программе не предусмотрена пауза перед завершением работы. Фактически, после печати слов «Hello, world!» программа сразу же закрывается, и вы просто не успеваете посмотреть результат ее работы.
В среде Visual C++ 6.0 данная проблема решается нажатием комбинации клавиш Ctrl + F5 вместо F5.
Довольно часто в ходе отладки сложных программ, возникает необходимость остановить работу программы. Иногда это невозможно сделать обычными методами. Например, в программе может возникнуть, так называемый «вечный цикл» из-за которого можно наблюдать эффект «зависания» программы. В этом случае программа не реагирует на команды, подаваемые мышью.
Если вы работаете со средой Visual C++ 6.0 то вам необходимо переключиться в окно редактора кода. После этого вам необходимо нажать комбинацию Shift + F5.