Автор работы: Пользователь скрыл имя, 11 Марта 2013 в 21:13, курсовая работа
Система программирования Turbo Pascal, разработанная американской корпорацией Borland, является одной из самых популярных систем программирования в мире. Пакет Borland Pascal 7.0 учитывает многие новейшие достижения в программировании и практике создания программ( в том числе программ обработки статистических данных) и включает в себя три режима работы: в обычном режиме операционной системы MS DOS, в защищенном режиме MS DOS и в среде Windows. Обладая расширенными возможностями, пакет Borland Pascal 7.0 тем не менее требует для использования всех своих возможностей довольно большую память – примерно 30 Мбайт на жестком диске и не менее 2 Мбайт оперативной памяти.
Министерство образования РФ 1
Введение 5
1 Постановка задачи на разработку программы 6
2 Состав и структура исходных данных и результатов 7
3 Методы решения задач 9
4 Описание программы 11
5 Методика отладки программы 12
6 Руководство пользователя 15
Заключение 19
Литература 20
ПРИЛОЖЕНИЕ A. Схема программы 30
ПРИЛОЖЕНИЕ Б. Текст программы 33
ПРИЛОЖЕНИЕ В. Результаты работы программы 43
Министерство образования РФ
Федеральное государственное
бюджетное образовательное
высшего профессионального образования
«Пензенская государственная технологическая академия»
Кафедра «Прикладная информатика»
Дисциплина «Информатика и программирование»
Курсовой проект на тему
Разработка программы обработки массива данных с
построением диаграммы (предметная область-«Меню»)
Выполнил:
студент группы 10Эб
Гусакова Т.О.
Принял:
Бармин М.А.
Пенза 2011 г.
ФГБОУ ВПО
«Пензенская государственная
Кафедра «Прикладная информатика»
«Утверждаю»
Зав.кафедрой рдодроддрд
Дата: рдодроддрдоароаоа
ЗАДАНИЕ
на курсовое проектирование
по дисциплине «Информатика и программирование»
студенту
Тема проекта: Разработка программы обработки массива данных с построением диаграммы (предметная область- «Меню»)
Исходные данные (технические требования) на проектирование
1.Состав входных и выходных данных:
-входные данные: название блюда, вес блюда, цена блюда;
-вычисляемое поле: цена блюда со скидкой 10%;
-выходные данные: обработанный массив данных, круговая диаграмма.
2. Функции программы: ввод
3.Требования к программе: тип
меню – горизонтальное, выбор
функции меню – по номеру, вывод
сведений о назначении
Объем работы по курсу
1.Содержание расчетной части:
введение, постановка задачи на
разработку программы, состав
и структура исходных данных
и результатов, методы
2.Графическая часть
-схемы программы (основной, подпрограммы сортировки, подпрограммы построения диаграммы) 3 листа формата А4;
3.Экспериментальная часть: составление и отладка программы на языке Tutbo Pascal
Срок выполнения проекта по разделам:
1.Постановка задачи
2.Разработка алгоритмов
3.Написание программы к 15.11.2011
4.Подготовка
текста программы
5.Отладка программы
6.Оформление пояснительной записки к 5.12.2011
7.Оформление графической части к 10.12.2011
Дата выдачи задания
10.10.11 г.
Руководитель
Задание получил
Студент
Содержание
Система программирования Turbo Pascal, разработанная американской корпорацией Borland, является одной из самых популярных систем программирования в мире. Пакет Borland Pascal 7.0 учитывает многие новейшие достижения в программировании и практике создания программ( в том числе программ обработки статистических данных) и включает в себя три режима работы: в обычном режиме операционной системы MS DOS, в защищенном режиме MS DOS и в среде Windows. Обладая расширенными возможностями, пакет Borland Pascal 7.0 тем не менее требует для использования всех своих возможностей довольно большую память – примерно 30 Мбайт на жестком диске и не менее 2 Мбайт оперативной памяти.
Возможности языка программирования Turbo Pascal:
Разработать программу обработки массива данных, выполняющую следующие функции:
Структура данных программы представлена в таблице 1. Тип данных – массив записей. Вид меню – горизонтальное; выбор пункта меню – по номеру. Вид диаграммы – круговая; вариант закрашивания – сплошной, различные цвета. Алгоритм сортировки – обменная.
Таблица 1 – Структура данных
Предметная область |
Входные данные |
Вычисляемое поле |
Меню |
Наименование блюда, вес, цена. |
Цена со скидкой(10%) |
Входными данными для программы являются наименование блюда, вес, дата поставки, цена.
Выходные данные представляют собой обработанный массив данных (массив записей), вычисленное поле: цена со скидкой(10%), круговая диаграмма.
Состав и структура данных типа ZAP представлены в таблице 2.Состав и структура основных данных представлены в таблице 3.
Таблица 2 – Состав и структура данных типа ZAP.
Имя переменной |
Назначение |
Тип |
Ограничения |
Nazv |
Наименование блюда |
String |
Не более 20 символов |
Ves |
Вес блюда |
Integer |
>0 |
Cena |
Цена блюда |
Real |
>0 |
Skid |
Цена со скидкой |
Real |
>0 |
Таблица 3 – Состав и структура данных
Имя переменной |
Назначение |
Тип |
Ограничения |
F |
Файловая переменная |
ZAP |
– |
M |
Массив записей |
ZAP |
[1..100] |
i,n,del |
Счётчики |
integer |
>0 |
n1 |
Номер записи для осуществления дополнения |
Byte |
[0,255] |
Kod_kl |
Код номера пункта меню |
Char |
Коды клавиш F1–F10 |
Pm |
Пункт меню |
Byte |
– |
St |
Путь к файлу |
String |
|
Code |
Код результата |
Byte |
– |
Index |
Индекс удаляемого элемента |
integer |
>0 |
Pn |
Признак нахождения элемента массива записей |
integer |
>0 |
Mz,Elem1 |
Элемент массива записей |
ZAP |
– |
J1 |
Переменные процедуры построения и вывода диаграммы |
Integer |
>0 |
W |
Longint |
>0 | |
H |
Longint |
>0 | |
X1 |
Integer |
>0 | |
S |
Переменная для вывода подписей |
String |
[1..20] |
Для решения ряда задач, поставленных в данной работе, были использованы различные методы.
Ввод данных реализован в виде диалогового режима, что обеспечивает простой, удобный и наглядный интерфейс. Вывод данных на экран осуществляется табличным способом. Процедуры дополнения, удаления, поиска данных сопровождаются необходимыми сообщениями–подсказками для упрощения работы пользователя. Информация об успешном завершении операции выводится на экран. Запись данных в файл: данные сохраняются в файл, имя которого вводится запросом к пользователю. Чтение данных из файла: имеется возможность обрабатывать считанные из файла данные средствами программы. Последовательная обработка элементов массива реализуется при помощи цикла, внутри которого последовательно рассматривается каждый из элементов массива. Таким образом, можно обработать содержимое массива, включающего любое количество элементов. Для упрощения реализации решения поставленной задачи программа разбивается на подпрограммы, называемые процедурами. Такое разбиение позволяет уменьшить текст главной программы, а также получить в одной подпрограмме несколько результатов. Разбиение на процедуры целесообразно использовать ещё и потому, что при решении задачи будет необходимо использовать многократные повторения по одному и тому же алгоритму, но с различными исходными данными.
В процедурах для реализации повторяющихся действий используются операторы циклов: с постусловием (repeat-until);с параметром (for-to-do)
Также используются стандартные функции, операторы присвоения и т.д.[5].
Для определения вычисляемого поля: отпускная цена – использовалась формула Skid=cena-cena*0,1
Для сортировки данных использовалось вычисляемое поле. Записи сортируются по возрастанию обменным методом.
Алгоритм метода сортировки обменным методом состоит в следующем. Выполняется последовательный анализ массива данных: если два соседних элемента (ключа) не удовлетворяют условию (1), то они меняются местами; если в процессе такого анализа выполнена хотя бы одна перестановка, процесс сравнения повторяется с начала массива, иначе алгоритм заканчивает работу.
Исходные значения ключей в массиве: 7 8 5 4 1.
1. Поочередно сравниваются два соседних элемента (7 сравнивается с 8 - перестановки не происходит; 8 сравнивается с 5 – происходит перестановка: 8 ставится на место 5, а 5 – на место 8; 8 сравнивается с 4 – происходит перестановка). Цикл заканчивается после сравнения с последним элементом. После выполнения цикла получили массив
2. Если была хотя бы одна перестановка в цикле, то алгоритм продолжается с шага 1. Во время сортировки данного массива цикл был выполнен 4 раза.
Массив после сортировок:
В программе также реализовано построение круговой диаграммы по следующему алгоритму. В круговой диаграмме каждому элементу последовательности соответствует сектор, градусная мера которого пропорциональна величине элемента.
Для построения круговой диаграммы необходимо просуммировать все элементы последовательности, после чего найти отношения каждого из элементов к полученной сумме (так будет вычислено, какую часть круга нужно поставить в соответствие данной величине, — т.е. рассчитываются доли круга, приходящиеся на данную величину, если весь круг принять равным 1). Все эти расчеты можно представить формулами . Затем эти относительные величины переводятся в градусы: , после чего можно приступать к построению диаграммы.
Алгоритм в этом случае будет следующим:
Курсовой проект состоит из основной программы (Kus).
Основная программа отвечает за вывод на экран и функционирование меню (горизонтальное, выбор пункта меню - по номеру), а также за построение круговой диаграммы. Для построения круговой диаграммы используется процедура «Diagramma». Заполнитель для круговой диаграммы – сплошной, различные цвета.
Программа содержит восемь процедур: «Vvod», «Vivod», «Udalenie», «Zapis», «Chtenie», «Dopolnenie», «Poisk», «Sortirovka».
Процедура «Vvod» отвечает за ввод данных с клавиатуры. Процедура «Vivod» отвечает за вывод списка данных. Процедура «Chtenie» позволяет произвести чтение из файла, процедура «Zapis» - запись в файл. Процедура «Udalenie» удаляет указанные данные из списка (атрибут – название блюда). Процедура «Poisk» производит поиск блюда (атрибут – название блюда). Прцедура «Sortirovka» отвечает за сортировку списка блюд по возрастанию (ключ сортировки – цена блюда).
В программе использованы следующие процедуры и функции для обработки массивов и файлов:
Readln-чтение введенной информации
Аssign(f,f_n) -обеспечивание связи файловой переменной программы с реальным файлом на диске. Первым аргументом указывается переменная, вторым – адресное имя файла.