Разработка программы обработки массива данных с построением диаграммы (предметная область - "Садовод")
Особенности разработки программ на языке Turbo Pascal на примере программы обработки массива данных с построением диаграммы. Функции программы и основные требования к ней. Состав входных и выходных данных. Использование предметной области "Садовод".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 13.03.2013 |
Размер файла | 789,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования РФ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
"Пензенская государственная технологическая академия"
Кафедра " Прикладная информатика"
Дисциплина "Информатика и программирование"
Курсовой проект на тему
Разработка программы обработки массива данных с построением диаграммы (предметная область - "Садовод")
Выполнил:
студентка группы 10Э1б
Суменкова Е.А.
Принял: Бармин М.А.
Пенза 2011 г.
Оглавление
- Введение
- 1. Постановка задачи
- 2. Состав и структура исходных данных и результатов
- 3. Методы решения задач
- 4. Описание программы
- 5. Методика отладки программы
- 6. Руководство пользователя
- Заключение
- Литература
- Приложения
Задание на курсовое проектирование
по дисциплине "Информатика и программирование"
студенту ________________________ группы ____________________
Тема проекта: Разработка программы обработки массива данных с построением диаграммы (предметная область - "Садовод")
(вариант № 15)
Исходные данные (технические требования) на проектирование
1. Состав входных и выходных данных:
входные данные: ФИО, количество соток, годовой взнос за сотку (руб.);
вычисляемое поле: сумма годового взноса;
выходные данные: обработанный массив данных, круговая диаграмма.
2. Функции программы: ввод данных, запись данных в файл, чтение данных из файла, вывод данных на экран, дополнение данных, удаление данных, поиск информации по заданному атрибуту (ФИО садовода, количество соток, сумма годового взноса), сортировка данных (методом подсчета), построение диаграммы (круговой).
3. Требования к программе: тип меню - вертикальное, выбор функции меню - по функциональной клавише, вывод сведений о назначении программы, вывод подсказок с указаниями к дальнейшим действиям, вывод запросов на ввод исходных данных, контроль исходных данных и коррекция ошибочно введенных значений переменных.
Введение
Цель данного курсового проекта - закрепление навыков по разработке программ на языке Turbo Pascal, проработка комплекса вопросов, решаемых в технологической цепочке создания программного обеспечения.
Общее задание на курсовое проектирование состоит в разработке прикладной программы и пользовательской документации.
Курсовой проект включает в себя разработку программ для решения следующих задач:
- статистическая обработка данных (ввод данных, вывод данных, запись данных в файл, чтение из файла, поиск, дополнение данных, удаление);
- сортировка массива данных (числовых);
- построение диаграммы (круговая, пользовательская штриховка).
В курсовой работе использована следующая последовательность этапов создания автоматизированной системы:
- постановка задачи;
- формализация;
- алгоритмизация;
- программирование;
- тестирование и отладка;
- документирование.
В качестве среды программирования используется Free Pascal IDE.
1. Постановка задачи
Разработать программу, выполняющую следующие функции:
ввод данных;
запись данных в файл;
чтение данных из файла;
вывод данных на экран;
дополнение данных;
удаление данных;
поиск информации по заданному атрибуту;
сортировка данных;
построение диаграммы по данным из файла и вывод ее на экран.
Вариант №15 предполагает использование предметной области "Садовод", входными данными которой являются: ФИО, количество соток, годовой взнос за сотку (руб.); вычисляемое поле - сумма годового взноса. Вид меню - вертикальное, выбор пункта меню осуществляется с помощью функциональных клавиш.
Для сортировки данных и построения диаграммы использовать вычисляемое поле. Тип сортировки - сортировка подсчетом. Вид диаграммы - круговая, способ закрашивания - специальная штриховка.
2. Состав и структура исходных данных и результатов
Таблица 1 - Состав и структура исходных данных
Имя переменной |
Назначение |
Тип |
Ограничения |
|
i |
Управляющая переменная |
integer |
-32768.32767 |
|
Sum |
Сумма общего взноса за все участки всеми садоводами |
integer |
-32768.32767 |
|
gd |
Переменная, определяющая драйвер графического устройства |
integer |
-32768.32767 |
|
gm |
параметр (mode) |
integer |
-32768.32767 |
|
m |
Координата точки внутри сектора |
integer |
-32768.32767 |
|
n |
Координата точки внутри сектора |
integer |
-32768.32767 |
|
a |
Угол в диаграмме |
real |
2.9E - 39.1.7E38 |
|
b |
Сохранение предыдущего значения а |
real |
2.9E - 39.1.7E38 |
|
ss |
Переменная для контроля данных |
string |
не более 255 |
|
TGartner |
Запись |
record |
__ |
|
FIO |
ФИО садоводов |
string |
не более 50 символов |
|
NumberSot |
Количество соток |
integer |
-32768.32767 |
|
Prise1 |
Годовой взнос за сотку |
integer |
-32768.32767 |
|
PriseAll |
Сумма годового взноса |
integer |
-32768.32767 |
|
GartnerArray |
Список садоводов |
TGartner |
не более 50 |
|
NumberGartner |
Число садоводов |
integer |
-32768.32767 |
|
n |
Число записей |
integer |
-32768.32767 |
|
f |
Файловая переменная |
File of TGartner |
__ |
|
filename |
Имя файла |
string |
не более 255 |
|
j |
Управляющая переменная |
integer |
-32768.32767 |
|
menu |
Атрибут поиска |
integer |
1 - 3 |
|
buf |
Переменная для временного хранения какого-либо числа |
integer |
-32768.32767 |
|
BufArray |
Временный массив |
TGartner |
не более 50 |
|
KeyArray |
Массив ключей |
byte |
0.255 |
3. Методы решения задач
Построение круговой диаграммы предполагает следующий алгоритм:
1) вычислить относительную частоту для каждого из интервалов в процентах Pj = 100 Fj / N;
2) вычертить окружность радиуса R < Yэ,max/2;
3) вычерчивать радиусы окружности, отстоящие друг от друга на углы 3,6 P1; 3,6 P2; 3,6 P3 и т.д.;
4) заштриховать секторы;
5) внутри каждого сектора или рядом с ним вывести значение Pj;
6) вывести надпись, поясняющую название показателя, для которого построена диаграмма.
Создание пользовательской штриховки предполагает следующие действия:
- создание первоначального эскиза (на квадратном поле (в клетку) заштриховываются произвольные клетки вплоть до получения желаемого результата);
- заштрихованные области заменяются единицами;
- получившиеся по горизонтали числа необходимо перевести из двоичной системы счисления в шестнадцатеричную;
- числа используются для создания пользовательской заливки (в программе им предшествует знак "$").
Сортировка подсчетом, используемая в данном курсовом проекте, заключается в том, чтобы попарно сравнить значения всех ключей и при этом для каждого ключа подсчитать количество меньших его ключей, затем каждый i-й элемент массива (запись) устанавливается на место, номер которого равен меньшему ключу + 1.
При реализации алгоритма используются три массива:
для исходных данных;
для подсчета результатов сравнения ключей;
для результата сортировки.
4. Описание программы
Курсовой проект состоит из основной программы (Kurs) и модуля UNIT (IO).
Основная программа отвечает за вывод на экран и функционирование меню (вертикальное, выбор пункта меню - по функциональной клавише), а также за построение круговой диаграммы. Для построения круговой диаграммы используется процедура "Paint". Заполнитель для круговой диаграммы разработан пользователем.
Модуль UNIT содержит восемь процедур: "Input", "Output1", "OutputAll", "Readfile", "Writefile", "DeleteGartner1", "Search", "Sort".
Процедура "Input" отвечает за ввод данных с клавиатуры. Процедура "Output1" отвечает за вывод садовода с адресом i. Процедура "OutputAll" отвечает за вывод списка всех садоводов. Процедура "Readfile" позволяет произвести чтение из файла, процедура "Writefile" - запись в файл. Процедура "DeleteGartner1" удаляет садовода из списка (атрибут - ФИО). Процедура "Search" производит поиск садоводов по одному из трех атрибутов: ФИО, количество соток или общий взнос. Прцедура "Sort" отвечает за сортировку списка садоводов по возрастанию (ключ сортировки - количество соток).
5. Методика отладки программы
Отладка - это процесс поиска и исправления ошибок, препятствующих корректной работе программы.
Существует три основных типа ошибок:
- ошибки этапа компиляции или синтаксические ошибки;
- ошибки этапа выполнения или семантические ошибки;
- логические ошибки.
Ошибки этапа компиляции или синтаксические ошибки происходят, когда исходный код программы нарушает правила синтаксиса Паскаля. Компилятор не может скомпилировать программу, пока она не будет содержать только допустимые операторы Паскаля.
Наиболее общей причиной ошибок этапа компиляции являются ошибки набора (опечатки), пропущенные точки с запятой, ссылки на неописанные переменные, передача неверного числа (или типа) параметров процедуры или функции и присваивание переменной значения неверного типа.
После исправления ошибки компиляцию необходимо выполнить заново. После устранения в программе всех синтаксических ошибок и ее успешной компиляции программа будет готова к выполнению и поиску ошибок этапа выполнения и логических ошибок.
Примеры сообщений программы при ошибках этапа компиляции:
- Error 3: Unknown identifier;
- Error 4: Duplicate identifier;
- Error 37: END expected;
- Error 85: "; " expected;
- Error 113: Error in statement и др.
Ошибки этапа выполнения или семантические ошибки происходят при запуске успешно откомпилированной программы, которая при выполнении делает что-то недопустимое. То есть, программа содержит допустимые операторы Паскаля, но при выполнении этих операторов что-то происходит неверно. Например, программа может пытаться открыть для ввода несуществующий файл или выполнить деление на ноль.
Пример сообщения программы при ошибке этапа выполнения:
- Error 62: Division by zero.
Логические ошибки - это ошибки проектирования и реализации программы. То есть, операторы, используемые в программе, допустимы, но выполняемые ими действия отличаются от предполагаемых.
Логические ошибки приводят к некорректному или непредвиденному изменению значений переменных, неправильному отображению графики или невыполнению кода тогда, когда это ожидается.
Для того чтобы исправить логические ошибки, целесообразно использовать пошаговую отладку программы. При исполнении программы по шагам поиск и исправление ошибки заметно облегчится.
6. Руководство пользователя
Запуск программы осуществляется двойным нажатием левой клавиши мыши по значку исполняемого модуля с названием Kurs.
После открытия окна программы пользователь видит вертикальное меню. Выбор пункта меню осуществляется функциональными клавишами (рисунок В. 1).
При выборе пункта меню "Ввод данных" программа предлагает ввести предполагаемое количество данных. После чего поэлементно запрашивает ФИО садовода, количество соток, цену одной сотки (рисунок В.2).
При выборе пункта меню "Запись в файл" программа предлагает ввести имя файла (предпочтительно латинскими буквами).
При выборе пункта меню "Чтение из файла" программа запрашивает имя ранее созданного файла.
При выборе пункта меню "Вывод данных" программа выводит на экран заполненную базу данных (рисунок В.3).
При выборе пункта меню "Удаление" программа предлагает ввести ФИО удаляемого садовода, если садовод с такими данными найден, он удаляется из списка.
При выборе пункта меню "Поиск" пользователю предлагается выбрать атрибут, по которому будет производится поиск (ФИО, количество соток, общий взнос). После выбора атрибута необходимо ввести атрибут, принадлежащий искомому садоводу. Если садовод будет найден, на экран будут выведены данные о нем (рисунок В.5).
При выборе пункта меню "Сортировка" список садоводов будет отсортирован по возрастанию (ключ сортировки - количество соток).
При выборе пункта меню "Диаграмма" на экран будет выведена круговая диаграмма, отражающая соотношение годовых взносов всех садоводов с соответствующими подписями (рисунок В.4).
программа язык turbo pascal
При выборе пункта меню "Дополнение данных" повторяется алгоритм пункта "Ввод данных".
При выборе пункта меню "Выход из программы" будет произведен выход из программного приложения.
Все изменения, произошедшие в базе данных можно увидеть, выбрав пункт меню "Вывод данных".
В любое время пользователь может вернуться в меню, нажав клавишу Enter.
Таблица 2 - Сообщения программы
Сообщение программы |
Действия пользователя |
Примечания |
|
"Введите число записей" |
Необходимо ввести количество вводимых элементов, после чего нажать клавишу Enter |
Вводимое число должно быть строго больше нуля и принадлежать к целому типу |
|
"Введите ФИО->" |
Ввод ФИО садовода производится через Enter |
Рекомендуется вводить латинскими буквами, чтобы в последствии избежать трудностей при выводе данных на диаграмме |
|
Сообщение программы |
Действия пользователя |
Примечания |
|
"Введите количество соток и цену одной сотки" |
Ввод количество соток и цены одной сотки производиться через Enter |
Значения количества соток и цены одной сотки должны быть целочисленными |
|
"Введите ФИО удаляемого садовода" |
Вводится ФИО садовода |
__ |
|
"Введите атрибуты поиска" |
Необходимо выбрать атрибут поиска из трех предлагаемых и ввести соответствующий ему номер |
__ |
Заключение
В ходе выполнения курсового проекта были разработаны программы на языке Turbo Pascal, проработан ряд вопросов, решаемых в технологической цепочке создания программного обеспечения. В качестве среды программирования использовался Free Pascal IDE.
Общее задание на курсовое проектирование состояло в разработке прикладной программы и пользовательской документации.
Разработанная программа предполагает использование предметной области "Садовод", входными данными которой являются: ФИО, количество соток, годовой взнос за сотку (руб.); вычисляемое поле - сумма годового взноса. Вид меню - вертикальное, выбор пункта меню осуществляется с помощью функциональных клавиш.
Для сортировки данных и построения диаграммы использовано вычисляемое поле. Тип сортировки - сортировка подсчетом. Вид диаграммы - круговая, способ закрашивания - специальная штриховка.
Литература
1. Долгушева Л.Н. Электронное учебное пособие. ver 1.2.2010. - Пенза, ПГТА
2. Информатика: Базовый курс/Под ред. С.В. Симоновича. - СПБ.: Питер, 2002. Алгоритмизация и основы программирования / Г.И. Светозарова. - М.: Высшая школа, 2006. - 128 с.
3. Культин Н.Б. Turbo Pascal в задачах и примерах, 2007.
4. Немнюгин С.А. Turbo Pascal. Практикум. 2007.
5. Немнюгин С.А. Turbo Pascal. Программирование на языке высокого уровня. 2006.
6. Павловская Е.А., Паскаль. Программирование на языке высокого уровня: Учебник для вузов. - СПб.: Питер, 2007. - 393 с.
7. Пикулин В.В., Долгушева Л.Н., Бармин М.А., Информатика и программирование: Учебно-методическая разработка. - Пенза: Изд-во Пенз. гос. технол. академии, 2006. - с.
Приложения
Приложение А. текст программы
А.1. Текст основной программы (Kurs)
uses crt, IO,graph;
const
FillPattern: FillPatternType= ($00,$11,$10,$12,$7e,$fa,$18,$00);
procedure InputData;
begin
NumberGartner: =0;
Input;
end;
procedure paint;
const R=100; x=150; y=150;
colorG=7;
var sum: integer;
gd,gm,m,n,err, i: integer;
a,b: real; ss: string;
begin
DetectGraph (gd,gm);
InitGraph (gd,gm,'');
if GraphResult<>grOk then Halt (1);
SetColor (colorG);
Circle (x,y,R);
sum: =0;
a: =0;
for i: =1 to NumberGartner do
sum: =sum+GartnerArray [i]. PriseAll;
for i: =1 to NumberGartner do
begin
a: =a+2*Pi*GartnerArray [i]. PriseAll/sum;
Line (x,y,x+round (R*cos (a)),y+round (R*sin (a)));
end;
a: =0; b: =0; i: =0;
for i: =1 to NumberGartner do
begin
b: =a;
a: =a+2*Pi*GartnerArray [i]. PriseAll/sum;
SetFillPattern (FillPattern,Random (GetMaxColor));
m: = (2*x+round (R*cos (a- (a-b) /2))) div 2;
n: = (2*y+round (R*sin (a- (a-b) /2))) div 2;
FloodFill (m,n,colorG);
str (GartnerArray [i]. PriseAll,ss);
OutTextXY (m,n,ss);
RectAngle (3*R, i*25, 3*R+20, i*25+20);
FloodFill (3*R+2, i*25+3,colorG);
OutTextXY (3*R+30, i*25+5, GartnerArray [i]. fio);
end;
end;
begin
NumberGartner: =0;
repeat
clrscr;
Writeln ('F1-Ввод данных');
Writeln ('F2-Запись в файл');
Writeln ('F3-Чтение из файла');
Writeln ('F4-Вывод данных');
Writeln ('F5-Удаление');
Writeln ('F6-Поиск');
Writeln ('F7-Сортировка');
Writeln ('F8-Диаграмма');
Writeln ('F9-Дополнение данных');
Writeln ('F10-Выход из программы');
case readkey of
#59: begin clrscr; inputdata; end;
#60: begin clrscr; writefile; end;
#61: begin clrscr; readfile; end;
#62: begin clrscr; Outputall; end;
#63: begin clrscr; Deletegartner1; end;
#64: begin clrscr; Search; end;
#65: begin clrscr; sort; end;
#66: paint;
#67: begin clrscr; input; end;
#68: halt;
end;
until false;
end.
А.2. Текст модуля программы (IO)
unit IO;
interface
uses crt;
const Nconst=50;
type
TGartner=record
FIO: string [50];
NumberSot: integer;
Prise1,PriseAll: integer;
end;
procedure Input;
procedure Output1 (i: integer);
procedure OutputAll;
procedure ReadFile;
procedure WriteFile;
procedure DeleteGartner1;
procedure Search;
procedure Sort;
var GartnerArray: array [1. Nconst] of TGartner;
NumberGartner: integer;
implementation
procedure Input;
var n, i: integer;
begin
writeln;
writeln ('Ввод данных в массив. Следуйте пошаговой инструкции. Ввод очередного элемента завершайте нажатием клавиши Enter');
writeln;
writeln;
Writeln ('Введите число записей->');
Readln (n);
for i: =1 to n do
with GartnerArray [NumberGartner+1] do
begin
Writeln ('Садовод №', i);
Write ('Введите ФИО->');
Readln (FIO);
Write ('Введите количество соток->');
{$I-}
Readln (NumberSot);
{$I+}
if IOResult<>0 then
begin
Writeln ('Введен недопустимый символ! ');
Readln;
readln;
exit;
end;
Write ('Введите цену одной сотки->');
{$I-}
Readln (Prise1);
{$I+}
if IOResult<>0 then
begin
Writeln ('Введен недопустимый символ! ');
Readln;
readln;
exit;
end;
PriseAll: =Prise1*NumberSot;
inc (NumberGartner);
Writeln ();
end;
Writeln ('Ввод окончен');
readln;
end;
procedure Output1 (i: integer);
begin
Writeln;
with GartnerArray [i] do
begin
Writeln ('ФИО',FIO);
Writeln ('Количество соток',NumberSot);
Writeln ('Цена одной сотки',Prise1);
Writeln ('Общий взнос',PriseAll);
end;
readln;
end;
procedure OutputAll;
var i,j: integer;
begin
writeln;
writeln ('Вывод данных на экран. Для возврата в меню нажмите клавишу Enter');
writeln;
writeln;
write (#218);
for i: =1 to 67 do
write (#196);
writeln (#191);
Writeln (#179,'ФИО': 30,#179,'Кол. соток': 12,#179,'Цена 1-й': 10,#179,'Итог: 12,#179);
for i: =1 to NumberGartner do
with GartnerArray [i] do
begin
writeln (#179,Fio: 30,#179,NumberSot: 12,#179,Prise1: 10,#179,PriseAll: 12,#179);
end;
write (#192);
for j: =1 to 67 do
write (#196);
writeln (#217);
readln;
end;
procedure ReadFile;
var f: file of TGartner; fileName: string;
begin
writeln;
writeln ('Чтение данных из файла. Введите имя уже существующего файла, затем нажмите клавишу Enter');
writeln;
writeln;
Write ('Введите имя файла->');
Readln (fileName);
Assign (f,fileName);
{$I-}
Reset (f);
{$I+}
if IOResult<>0then
begin
writeln ('Указанный файл не найден! ');
readln;
exit;
end;
while not (Eof (f)) do
begin
inc (NumberGartner);
Read (f,GartnerArray [NumberGartner]);
end;
Close (f);
Writeln ('Ввод окончен! ');
readln;
end;
procedure WriteFile;
var f: file of TGartner; fileName: string; i: integer;
begin
writeln;
writeln ('Запись данных в файл. Введите имя файла, затем нажмите клавишу Enter');
writeln;
writeln;
if NumberGartner=0 then
begin
Writeln ('Список садоводов пуст! ');
readln;
exit;
end;
Write ('Введите имя файла->');
Readln (fileName);
Assign (f,fileName);
Rewrite (f);
for i: =1 to NumberGartner do
Write (f,GartnerArray [i]);
Close (f);
Writeln ('Запись завершена');
readln;
end;
procedure DeleteGartner1;
var fio: string; i,j: integer;
begin
writeln;
writeln ('Удаление элемента массива. Введите предлагаемый атрибут, затем нажмите клавишу Enter');
writeln;
writeln;
Write ('Введите ФИО садовода->');
Readln (fio);
for i: =1 to NumberGartner do
if GartnerArray [i]. FIO=fio then
begin
for j: =i to NumberGartner-1 do
GartnerArray [j]: =GartnerArray [j+1];
Writeln ('Запись успешно удалена');
dec (NumberGartner);
readln;
exit;
end;
Writeln ('Садовод с такими данными не найден! ');
readln;
end;
procedure Search;
var menu,buf, i: integer; fio: string; key: boolean;
begin
writeln;
writeln (`Поиск элемента массива. Выберете один из предлагаемых атрибутов поиска, введите соответствующий ему номер и нажмите Enter');
writeln;
writeln;
Writeln ('Введите атрибуты поиска: ');
Writeln ('1-ФИО');
Writeln ('2-Количество соток');
Writeln ('3-Общий взнос');
Write ('->');
{$I-}
Readln (menu);
{$I+}
if IOResult<>0 then
begin
Writeln ('Введен недопустимый символ! ');
readln;
readln;
exit;
end;
key: =false;
case menu of
1:
begin
Write ('Введите ФИО->');
Readln (fio);
for i: =1 to NumberGartner do
if fio=GartnerArray [i]. FIO then
begin
if key=false then Writeln ('Найденные записи: ');
Output1 (i);
key: =true;
end;
if key=false then Writeln ('Садоводы с требуемыми атрибутами не найдены');
readln;
end;
2:
begin
Write ('Введите количество соток->');
{$I-}
Readln (buf);
{$I+}
if IOResult <>0 then
begin
Writeln ('Введен недопустимый символ! ');
readln;
readln;
exit;
end;
for i: =1 to NumberGartner do
if buf=GartnerArray [i]. NumberSot then
begin
if key=false then Writeln ('Найденные записи: ');
Output1 (i);
key: =true;
end;
if key=false then Writeln (' Садоводы с требуемыми атрибутами не найдены');
readln;
end;
3:
begin
Write ('Введите сумму общего взноса->');
{$I-}
Readln (buf);
{$I+}
if IOResult <>0 then
begin
Writeln ('Введен недопустимый символ! ');
readln;
readln;
exit;
for i: =1 to NumberGartner do
if buf=GartnerArray [i]. PriseAll then
begin
if key=false then Writeln ('Найденные записи: ');
Output1 (i);
key: =true;
end;
end;
if key=false then Writeln ('Садоводы с требуемыми атрибутами не найдены');
readln;
end;
end;
end;
procedure Sort;
var bufArray: array [1. Nconst] of TGartner;
KeyArray: array [1. Nconst] of byte; i,j: integer;
begin
if NumberGartner=0 then
begin
Writeln ('Список садоводов пуст! ');
readln;
exit;
end;
for i: =1 to NumberGartner do
KeyArray [i]: =0;
writeln;
Writeln ('Сортировка по возрастанию');
for i: =1 to NumberGartner-1 do
for j: =i+1 to NumberGartner do
if GartnerArray [i]. PriseAll>GartnerArray [j]. PriseAll
then inc (keyArray [i]) else inc (keyArray [j]);
for i: =1 to NumberGartner do
bufArray [keyArray [i] +1]: =GartnerArray [i];
for i: =1 to NumberGartner do
GartnerArray [i]: =bufArray [i];
Writeln ('Список отсортирован! ');
readln;
end;
end.
Приложение В. результаты работы программы
Рисунок В. 2-Вид окна программы после запуска
Рисунок В. 3-Ввод данных с клавиатуры
Рисунок В. 4-Вывод данных на экран
Рисунок В. 5-вывод на экран круговой диаграммы
Рисунок В.1. 6-Поиск по заданному атрибуту
Размещено на Allbest.ru
Подобные документы
Разработка программы на языке Turbo Pascal, обеспечивающей работу пользователя в диалоговом режиме с возможностью выбора функций с помощью одноуровневого меню вертикального типа. Блок-схема и листинг программы, описание руководства пользователя.
курсовая работа [1,5 M], добавлен 17.03.2014Особенности поиска среднеарифметического значения элементов массива. Общая характеристика проблем разработки в среде Turbo Pascal программы упорядочивания массива по возрастанию. Рассмотрение основных этапов разработки программы на языке PASCAL.
курсовая работа [896,7 K], добавлен 18.05.2014Анализ эффективности методов сортировки данных в языке Turbo Pascal. Разработка эскизного и технического проекта программы. Сортировка без и с использованием дополнительной памяти, за исключением небольшого стека (массива). Сортировка связанных списков.
курсовая работа [359,0 K], добавлен 23.05.2012Особенности проектирования программы на языке С++ для обработки данных из таблиц базы данных. Основные функции программы, создание концептуальной модели базы данных и диаграммы классов, разработка интерфейса пользователя и запросов к базе данных.
курсовая работа [2,1 M], добавлен 08.06.2012Создание программы для обработки структуры данных. Возможность ввода и записи данных на персональном компьютере. Прикладное программирование на языке Turbo Pascal. Свободное редактирование записанных данных с помощью программы, написанной на Turbo Pascal.
лабораторная работа [11,4 K], добавлен 13.05.2011Общая характеристика организации массива в виде двоичного дерева. Особенности линейного и двоичного поиска заданного элемента массива. Методика упорядочения массива методом сортировки деревом. Инструкции и текст программы для нечисленной обработки данных.
курсовая работа [242,3 K], добавлен 12.11.2010Рассмотрение правил записи, способов ввода и вывода, использования функций обработки символьных данных в Pascal. Описание алгоритмизации и программирования файловых структур данных, проектирования структуры файла. Ознакомление с работой данных массива.
курсовая работа [336,2 K], добавлен 27.06.2015Создание программы в среде LabVIEW 7.1 для аудиометра – прибора для исследования чувствительности слуха. Определение входных и выходных данных системы, алгоритма обработки данных. Схемы и диаграммы, необходимые для разработки программного продукта.
курсовая работа [2,6 M], добавлен 03.04.2012Использование массива данных о сотрудниках небольшой фирмы для создания программы. Введение информации, ее хранение в файле workers.dat. Процедуры и функции программы, дополнительные файлы, описание предметной области и алгоритма задачи, листинг.
курсовая работа [22,0 K], добавлен 29.11.2009Решения задачи графическим и программным способами. Описание алгоритма решения графическим способом, укрупненная схема алгоритма. Ввод элементов двумерного массива, вывод преобразованного массива, разработка программы на языке pascal, листинг программы.
курсовая работа [115,5 K], добавлен 22.05.2010