
- •Омск 2007
- •Введение
- •1. Этапы разработки программного обеспечения
- •2.1 Операции
- •Приоритеты операций
- •2.2 Операторы языка Си
- •9. Оператор break;
- •10. Оператор continue;
- •2.3 Перегрузка функций
- •2.4 Перегрузка операций
- •2.5 Шаблоны функций
- •2.6 Возврат из функции нескольких значений
- •2.7 Стандартные типы данных
- •Типы данных
- •2.8 Типы, определяемые пользователем
- •2.8.1 Структуры
- •2.8.2 Поля битов
- •2.8.3 Объединения Используются для хранения значений различных типов в одной и той же области памяти, но не одновременно.
- •Пример: а) union u int I; б) struct s int I;
- •2.8.4 Перечисления
- •2.8.5 Переименование типов typedef
- •Объявление typedef применяется:
- •2.9 Файлы
- •2.11 Директивы препроцессора Условная компиляция
- •Оператор defined или знак операции препроцессора
- •Директивы #ifdef и #ifndef
- •Директива #error
- •Директива #line
- •Предопределенные макросы
- •Директива #pragma
- •3. Объектно-ориентированное программирование
- •3.1 Объект
- •3.2 Управление доступом к элементам и функциям класса
- •3.3 Конструкторы и деструкторы
- •Деструктор
- •Конструктор с параметрами
- •3.4 Аргументы функций, задаваемые по умолчанию
- •3.5 Дружественные функции и классы
- •Дружественные классы
- •3.6 Наследование классов
- •3.7 Конструкторы с параметрами при наследовании
- •3.8 Множественное наследование
- •3.10 Полиморфизм
- •Ключевое слово this
- •3.11 Использование виртуальных функций
- •3.12 Виртуальные базовые классы
- •4. Организация выполнения курсовой работы
- •4.1 Этапы выполнения курсовой работы
- •4.2 Требования к пояснительной записке
- •4.3 Задания на курсовое проектирование
- •4.3.1 Проектирование пакетов прикладных программ для предприятий
- •4.3.2 Разработки для учебного процесса
- •4.3.3 Задание на разработку типового проекта - компилятора языка и стекового калькулятора
- •Индивидуальное задание
- •Состав пакета
- •Варианты заданий
- •Библиографический список
- •Курсовой проект (работа)
- •Пример оформления листа задания к курсовому проектированию
- •Задание
- •Студент Азанова Александра Александровна группа в-515
- •Аннотация
- •Оглавление
- •Структура слайд-доклада
- •Структура-компонент проекта
Федеральное агентство по образованию
Государственное образовательное учреждение
высшего профессионального образования
«Омский государственный технический университет»
Технологии программирования
Учебное пособие
Омск 2007
УДК 004.43
ББК 32.973.26-018.1
Ш 30
Рецензенты:
В.Т. Гиль, канд.техн.наук, доцент;
С.С. Ефимов, канд.техн.наук, доцент
Шафеева О.П.
Ш 30 Технологии программирования. С++: учеб. пособие / О.П.Шафеева – Омск: Изд-во ОмГТУ, 2007. – 80 с.
Пособие включает в теоретической части напоминание об элементах языка программирования С++ (операциях, операторах, типах данных) и правила объектно-ориентированного программирования. В части курсового проектирования приведены возможные темы и задания для типовых проектов по одноименной дисциплине. Приводятся примеры оформления документов для разработки алгоритмов и программ, а также представления слайд-доклада.
Пособие предназначено для изучения технологии объектно-ориентированного программирования в дисциплине «Технологии программирования».
Печатается по решению редакционно-издательского совета Омского государственного технического университета.
УДК 004.43
ББК 32.973.26-018.1
© О.П. Шафеева, 2007
© Омский государственный
технический университет, 2007
Введение
Основными направлениями в программировании являются:
― процедурное (структурное) программирование;
― модульное;
― объектно-ориентированное (ООП).
В процедурном программировании основное внимание уделяется алгоритму, т.е. некоторой заданной последовательности действий, выполнение которых приводит к получению результата вычислений, к решению поставленной задачи.
В процедурных языках главное внимание уделяется построению процедур (подпрограмм) и, как следствие, решению следующих вопросов: передаче аргументов в процедуры, получению результатов из подпрограмм, внутренней организации подпрограмм.
В модульном программировании основные акценты переносятся на построение модулей. При этом необходимо разделить программу на модули, причем так, чтобы данные были скрыты в этих модулях. Главной становится организация данных (а не алгоритм).
Модулем называется множество взаимосвязанных подпрограмм вместе с данными, которые эти (процедуры) подпрограммы обрабатывают. Модульным программированием пользуются при проектировании больших программ коллективом программистов, где конкретному программисту поручается разработка самостоятельной части программы.
Если запретить доступ из-за пределов модуля (скрыть данные), то будет предотвращено их случайное изменение, а значит и нарушение работы программы. Теперь вместо согласования имен глобальных переменных, организации общих данных и способов доступа к ним в процедурном программировании надо только согласовать интерфейс (взаимодействие) сконструированных модулей в разрабатываемой общей программе.
В действительности процедурное и модульное программирование дополняют, а не исключают друг друга. Процедурное программирование эффективно используется для решения различных математических задач, имеющих алгоритмический характер.
При использовании больших объемов данных (в базах данных, графических системах) целесообразно использовать направление, связанное с абстракцией данных или абстрактными типами данных. Это новый подход к программированию – объектно-ориентированное программирование (ООП). ООП, взяв лучшие черты структурного программирования, дополняет его новыми идеями, которые переводят в новое качество подход к созданию программ.
ООП использует природные способности человеческого мышления к классификации и абстрагированию и использует такие понятия, как объекты и свойства, наследование и иерархию, которые человек применяет в повседневной жизни. При этом программист создает программу, в котрой объекты возникают, разрушаются, меняют свое состояние и взаимодействуют друг с другом.