Содержание

1 Заявки на авиабилеты.. 2

Постановка задачи. 2

Реализация. 2

2. Лабиринт. 3

Постановка задачи. 3

Реализация. 3

3 Работа с каталогами и файлами. 4

Постановка задачи. 4

Реализация. 4

Список литературы.. 5

1 Заявки на авиабилеты

Постановка задачи

Составить программу с текущей информацией о заявках на авиабилеты.

В заявке хранится:

 - пункт назначения;

 - номер рейса и дата вылета;

 - фамилия пассажира.

Функции:

 - хранение в виде дерева;

 - добаваление и удаление заявок;

 - вывод и удаление заявок по заданному номеру рейса и дате вылета;

 - вывод всех заявок.

Реализация

Заявки хранятся в файле в специальном формате. Для этого в программе предусмотрены кнопки загрузки и сохранения заявок.

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

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

Вывод состояния текущих заявок осуществляется в текстовое поле.

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

2. Лабиринт

Постановка задачи

Создать программу, отыскивающую проход по лабиринту. Лабиринт задан в виде матрицы.

Реализация

Лабиринт загружается из файла и выводится на экран как компонент StringGrid со специальными обозначениями. Начальная и конечная точка также задаются в файле.

Для поиска пути использован волновой алгоритм.

Идея этого метода весьма проста: в стороны от исходной точки распростроняется волна.

Начальное значение волны - ноль.

То есть ближайшие точки, в которые можно пойти, например, верх, низ, левая и правая, и которые еще не затронуты волной, получают значение волны+некоторый модификатор проходимости этой точки. Чем он больше - тем медленнее преодоление данного участка. Значение волны увеличивается на 1. Обрабатываем аналогично клетки, отходя от тех, на которой значение волны - 2. При этом на клетках с худшей проходимостью волна задержится.

И так дальше все обрабатывается, пока не достигнута конечная точка маршрута. Сам путь в получившемся массиве значений волны вычисляется по наименьшим клеткам.

Найденный путь демонстрируется на матрице координат.

3 Работа с каталогами и файлами

Постановка задачи

Создать программу, позволяющую оперировать структурой каталогов и файлами в них.

Требования:

 - возможность удаления файлов

 - возможность просмотра файлов

 - возможность задания условий по файлам

 - возможность просмотра файлов

Реализация

Программа позволяет перемещаться по каталогам. Структура каталогов представлена в виде дерева. При выделении каталога выводится список файлов. Список файлов может быть отфильтрован соглано введенной маске.

При выделении файла появляется возможность просмотреть его содержимое в текстовом поле.

Просматриваемый файл можно удалить, при обновлении списка файлов он исчезнет из списка.

Внимание! Программа работает с реально существующими файлами.

Список литературы

1.     Архангельский А.Я. Программирование в С++. Builder 4 (второе издание). Бином 2000.

2.     Бьярн Страуструп. Язык программирования С++ (третье издание). Бином 1999 .

3.     Гради Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на С++ (второе издание). Бином 1998.

4.     AlgoList.ru – портал алгоритмов.

5.     Справочная система С++Builder.