Учебное пособие для специальности среднего профессионального образования «Программирование в компьютерных системах (по отраслям)». — Махачкала: ДГУНХ, 2017. — 151 с.
Дисциплина «Прикладное программирование» является составной частью профессионального модуля «Разработка программных модулей программного обеспечения для компьютерных систем» и имеет своей целью формирование профессиональных компетенций в области осуществления разработки кода программного продукта на основе готовой спецификации на уровне модуля.
Для освоения курса «Прикладное программирование» студент должен изучить дисциплины: «Основы программирования», «Основы тестирования программного обеспечения», «Системное программирование» и «Технология разработки программного обеспечения».
Освоение данной дисциплины необходимо обучающемуся для успешного прохождения производственной практики и выполнения выпускной квалификационной работы.
Учебное пособие предназначено для студентов 4 курса (на базе 9 классов), обучающихся в бизнес-колледже на отделении «Программирование в компьютерных системах».
Введение.Цели использования компьютеров при решении прикладных задач.
Основные этапы разработки программ.
Выбор языка программирования.
Технологии разработки прикладного программного обеспечения.Технологии прикладного программирования: цели, задачи и основные принципы и инструменты.
Алгоритмическая и объектно-ориентированная декомпозиция.
Принципы объектно-ориентированного анализа.Принципы ООП. Абстрагирование, инкапсуляция, наследование, полиморфизм, модульность, сохраняемость, параллелизм.
Объекты и типы объектов.
Атрибуты и типы атрибутов. Экземпляры и состояния. Жизненный цикл и поведение объектов.
Объектно-ориентированное проектирование.Документирование результатов анализа и проектирования.
Основы языка UML (Unified Modeling Language).
Основы прикладного программирования с использованием языка C++.Структура программы на языке C++.
Понятие проекта.
Компиляция программы и сборка исполняемого модуля.
Составные типы данных.Массивы, описание доступ к элементам.
Одномерные и многомерные массивы.
Структуры.
Реализация вычислительных операций.Арифметические и логические выражения.
Использование функций.Объявление и определение функций.
Передача аргументов в функции.
Стандартная библиотека функций языка C++.
Ввод/вывод в приложениях.Библиотека стандартного потокового ввода/вывода. Форматированный ввод/вывод.
Потоковый ввод/вывод пользовательских типов.
Классы и объекты.Определение класса.
Размеры объектов класса.
Конструкторы.Определение конструктора.
Деструктор.
Константы конструктора. Инициализация константных полей.
Перегрузка операций.Перегрузка операций внешними функциями.
Перегрузка операций методами класса.
Преобразование типов.
Массивы и классы.Поля-массивы в классе.
Статические элементы класса.
Динамическая память в C++.Память и объекты.
Управление динамической памятью.
Контейнеры.Характеристики контейнеров.
Реализация контейнеров.
Последовательный контейнер.
Наследование.Простое наследование.
Принцип подстановки.
Применение открытого наследования.
Закрытое наследование.
Виртуальные функции.Определение виртуальных функций.
Виртуальные деструкторы.
Множественное наследование и RTTI.Множественное наследование.
Виртуальное наследование.
Мультиметоды.
Шаблоны классов.Определение шаблона класса.
Специализация.
Шаблоны функций.Определение шаблона функции.
Перегрузка шаблонов функций.
Указатели на функции и указатели на методы. Понятие функтора.
Стандартная библиотека шаблонов языка C++.Контейнеры и итераторы в библиотеке STL (StandardTemplateLibrary).
Вектор. Очереди. Стек. Список. Ассоциативные массивы.
Алгоритмы. Объекты-функции и предикаты.
Пользовательский интерфейс прикладных программ.Интерфейс пользователя.
Интерфейсы в вычислительной технике.
Разновидности.