Составление программ для решения задач на языке программирования Turbo Pascal
Курсовая работа, 23 Марта 2013, автор: пользователь скрыл имя
Краткое описание
В данной курсовой работе приведена программа, которая применяется для подсчёта сведений о сроках хранения лекарства. Здесь был использован метод структурного программирования для облегчения написания и отладки программы, а также повышения ее наглядности и читаемости. Целью написания данной работы было получение и закрепление практических навыков разработки алгоритмов различными методами.
Содержание
ВВЕДЕНИЕ 3
1. УСЛОВИЕ И ПОСТАНОВКА ЗАДАЧИ 4
1.1. Входная информация 4
1.2. Выходная информация 5
1.3. Промежуточная информация 6
2. ФОРМАЛИЗАЦИЯ ЗАДАЧИ 7
3. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ 8
3.1. Словесный алгоритм 8
3.2. Логическая схема алгоритма 9
3.3. Описание логической схемы 16
4. СОСТАВЛЕНИЕ ПРОГРАММЫ РЕШЕНИЯ ЗАДАЧИ 17
5. КОНТРОЛЬНЫЙ ПРИМЕР 22
ЗАКЛЮЧЕНИЕ 25
Прикрепленные файлы: 1 файл
Курсовая работа 21(З).doc
— 401.00 Кб (Скачать документ)
Федеральное агентство по образованию Российской Федерации
Уфимский государственный
авиационный технический
Кумертауский филиал
Кафедра ПА
КУРСОВАЯ РАБОТА
по информатике
на тему: «Составление программ для решения
задач
на языке программирования Turbo Pascal»
(Вариант 21)
Выполнил: ст. гр. П-125
Рахматуллин А.И.
Проверил: ст. преподаватель
А. Н. Голов
Оценка: _________________
Подпись: _________________
Дата: _________________
СОДЕРЖАНИЕ
СПИСОК ЛИТЕРАТУРЫ
Введение
В данной курсовой работе приведена программа, которая применяется для подсчёта сведений о сроках хранения лекарства. Здесь был использован метод структурного программирования для облегчения написания и отладки программы, а также повышения ее наглядности и читаемости. Целью написания данной работы было получение и закрепление практических навыков разработки алгоритмов различными методами.
Представленная программа реализована на языке программирования Borland Pascal версии 7.0. Язык Borland Pascal 7.0 - это один из самых мощных языков для ЭВМ типа IBM PC/AT, работающий в среде операционной системы DOS, сочетающий в себе как мощность низкоуровневых языков программирования, так и структурированность с надежностью, присущих языкам высокого уровня.
Для реализации данного алгоритма был выбран язык программирования - Turbo Pascal, для ЭВМ типа IBM РС/АТ/ХТ, работающих в среде операционной системы MS DOS.
Система программирования Turbo Pascal, разработанная американской корпорацией Borland. Turbo Pascal остается одной из самых популярных систем программирования в мире, которой по плечу любые задачи, от создания простых программ, предназначенных для решения несложных вычислительных задач, до разработки сложнейших реляционных систем управления базами данных.
К основным достоинствам языка следует отнести гибкость и надежность, простоту и ясность конструкций, легкость реализации на ЭВМ, возможность полного контроля правильности программ во время компиляции и выполнения, наличие набора структурных типов данных (массивов, файлов и записей), возможность построения новых типов данных.
- УСЛОВИЕ И ПОСТАНОВКА задачи
Заданием на курсовую работу является разработка программы и алгоритма создания файла записей, дополнения в файл записи, поиска информации по критерию в файле записей.
Программа должна решать перечисленные ниже задачи:
1) Структура записи файла:
Вариант 21
Структура записи файла
- Преподаватель
- № группы
- Лекции, часов
- Практика, часов
- Лабораторные, часов
- Зачет (да, нет)
- Экзамен (да, нет)
Для выборки по № группы экранная форма
Учебная нагрузка по группе ___________
№ |
Предмет |
Преподаватель |
Аудиторные часы |
итого. |
Экз. | ||||
лек |
прак |
лаб |
|||||||
... |
*** |
||||||||
Всего |
*** |
*** |
*** |
*** |
|||||
2) Внести 5-10 записей.
3) Изменение записей в списке.
4) Дополнение записей в списке.
5) Поиск по номеру номеру группы в списке.
- Входная информация
Входная информация — это данные, поступающие на вход задачи и используемые для её решения.
Приведем описание входной информации в таблице №1 так, как это присутствует в тексте программы.
Необходимо отметить, что для удобства, как разработки, так и пользования, был зарезервирован отдельный тип переменной - запись, включающий себя весь выше перечисленный список.
Название переменной |
Тип переменной |
Назначение | ||
recbook |
Запись(record) |
для упрощения решения задачи | ||
Поля записи | ||||
Stprepod |
string[15] |
Хранение имени преподавателя | ||
Stnogruppi |
string[3] |
Хранение номера группы | ||
Stpredmet |
string[12] |
Хранение предмета | ||
Stlekcii |
integer |
Хранение количества проведенных лекий | ||
Stpraktiki |
integer |
Хранение количества проведенных практик | ||
Stlabi |
integer |
Хранение количества проведенных лабораторных | ||
Stzachet |
string[3] |
Хранение информации о зачете | ||
Stekzamen |
string[3] |
Хранение информации о экзамене | ||
- Выходная информация
Выходной информацией в
Название переменной |
Тип переменной |
Назначение |
BookFile |
файл типа RecBook |
хранение данных |
- Промежуточная информация
В курсовой работе промежуточная информация служит для организации работы программы, а именно: для организации циклов, для считывания данных из файла и с клавиатуры.
Название переменной |
Тип переменной |
Назначение | ||
work |
recbook |
для доступа к полям записи | ||
vid |
byte |
для выбора вызова различных процедур | ||
end_menu |
boolean |
для выхода из меню | ||
name |
string[12] |
хранение имени файла | ||
ind |
integer |
для работы с циклами | ||
count |
integer |
количество записей | ||
lcount |
integer |
количество записей лекционных часов | ||
pcount |
integer |
количество записей практических часов | ||
lbcount |
integer |
количество записей лабораторных часов | ||
icount |
integer |
количество записей всех проведенных часов | ||
i |
integer |
количество лекций, практик, лабораторных одного предмета | ||
numrec |
longint |
локальная переменная принимает значение номера изменяемой записи | ||
rez_find |
boolean |
результат поиска | ||
count |
integer |
количество записей | ||
countrec |
integer |
для работы с поиском | ||
- ФОРМАЛИЗАЦИЯ ЗАДАЧИ
Формализация задачи – это описание задачи формальными средствами (математическими, логическими). В данной задаче подобные средства не использовались.
Программа задачи основаны на работе в пяти режимах:
- Режим создания файла записей
- Режим просмотра списка данных
- Режим изменения записи списка
- Режим дополнения записей
- Режим поиска по номеру заявки
- АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ
Алгоритм – это точный набор инструкций, описывающих последовательность действий исполнителя для достижения результата решения задачи за конечное время
- Словесный алгоритм
Первым шагом в разработке программы является описание всех переменных, в том числе и типов.
Далее - разработка блока (процедуры) ввода исходных данных. Ввод исходных данных включает в себя создание файла для хранения данных и его заполнения. В этом блоке пользователь вводит наименование лекарственного средства, партию, годен до, количество, номер аптеки, изготовитель.
Также необходимо организовать вывод информации на экран пользователю по запросу: разработать отдельные процедуры для вывода информации, для поиска записи по номеру партии, для изменения и дополнения списка файла данных.
И, наконец, необходимо предусмотреть выход из программы.
- Логическая схема алгоритма
Блок-схема основной программы
Блок-схема создания файла под именем «…» (name_file)
Блок-схема процедуры добавления записей в файл(add_newinf)
Блок-схема процедуры создания файла (new_file)
Блок-схема просмотра списка из файла (vivod_vsey_inf)
Блок-схема процедуры изменения списка (obnovit_dannie)
Блок-схема процедуры дополнения в список лекарств(dobavit_dannie)
Блок-схема процедуры поиска(
- Описание логической схемы
Основой программы является блок-схема основной программы. В данной части идёт описание полей файла записи, описание переменных величин, процедур. Далее по блок-схеме идёт вывод текстового меню:
1-создание файла;
2-просморт файла;
3-изменение;
4-дополнение;
5-поиск;
0-завершение работы.
В основной программе используется конструкция оператора варианта IF. У пользователя запрашивается, какой из пяти вариантов нужно выбрать:
При вводе «1» вызывается процедура NEW_FILE;
При вводе «2» вызывается процедура VYVOD_VSEY_INF;
При вводе «3» вызывается процедура OBNOVIT_DANNIE;
При вводе «4» вызывается процедура DOBAVIT_DANNIE;
При вводе «5» вызывается процедура POISK_PO_NOMERU_GR
После ввода вспомогательной переменной мы используем процедуру для работы с ней. Если имеет значение одного из блоков выбора, то далее мы переходим к соответственному блоку процедуры.
В случае истинности блока выбора k=1 основной схемы выполняется процедура NEW_FILE. Процедура начинается с заголовка – NEW_FILE. Для того, чтобы создать файл, нужно ввести имя файла. С этой целью используется процедура (name_file). Далее идёт блок открытия файла для записи – используется стандартная функция Turbo Pascal для связывания программного файла на физическом носителе assign:
assign(bookfile, name);
И функция открытия создаваемого файла
rewrite (bookfile);
Остальная часть процедуры заключена в блок операторов с параметром. В данной точке начинается цикл с параметром. Внутри цикла выполняются команды ввода данных в файл.
Если в основной блок-схеме вспомогательная переменная k=2 соответствует истине, то выполняется процедура VYVOD_VSEY_INF. Процедура VYVOD_VSEY_INF является процедурой просмотра списка с данными. Начинается она с открытия созданного файла для изменения, командой.
reset(bookfile);
Далее идёт вывод таблицы с введёнными ранее данными.
Таблица 3.
№ |
Предмет |
Преподаватель |
Аудиторные часы |
итого. |
Экз. | ||||
лек |
прак |
лаб |
|||||||
... |
*** |
||||||||
Всего |
*** |
*** |
*** |
*** |
|||||
Чтобы файловые операции выполнялись без ошибок применим функцию ioresult. Эта функция не имеет параметров и возвращает результат целого типа. Она работает при отключении стандартной обработки ошибок. Чтобы установить указатель на начало нужной компоненты, применим операцию seek. Эта операция служит для того, чтобы обеспечить прямой доступ к компонентам файла. Вывод данных будет продолжаться до тех пор, пока указатель не дойдет до конца файла и не выведет все данные. Если указанного имени файла нет на диске, на экране появится надпись: «Файла с именем … на диске нет».