- •Ю.А Петров Программирование на языке высокого уровня
- •Часть 1
- •Введение
- •Задание
- •Комментарии
- •Идентификаторы
- •Ключевые слова
- •Константы
- •Строковые литералы
- •Управляющие последовательности
- •Константные выражения
- •Пунктуаторы
- •Операции
- •Задание на лабораторную работу 2 разработка программы линейной структуры Цель работы
- •Отчет по лабораторной работе должен содержать:
- •Задание
- •Замечания
- •Варианты заданий
- •Классификация ошибок
- •Ошибки, не обнаруженные компилятором
- •Ситуации, возникающие при неверных результатах
- •Отладка программы
- •Предупреждения
- •Первое сообщение об ошибке
- •Использование команд Find и Replace
- •Быстрое обнаружение ошибочных строк
- •Продолжение отладки
- •Использование встроенного отладчика
- •Разница между командами Step Into и Step Over
- •Дополнительные средства отладки
- •Работа с точками останова
- •Краткая характеристика объектов
- •Формат 1:
- •Стиль программирования
- •Задание на лабораторную работу 4 объекты и их характеристики Цель работы
- •В отчете по лабораторной работе следует представить:
- •5 Структурное программирование
- •Пример1
- •Пример 2
- •Задание на лабораторную работу 5 разработка программы со структурой «развилка» Цель работы
- •Задание:
- •Варианты задания
- •Задание на лабораторную работу 6 создание цикловых программ с фиксированным числом повторений Цель работы
- •Задание
- •Варианты задания
- •Задание на лабораторную работу 7 создание программ с итерационными циклами Цель работы
- •Задание
- •Варианты задания
- •Пояснения к выполнению лабораторной работы 7
- •6 Агрегаты данных
- •Структура
- •Объединения
- •Перечисления
- •Int array[3]; // Объявление определения;
- •Многомерные массивы
- •Вывод в файловый поток
- •Чтение из входного файлового потока
- •Чтение целой строки файлового ввода
- •Определение конца файла
- •Проверка ошибок при выполнении файловых операций
- •Закрытие файла
- •Управление открытием файла
- •Выполнение операций чтения и записи
- •Задание на ргз 1 использование структур данных при решении задач Цель работы
- •Задание
- •Варианты задания
- •7 Модульное программирование
- •Задание на ргз 2 использование модульного программирования при решении задач
- •Перемещаемые панели инструментов
- •Меню File
- •Меню Edit
- •Меню View
- •Меню Insert
- •Меню Project
- •Меню Build
- •Меню Tools
- •Меню Window
- •Список открытых окон
- •Меню Help
- •Приложение 2 Некоторые функции языка с
- •Используемая литература
- •Оглавление
- •5 Структурное программирование 53
Отладка программы
Если в программе были допущены синтаксические ошибки, при выполнении команд Compile, Build и Rebuild All сообщения о них будут отображаться на вкладке Build окна Output (рис. 3.3).
Каждое сообщение начинается с указания имени файла. Рассмотрим первую ошибку:
Compiling... // Компиляция
Error.cpp // Имя файла
c:\program files\microsoft visual studio\myprojects\ex_1\error.cpp(7) : // путь
error C2143: syntax error : missing ')' before 'continue'
Сразу за именем файла в круглых скобках указан номер строки, в которой была обнаружена ошибка. В данном случае первая ошибка найдена в седьмой строке. После номера строки, за двоеточием, идут слово error (ошибка) или warning (предупреждение) и номер ошибки. Разница между сообщениями error и warning состоит в том, что программы с предупреждениями могут быть выполнены, а приложения с ошибками обязательно требуют исправлений. В конце каждой строки сообщения дается краткое описание обнаруженной ошибки.
Предупреждения
Предупреждения могут появляться в тех случаях, когда компилятор автоматически выполняет некоторые стандартные преобразования и сообщает об этом программисту. Например, если переменной типа int (целое число) будет присвоено дробное значение, то автоматически произойдет округление. Это не означает, что в программе допущена ошибка, но поскольку преобразование типов данных происходит незаметно для программиста, компилятор считает своим долгом сообщить об этом.
Приведем еще пример. Большинство функций, объявленных в файле math.h, принимают аргументы и возвращают значения типа double (действительное число двойной точности). Если программа передаст одной из таких функций аргумент типа float (действительное число одинарной точности), компилятор, прежде чем направить данные в стек аргументов функции, выведет предупреждение о том, что тип данных float был преобразован в double. Программист может предотвратить появление предупреждений, если он будет явно преобразовывать типы данных в соответствии с правилами, принятыми в языке С.
Первое сообщение об ошибке
Первое сообщение об ошибке (см. рис. 3.3) является вполне типичным. В данном случае программист попытался задать переменной имя (continue), зарезервированное для ключевого слова. Это хороший принцип – присваивать переменным имена, созвучные с их назначением, однако выбранное имя вступило в конфликт с ключевым словом continue, существующим в языке C/C++.
Использование команд Find и Replace
Довольно часто в процессе программирования возникают ситуации, когда нужно найти и заменить какое-то слово в тексте программы. Это можно сделать с помощью диалогового окна, открываемого командой Find. Установив курсор на слове continue выполним команду Edit / Find. Появится следующее диалоговое окно (рис. 3.4).
В
файлеError.cpp
будут последовательно найдены все
указанные слова, которые могут быть
исправлены. Можно поиск и замену слова
выполнить быстрее, если использовать
команду Edit/
Replace.
В этом случае появляется следующее
диалоговое окно (рис.
3.5).
Записав в поле Replace with новый идентификатор continu (рис. 3.5), можно автоматически сразу изменить идентификатор, нажав кнопку Replace All.
