birmaga.ru
добавить свой файл

1
РАБОЧАЯ ПРОГРАММА

Определение алгоритма. Свойства алгоритма: конечность, определенность, результативность. Три типа алгоритмов – линейный, разветвляющийся, циклический. Формы представления алгоритмов – словесный, формульно-словесный, блок-схемный. Базовые структуры алгоритмов – следование, ветвление, переключатель, повторение.

Этапы построения алгоритма – постановка задачи, построение модели, разработка алгоритма, проверка правильности алгоритма, реализация (программирование) алгоритма, анализ алгоритма и его сложности, проверка (отладка) программы, составление документации.

Языки программирования. Язык С/C++.

Жизненный цикл программного обеспечения.

Структурное программирование.

Алгоритмы сортировок – обменная, выбором, вставками, пузырьком, быстрая. Сложность алгоритмов.

Алгоритмы поиска в массивах – последовательный и бинарный. Сложность алгоритмов.

Итеративный (циклический) и рекурсивный алгоритмы. Рекурсивные функции.

Указатели на функции. Передача указателей в функции. Указатель на функцию как возвращаемое функцией значение. Массивы указателей на функции.

Модульное программирование. Программные модули в С++ - функции и классы. Шаблоны функций. Шаблоны классов.

Функции библиотеки для работы с символами и строками.

Файлы. Режимы открытия файлов. Текстовые и бинарные файлы. Библиотечные функции для работы с файлами. Позиционирование файлов.

Многофайловые программы. Заголовочные файлы.

Динамические структуры данных. Динамическое выделение памяти. Линейные динамические структуры данных – стек, очередь, связный список.

Основные функции работы со стеком – добавить новый элемент на вершину стека и вытолкнуть элемент из вершины стека.

Основные функции для работы с очередью – добавить элемент в коне очереди и выбрать элемент из начала очереди.

Основные функции для работы со списком – вставки в начало, середину и конец списка, поиск и удаление элемента по ключу, сортировки списка, удаления списка.


Списки однонаправленные, двунаправленные, кольцевые, однородные и неоднородные (гетерогенные).

Нелинейная структура данных – бинарное дерево. Алгоритмы построения упорядоченного и идеально сбалансированного деревьев.

Алгоритмы просмотра деревьев. Алгоритм поиска на бинарном дереве. Сложность алгоритма.

Основные функции для работы с деревом.

Реализация динамических структур данных на основе массивов. Вспомогательные переменные и массивы.

Объектно-ориентированное программирование. Тип-класс. Структура класса. Открытая, закрытая и защищенная части класса. Данные-элементы и функции-элементы. Доступ к элементам класса.

Конструктор и деструктор. Конструктор с параметрами, конструктор с умолчанием. Вызовы конструкторов и деструкторов.

Отделение интерфейса от реализации.

Константные объекты и константные элементы класса.

Композиция классов.

Дружественные функции.

Использование указателя this неявно и явно.

Статические элементы класса.

Перегрузка операций: унарных, бинарных, присваивания, индексирования, приведения к типу. Функции-операции как функции-элементы класса, как дружественные функции и как просто функции.

Шаблон класса для динамически создаваемых объектов. Конструктор с параметрами, конструктор копии, перегруженная операция присваивания, деструктор. Вызовы конструкторов и деструкторов.

Наследование и иерархия классов. Виды (способы) наследования. Ключи доступа. Базовые и производные классы.

Раннее (статическое) связывание. Абстрактные базовые классы и конкретные классы.

Виртуальные функции и полиморфизм. Позднее (динамическое) связывание. Полиморфные функции и полиморфные объекты.

Интегрированная среда разработки (ИСР) приложений Borland C++ Builder 6. Объект среды как совокупность свойств, методов и событий, на которые он может реагировать. Обработчики событий. Формы и компоненты.


Проекты. Головной файл проекта, модуль формы, заголовочный файл и файл реализации модуля формы. Класс формы.

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

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

Работа в ИСР C++ Builder 6. Окно ИСР. Полоса главного меню и всплывающие меню. Быстрые кнопки. Палитра компонентов. Окно формы. Окно редактора кода. Инспектор объектов.

Организация проекта. Основные файлы проектов. Создание и сохранение нового проекта.

Отладка приложений. Компиляция и компоновка проекта. Окно наблюдения. Окно оценки и модификации. Пошаговое выполнение приложения. Точки прерывания.

Компоненты библиотеки C++ Builder 6. Компоненты ввода и отображения текстовой информации, графической информации, хода длительных процессов. Кнопки, индикаторы, управляющие элементы. Управляющие кнопки, кнопка с фиксацией, группы радиокнопок, индикаторы с флажком, ползунки и полосы прокрутки, заголовки, таймер. Компоненты – меню. Главное и всплывающее меню, горячие клавищи. Инструментальные панели. Системные диалоги. Диалоги открытия и сохранения файлов, выбора шрифта, выбора цвета.

Организация управления приложением. Технология разработки приложений. Диспетчеризация действий.


ЗАДАНИЯ НА КУРСОВЫЕ РАБОТЫ
Требования к программе


  1. Наличие меню и инструментальной панели.

  2. Использование классов и динамической памяти.

  3. Возможность ввода исходных данных как с клавиатуры так и из файла.

  4. Вывод результатов в файл.

  5. Наличие комментариев необходимых для быстрого понимания программы.

Требования к пояснительной записке (по содержанию)

  1. Титульный лист.

  2. Задание на курсовую работу.
  3. Реферат.


  4. Содержание (с указанием страниц).

  5. Введение.

  6. Обоснование и разработка алгоритмов. Блок-схемы алгоритмов.

  7. Таблицы идентификаторов.

  8. Программирование алгоритмов.

  9. Тестирование программы.

  10. Результаты. Выводы и рекомендации. Требования к компьютеру.

  11. Заключение.

  12. Приложения (исходный код, библиографический список).


Объём: 30-40 страниц.
Вариант 4. Толковый словарь.

Топп У. Структуры данных в С++: Пер. с англ./У. Топп, У. Форд. –М.:БИНОМ, 1999 г. Стр. 735…742.


БИБЛИОГРАФИЧЕСКИЙ СПИСОК

  1. Павловская Т.А. С/С++. Программирование на языке высокого уровня.– СПБ.: Питер, 2007. – 461 с.: ил.

  2. Подбельский В.В. Язык C++:учеб.пособие.-5-е изд. - М.:Финансы и статистика, 2008. - 560 с.

  3. Подбельский В.В., Фомин С.С. Программирование на языке Си: учеб. пособие. - 2-е доп. изд. - М.Финансы и статистика, 2007. - 600с.

  4. Колдаев В.Д. Основы алгоритмизации и программирования : Учебное пособие / Под ред. проф. Л.Г. Гагариной. – М. : ИД ”ФОРУМ” : ИНФРА – М, 2006. – 416 с.

  5. Дейтел ХМ., Дейтел П.Дж. Как программировать на С. Четвертое издание. Пер. с англ – М.:ООО “БИНОМ-Пресс”, 2006 г. - 912 с.

  6. Топп У. Структуры данных в С++: Пер. с англ./У Топп, У Форд – М.: БИНОМ, 1999 г. - 816 с.: ил.

  7. Архангельский А.Я. Программирование в C++ Builder 6. – М.:ЗАО “Издательство БИНОМ”, 2004 г. – 1152 с.

  8. Чуркин В.В. Сборник заданий по программированию и основам алгоритмизации. -Киров: Изд ВятГУ, 2004 г. - 78 с.

  9. Чуркин В.В. Интегрированная среда разработки приложений Borland C++ Builder 6. – Киров: Изд. ВятГУ, 2005 г. – 142 с.