Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л_11 (1 пара) Модульное программирование+.doc
Скачиваний:
8
Добавлен:
05.11.2018
Размер:
177.66 Кб
Скачать

МИНИСТЕРСТВО ПО НАУКЕ И ОБРАЗОВАНИю РФ

Государственное образовательное учреждение высшего профессионального образования

«Национальный исследовательский

ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

УТВЕРЖДАЮ

Директор ИК

_____________ М.К. Сонькин

«____»_____________2011 г.

Т.Е. Мамонова Лабораторная работа № 11

Модульное программирование в C++

Методические указания по выполнению лабораторных работ

по курсу «Информатика»

для студентов направлений 220000 – «Мехатроника и робототехника»,

220700 – «Автоматизация технологических процессов и производств».

Издательство

Томского политехнического университета

2011

УДК 519.6

ББК 00000

А00

Мамонова Т.Е.

А00 Модульное программирование в C++. Методические указания по выполнению лабораторных работ по курсу «Информатика» для студентов I курса, обучающихся по направлениям 220000 – «Мехатроника и робототехника», 220700 – «Автоматизация технологических процессов и производств» / Т.Е. Мамонова. – Томск: Изд-во Томского политехнического университета, 2011. – 13 с.

УДК 519.6

ББК 00000

Методические указания рассмотрены и рекомендованы к изданию методическим семинаром кафедры интегрированных

компьютерных систем управления ИК

«1» сентября 2011 г.

Зав. кафедрой ИКСУ

доктор технических наук ______________ А.М. Малышенко

Председатель учебно-методической

комиссии ______________ В.Н. Шкляр

Рецензент

Доцент ИКСУ ИК НИ ТПУ кандидат технических наук

В.Н. Шкляр

© ГОУ ВПО «Томский политехнический

университет», 2011

© Мамонова Т.Е., 2011

© Оформление. Издательство Томского

политехнического университета, 2011

Лабораторная работа № 11

Модульное программирование в C++

Цель работы. Научиться использовать модули при прогаммировании на языке С++.

Теоретическая часть Директивы препроцессора

С увеличением объема программы становится неудобно хранить ее в одном файле. Разбиение программы на функции является первым шагом в повышении уровня абстракции программы, следующий – группировка функций и связанных с ними данных в отдельные файлы (модули), компилируемые раздельно.

Получившиеся в результате компиляции объектные модули объединяются в исполняемую программу с помощью компоновщика. Разбиение на модули уменьшает время перекомпиляции и облегчает процесс отладки. Чем более независимы модули, тем легче отлаживать программу.

Модуль содержит данные и функции их обработки. Для того чтобы использовать модуль, нужно знать только его интерфейс.

Интерфейсом модуля являются заголовки всех функций и описания доступных извне типов, переменных и констант. Описания глобальных программных объектов во всех модулях программы должны быть согласованы.

Модульность в языке С++ поддерживается с помощью директив препроцессора, пространств имен, классов памяти, исключений и раздельной компиляции.

Препроцессором называется первая фаза компилятора. Инструкции препроцессора называются директивами. Они должны начинаться с символа #, перед которым в строке могут находиться только пробельные символы. [3]

Таким образом, для того чтобы объявления функций не загромождали основной алгоритм, их помещают в файл с расширением h или, говоря иначе, в модуль.

Компилятор, выполняя директиву препроцессора #include, вставляет текст указанного файла в программу (в файл с расширением cpp), начиная с точки, в которой эта директива находится.

Синтаксис директивы #include:

#include < имя_файла >

#include “имя_файла“

В первом случае компилятор начинает поиск указанного файла в стандартных папках, а во втором случае – с папки, в которой находится файл с директивой #include.

Допускается в кавычках указать полное имя файла, то есть “путь к файлу \ имя файла”.

  • Пример 1. Создать программу для выполнения следующей задачи: если квадрат числа кратен двум, то вывести на экран его куб, если нет – вывести на экран ноль.

Дополнительные требования к программе:

  1. программа должна содержать меню для выбора нужного действия;

  2. программа должна состоять из двух модулей:

  1. в главном модуле (файл с расширением cpp) должны находиться меню и обращения к функциям, которые выполняют действия над списками;

  2. объявления функций должны находиться в заголовочном файле (файл с расширением h).