Получение сведений о наличии билетов аэрофлот
Курсовая работа, 17 Ноября 2010, автор: пользователь скрыл имя
Описание работы
В настоящей пояснительной записке приведены результаты разработки программы решения задачи «Получение сведений о наличии билетов на рейсы Аэрофлота», выполненной в соответствии с заданием по курсовой работе по дисциплине «Программирование» – постановка указанной задачи, проектные решения и программа (на языке Турбо-Паскаль), результаты испытания (тестирования) программы.
Содержание
1. Описание постановки задачи 4
1.1. Характеристика задачи 4
1.2. Исходные данные 4
1.3. Результаты решения 4
2. Описание проектных решений 5
2.1. Функциональная структура задачи, программы 5
2.2. Описание алгоритма задачи 7
3. Описание программы 14
3.1. Структура программы 14
3.2. Текст программы 14
3.3. Исполнение программы 14
4. Описание результатов испытаний программы 16
ПРИЛОЖЕНИЯ 17
Работа содержит 1 файл
Курсовая.doc
— 154.00 Кб (Скачать) Калининградский
Государственный Технический
Кафедра
систем управления и вычислительной
техники
Работа защищена с оценкой
_______________ ________
(дата)
Гудков А.Л.
Получение сведений о наличии билетов
на
рейсы Аэрофлота
Пояснительная
записка по курсовой работе по дисциплине
«Программирование»
Работа допущена Работу выполнил студент
к
защите учебной группы 08–ИЭ
Гудков
А.Л. Четвергов Е.С.
__________ ____________
(дата) (дата)
Калининград,
2009
Аннотация
В настоящей пояснительной записке приведены результаты разработки программы решения задачи «Получение сведений о наличии билетов на рейсы Аэрофлота», выполненной в соответствии с заданием по курсовой работе по дисциплине «Программирование» – постановка указанной задачи, проектные решения и программа (на языке Турбо-Паскаль), результаты испытания (тестирования) программы.
СОДЕРЖАНИЕ
1. Описание постановки задачи
- Характеристика задачи
Задача «Получение сведений о наличии билетов на рейсы Аэрофлота» решается с целью получения списка авиарейсов с опередленным пунктом назначения и временем вылета. Исходными для решения задачи данными является набор данных (файл) на магнитном диске, содержащий информацию об авиарейсах. В начале решения задачи задается (вводится с клавиатуры) запрос, представляющий собой две строковых переменных - пункт назначения и время вылета - и определяющий, для каких рейсов должны быть получены указанные выше сведения (результаты решения задачи).
- Исходные данные
Исходная для решения задачи «Получение сведений о наличии билетов на рейсы Аэрофлота» информация содержится в одном дисковом файле и в указываемом (вводимом с клавиатуры) в начале решения задачи запросе пользователя.
Структура элемента файла «Сведения об авиарейсах» (дисковое имя – ‘C:\TP\aeroflot.dat’):
- номер рейса (целое число),
- пункт назначения (строка),
- время вылета (строка),
- время прибытия (строка),
- количество свободных мест (целое число).
Запрос пользователя представляет собой:
- пункт назначения (строка),
- время вылета (строка).
- Результаты решения
Результатом решения задачи на ПК является таблица «Сведения о рейсах Аэрофлота» (рис. 1.1), которая содержит:
- номер рейса (целое число),
- время вылета (строка),
- время прибытия (строка),
- количество свободных мест (целое число).
|
Рис
1.1. Таблица «Сведения о рейсах Аэрофлота»
Данные в таблице располагаются в порядке возрастания по времени вылета.
2. Описание проектных решений
2.1.
Функциональная структура задачи,
программы
На
рис. 2.1 представлена схема иерархии процедур
задачи «Получение сведений о наличии
билетов на рейсы Аэрофлота», полученная
в результате её декомпозиции.
Рис
2.1. Схема иерархии процедур
На рис. 2.2 представлена функциональная структура программы решения задачи, полученная на основе схемы иерархии ее процедур.
Рис 2.2. Функциональная структура программы
Помимо основной программы с именем «P_AEROFLOT», программа должна содержать следующие подпрограммы:
- Подпрограмму Procedure InA (var city,time:string; var e:boolean), которая обеспечивает ввод двух элементов запроса – пункт назначения (строка), время вылета (строка);
- Подпрограмму Function UpcaseR (city:string):string, которая обеспечивает преобразование элемента запроса – пункт назначения – в заглавные буквы;
- Подпрограмму Function VerA2 (time:string):boolean, которая обеспечивает проверку элемента запроса - время вылета (строка);
- Подпрограмму Procedure GetR (city,time:string; var result:mas; var m:integer), которая обеспечивает обработку файла «AEROFLOT» с целью получения сведений об авиарейсах для заданного запроса;
- Подпрограмму SortR (var result:mas; m:integer), которая обеспечивает упорядочивание списка по возрастанию времени вылета (целое число);
- Подпрограмму OutR (city,time:string; result:mas; m:integer), которая обеспечивает вывод списка авиарейсов на экран монитора.
2.2. Описание алгоритма задачи
На рис. 2.3 – 2.9 представлены схемы обобщенного алгоритма задачи «Получение сведений о наличии билетов на рейсы Аэрофлота» и алгоритмов отдельных её процедур. Смысл используемых в них условных обозначений (имен, идентификаторов) приведен в табл. 2.1, тексты выводимых сообщений – в табл. 2.2. Обобщенный алгоритм (алгоритм задачи в целом) описывается в основной программе. Алгоритмы отдельных процедур – в соответствующих подпрограммах (см. 2.1.).
Рис 2.3. Схема алгоритма основной задачи
Рис 2.4. Схема алгоритма процедуры InA
Рис
2.5. Схема алгоритма функции UpcaseR
Рис 2.6. Схема алгоритма функции VerA2
Рис 2.7. Схема алгоритма процедуры GetR
Таблица 2.1. Условные
обозначения (имена, идентификаторы), используемые
в процедурах и функциях программы.
| Название
процедуры или функции |
Имена, идентификаторы | Назначение |
| InA | city:string
time:string e:boolean |
Пункт назначения
Время вылета Признак правильности запроса e=true – запрос верный e=false – запрос неверный |
| UpcaseR | i:byte | Счетчик символов исходной строки |
| VerA2 | c:boolean | Признак правильности
запроса
с=true – запрос верный с=false – запрос неверный |
| GetR | city:string
time:string result:mas m:integer a:zap a.pn a.vv a.mesta |
Элемент запроса
- пункт назначения
Элемент запроса - время вылета Массив записей об авиарейсах Количество записей в массиве result Запись из файла Элемент записи – пункт назначения Элемент записи – время вылета Элемент записи – кол-во свободных мест |
Таблица 2.2. Тексты выводимых сообщений
| Сообщение 1 | Ошибка при вводе запроса |
| Сообщение 2 | Нет сведений по запросу |
| Сообщение 3 | Введите пункт назначения: |
| Сообщение 4 | Введите время вылета (чч.мм): |
| Сообщение 5 | Вы не ввели пункт назначения! |
3. Описание программы
3.1. Структура программы
При написании программы решения задачи «Получение сведений о наличии билетов на рейсы Аэрофлота» использовался язык программирования Турбо-Паскаль (Turbo Pascal Version 7).
Функциональная структура программы (состав и взаимосвязь программных единиц исходного текста её – основной программы и подпрограмм) определена в 2.1.
Программа является описанием алгоритма задачи, приведенного в 2.2.
Модульная
структура программы (состав и взаимосвязь
модулей исходного текста) приведена на
рис. 3.1. Ниже указано содержание модулей
программы.
Рис
3.1 Модульная структура программы
Головной модуль P_AEROFLOT содержит текст основной программы.
Модуль U1 содержит подпрограммы InA, UpcaseR, VerA2.
Модуль U2 содержит подпрограммы GetR, SortR.
Модуль U3 содержит подпрограммы OutR.
Модуль U4 содержит описания общих типов данных.
3.2. Текст программы
Исходный текст программы решения задачи «Получение сведений о наличии билетов на рейсы Аэрофлота» (на языке Турбо-Паскаль, версия Turbo Pascal Version 7) – её модулей – приведен в приложении 1.
3.3. Исполнение программы
Для исполнения программы решения задачи «Получение сведений о наличии билетов на рейсы Аэрофлота» необходим ПК типа IBM с клавиатурой и монитором. Программа предварительно откомпилирована и собрана в исполняемый модуль с именем af.exe, который вызывается для исполнения стандартными средствами.