p align="left">4.2 Особенности организации выбранного графического режима Данный интерфейс состоит из нескольких пунктов и единиц: основное меню имеет вид централизованного списка, по которому легко передвигается строка выбора, информационное меню имеет также централизованный список пунктов. В данной работе статусная строка имеет вид: утвердить, движение вверх, движение вниз, выход из программы или меню. Рисунок 4.1 предоставляет схему организации данного интерфейса, который состоит из пяти активных окон, легко вызывающиеся в любой момент. Стрелками указано взаимодействие окон между собой, а также цикл выхода из программы. Статусная строка поможет без труда передвигаться между окнами. 11 Рисунок 4.1-Схема организации интерфейса 5 Описание программной реализации 5.1 Функционально-логическая схема Данная схема предоставляет функционально-логическую схему. 11 Рисунок 5.1-Функционально-логическая схема Рисунок 5.1 представляет функционально-логическую схему, которая реализует логическую функциональность блоков программы. Каждый пункт программы выполняет определенное действие, поэтому от каждого пункта изображена линия, которая показывает действие выбранного пункта. 5.2 Описание структур и форматов В данном разделе описаны выходные данные и разобраны их структура 5.1.1 Выходные данные Выходными данными являются данные в памяти файлов, которые хранятся на жестком диске компьютера. Эти файлы используются для вывода информации о выбранных устройствах персонального компьютера, а также для вывода информации о руководстве пользователя. Они имеют расширение «*.txt». 5.3 Основные процедуры Ниже перечислены процедуры, которые встречаются в программе. Procedure initgr (); Процедура для инициации графического режима Procedure main; Процедура для реализации рабочего главного меню. Procedure greator(); Отображает титульный лист с информацией об авторе программы. Procedure colo(); Процедура для вывода экрана приветствия Procedure ReadF (name:string, f1:boolean); Процедура для инициализации файла. Procedure select; Процедура прорисовки окна выбора справки; Procedure WorSpece; Процедура построения рабочей области экрана; Procedure move; Процедура выбора меню; Procedure help; Процедура прорисовки справочного окна программы. 6. Комплекс поставки и порядок установки В данном разделе будет рассмотрен комплекс поставки программного продукта, а также порядок установки его. 6.1 Комплект поставки Программный продукт поставляется на дискете 3,5". В корневом каталоге дискеты находится каталог Saniokkurs, содержащий следующие файлы: mykurs.pas - главный исполняемый файл; Egavga.bgi - драйвер видеоадаптера; Keyrus.com - драйвер клавиатуры; Также в папке mykurs находится еще один каталог, содержащий файлы fill.txt - файл содержащий информацию про историю тригонометрии; sin.txt - файл, содержащий информацию о функции sin X; cos.txt - файл, содержащий информацию о функции cos X; tg.txt - файл, содержащий информацию о функции tg X; ctg.txt - файл, содержащий информацию о функции ctg X; arctg.txt - файл, содержащий информацию о функции arctg X; arcctg.txt - файл, содержащий информацию о функции arcctg X; help.txt - файл, содержащий информацию помощи; 6.2 Порядок установки Процедура инсталляции состоит в следующем: - средствами операционной системы создаётся каталог для программы (возможно также использование уже существующего каталога, но создание для программы отдельного каталога является предпочтительным); - средствами операционной системы файлы, входящие в комплект поставки, переносятся из каталога Saniokkurs дискеты в подготовленный каталог. 6.3 Запуск программного продукта Для запуска программного продукта для начала необходимо выполнить файл Keyrus.com, а после запустить файл mykurs.exe. В случае отсутствия некоторых файлов, система выдаст соответствующее предупреждение, и если эти файлы были критически важными, прекратит работу. 7. Анализ эффективности Данная программа обладает довольно качественным и понятным интерфейсом. Пользователь без труда может сориентироваться при запуске приложения при помощи подсказок, находящихся в нижней части экрана. Также одним из достоинств программы является то, что диалог пользователя с программой осуществляется при помощи понятных и довольно удобных диалоговых окон. Следует также заметить то, что в целом, программа выполнена в классическом варианте для приложений, разработанных для операционной MS-DOS. То есть, это удобная, не надоедливая цветовая гамма, которая не раздражает после долгой работы органы зрения пользователя. В программе реализована удобная навигация по информационной базе, насыщенная информационная база. Выводы После завершения работы над программой, её можно протестировать и выявить как достоинства, так и недостатки. Мною были выполнены поставленные задачи, а именно: - в программе был реализован удобный графический пользовательский интерфейс. Также следует дополнительные достоинства: это возможность пополнения базы новыми информационными материалами. В будущем, возможна модернизация программы в следующих направлениях: - сделать программу более удобной при чтении материала из информационной базы; - сделать программу под более современную операционную систему. Список использованной литературы 1. «Программирование в среде Turbo Pascal 7.0», А. И. Марченко; 1998. 2. Конспект лекций по предмету «ОП и АЯ». 3. Энциклопедия современного персонального компьютера Москва 2005 г. 4. Ресурс в сети Интернет: http://garbo.umasa.fi/pc/turboobj.html http://garbo.umasa.fi/pc/turbopas.html http://infobase.hypermart.net/pascal/programs.html http://infocity.kiev.ua/ 5. Самоучитель Turbo Pascal О.А. Меженный Киев 2004. Приложение А Техническое задание на проектируемый программный продуктА.1 Общие сведенияПолное название программного продукта: “Разработка информационно системы «Простейшие тригонометрические функции»”. Ее условное обозначение «ПТФ». Работа выполнена студенткой 1-го курса Донецкого государственного института искусственного интеллекта (ДонГИИИ),факультета современных компьютерных информационных технологий, группы СУА-05, Булавиным Александром Николаевичам.Основанием для разработки «ПТФ» является задание, выданное кафедрой Программного обеспечения интеллектуальных систем (ПОИС).Плановый срок начала работы: 17.02.06.Дата защиты работы: 22.05.06.Курсовая работа выполняется согласно графику, приведенному в таблице А.1.А.2 Назначения создания программы веденияПрограмма предназначена для обучения пользователя простейшим тригонометрическим функциям.А.3 Требования к программеА.3.1 Требования к программе в целомВ целом к программе предъявляются следующие требования:удобный и простой для пользования графический интерфейс;удобный способ ввода-вывода данных;контроль действий пользователя, связанные с работой программы;хранение информации во внешнем источнике данных;- наличие справочной информацииА.3.2 Требования к задачам и функциям программного продуктаПрограмма должна реализовать следующие функции:удобный доступ к информационному материалу;вывод легко доступной для восприятия справочной информации;А.3.3 Требования к программному обеспечениюПрограмма будет реализована на языке Turbo Pascal 7.0 и для ее работы необходимо наличие операционной системы MS-DOS 5.0 и выше.А.3.4 Требования к техническому обеспечениюДля корректной работы программы необходимы:IBM - совместимый ПК с процессором не ниже 80386;VGA монитор.А.4 Стадии разработки программы:Таблица А.1 - Стадии разработки программы|
Этапы работы | Срок выполнения (недели) | | Постановка задачи: определение требований к программному комплексу. Формулировка постановки задачи: исходные данные, ограничения, результат, связь. | 1-2 | | Составление технического задания | 2-3 | | Техническое проектирование. Разработка метода решения задачи. Модульный анализ: определение структуры программы, выделение модулей, организация и их взаимосвязи. | 3-4 | | Разработка основного алгоритма функционирования программы. Составление спецификаций модулей. | 5 | | Рабочее проектирование: Определение структур входных и выходных данных, алгоритмов работы модулей. Оценки структур данных и алгоритмов. Описание входных и выходных данных. | 6-7 | | Написания программы. | 8-10 | | Отладка программы на верхнем уровне. | 11-12 | | Комплексная отладка и тестирование. | 12-13 | | Написание пояснительной записки. | 11-14 | | Защита курсового проекта. | 22.05.06 | | |
Приложение Б Руководство пользователяПомощь при работе с информационной системойИнформация.Отображает список доступных для рассмотрения тем. Выбрав этот пункт меню, появится окно с названием простейших тригонометрических функциями. Используя клавиши "вверх", "вниз" и "enter" вы можете выбрать функцию, которое вас интересует.Справка:Отображает справочное меню.Разработчик:Отображает информацию о разработчике.Выход:Используя этот пункт, вы можете выйти из программы.Приложение ВЛистинг программыProgram my_kursuch;Uses Graph,crt;Var i,j,y:integer;com:char;txt:array[1..750]of ^string;procedure worspece; forward;----------------------------------------------______________________________________________Procedure ReadF(name:string;fl:boolean);varcom:char;str:string;f:text; pos:integer;n:integer;i,j:integer;beginname:=concat('\TXT',name);cleardevice;worspece;assign(f,name);{$I-}reset(f);{$I+}if IOresult<>0 thenbegincleardevice;textcolor(red);outtext('Не найден файл, проверьте наличие файла на диске.');readkey;endelsebeginn:=1;while not eof(f) do {Read from Fille in Massiv}beginreadln(f,str);txt[n]^:=str;n:=n+1;end;n:=n-1;if n<=25 thenbeginpos:=40;for j:=1 to n dobeginouttextXY(40,20+pos,txt[j]^);pos:=pos+10;end;repeatuntil readkey=#27;endelsebeginpos:=40;for j:=1 to 25 dobeginouttextXY(40,20+pos,txt[j]^);pos:=pos+10;end;i:=25;while com<>#27 dobegincom:=readkey;if com=#72 then {///Up}if i>=26 thenbeginworspece;delay(60);pos:=40;for j:=i-26 to i-1 dobeginouttextXY(40,20+pos,txt[j]^);pos:=pos+10;end;i:=i-1;end;if com=#73 then {/// PageUp}if i>=50 thenbeginpos:=40;worspece;delay(60);for j:=i-49 to i-25 dobeginouttextXY(40,20+pos,txt[j]^);pos:=pos+10;end;i:=i-25;endelseif i<>25 thenbeginworspece;delay(60);pos:=40;for j:=1 to 25 dobeginouttextXY(40,20+pos,txt[j]^);pos:=pos+10;end;i:=25;end;if com=#80 then {///Down}if i<=n-1 thenbeginworspece;delay(60);pos:=40;for j:=i-24 to i+1 dobeginouttextXY(40,20+pos,txt[j]^);pos:=pos+10;end;i:=i+1;end;if com=#81 then {/// PageDown}if i<=n-25 thenbeginworspece;delay(60);pos:=40;for j:=i to i+25 dobeginouttextXY(40,20+pos,txt[j]^);pos:=pos+10;end;i:=i+25;endelseif i<>n thenbeginworspece;delay(60);pos:=40;for j:=n-25 to n dobeginouttextXY(40,20+pos,txt[j]^);pos:=pos+10;end;i:=n;end;end;end;end;com:=#1;end;{----------------------КОНЕЦ-------------------------------}procedure select;beginsetfillstyle(1,blue);bar(0,0,640,240);setfillstyle(1,yellow);bar(0,210,640,480);setcolor(blue);bar3d(30,215,150,235,0,topoff);outtextXY(40,220,'История');setcolor(red);outtextXY(50,250,'SIN X');outtextXY(60,280,'COS X');outtextXY(70,310,'tg X');outtextXY(80,340,'ctg X');outtextXY(90,370,'arctg X');outtextXY(100,400,'arcctg X');outtextXY(110,430,'Помощь');com:=#1;i:=1;j:=1;repeatcom:=readkey;if((i=1) and (com=#72)) thenbeginj:=i;i:=i+7;endelseif((i=8) and (com=#80)) thenbeginj:=i;i:=i-7;endelsef((y<>1) and (com=#72)) thenbeginj:=i;i:=i-1;endelsef((y<>1) and (com=#80)) thenbeginj:=i;i:=i+1;end;setcolor(blue);case i of1:begin bar3d(30,215,150,235,0,topoff); outtextXY(40,220,'История');end;2:begin bar3d(40,245,160,265,0,topoff); outtextXY(50,250,'SIN X');end;3:begin bar3d(50,275,170,295,0,topoff); outtextXY(60,280,'COS X');end;4:begin bar3d(60,305,180,325,0,topoff); outtextXY(70,310,'tg X');end;5:begin bar3d(70,335,190,355,0,topoff); outtextXY(80,340,'ctg X');end;6:begin bar3d(80,365,200,385,0,topoff); outtextXY(90,370,'arctg X');end;7:begin bar3d(90,395,210,415,0,topoff); outtextXY(100,400,'arcctg X');end;8:begin bar3d(100,425,220,445,0,topoff); outtextXY(110,430,'Помощь');end;end;setcolor(red);if ((com=#72) or (com=#80)) thencase j of1:beginsetcolor(yellow);bar3d(30,215,150,235,0,topoff);setcolor(7);outtextXY(40,220,'История');end;2:beginsetcolor(yellow);bar3d(40,245,160,265,0,topoff);setcolor(8);outtextXY(50,250,'SIN X');end;3:beginsetcolor(yellow);bar3d(50,275,170,295,0,topoff);setcolor(9);outtextXY(60,280,'COS X');end;4:beginsetcolor(yellow);bar3d(60,305,180,325,0,topoff);setcolor(10);outtextXY(70,310,'tg X');end;5:beginsetcolor(yellow);bar3d(70,335,190,355,0,topoff);setcolor(11);outtextXY(80,340,'ctg X');end;6:beginsetcolor(yellow);bar3d(80,365,200,385,0,topoff);setcolor(12);outtextXY(90,370,'arctg X');end;7:beginsetcolor(yellow);bar3d(90,395,210,415,0,topoff);setcolor(13);outtextXY(100,400,'arcctg X');end;8:beginetcolor(yellow);bar3d(100,425,220,445,0,topoff);setcolor(17);outtextXY(110,430,'Помощь');end;end;until((com=#27) or (com=#13));end;{---------------КОНЕЦ----------------------------}----------------------------------------------procedure WorSpece;beginsetcolor(15);setfillstyle(1,9);bar3d(0,0,getmaxX,getmaxY,0,true);setfillstyle(1,7);setcolor(0);bar3d(15,15,getmaxX-15,getmaxY-15,0,true);setcolor(4);setfillStyle(1,8);bar3d(16,16,getmaxX-16,30,0,true);setcolor(0);line(17,32,17,getmaxY-17);line(17,32,getmaxX-17,32);line(getMaxX-17,32,getmaxX-17,getmaxY-17);line(17,getmaxY-17,getmaxX-17,getmaxY-17);bar3d(17,getmaxY-120,getmaxX-17,getmaxY-17,0,true);setcolor(15);outtextXY(90,getmaxY-100,'Page Up-страница вверх, Page Down-страница вниз');outtextXY(105,getmaxY-80,'Стрелки вверх и вниз-перемещение по строкам');setcolor(4);end;{----------------------КОНЕЦ----------------------------------------} Процедура вывода реквизитов разработчика на экран ___________________________________________________________procedure greator;var i:byte;begincleardevice;begini:=60;{---------------------------рисуем мышь--------------------------------}setfillstyle (1,4);fillellipse (320,240,80,140);setfillstyle (1,1);fillellipse (320,240,60,20);setcolor (15);settextstyle (4,0,30);outtextXY (295,235,'S V E N');line (250,180,390,180);line (320,180,320,100);{-----------------------------------------------------------------------}SETFILLSTYLE (1,15);setcolor (black);settextstyle(9,0,15);bar3D (0,460,300,477,0,FALSE);outtextxy (40,465,'Любая клавиша-возврат в меню');bar3D (320,460,638,477,0,FALSE);outtextxy (400,465,'Любая клавиша-возврат в меню');setcolor (10);outtextxy (120,i,'ДОНЕЦКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА');delay (200);outtextxy (140,i+40,'КАФЕДРА ПРОГРАММНОГ ОБЕСПЕЧЕНИЯ ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ');delay (200);outtextxy (230,i+80, ' КУРСОВАЯ РАБОТА');delay (200);outtextxy (170,210,' ПО ДИСЦИПЛИНЕ:"АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ И ПРОГРАММИРОВАНИЕ"');delay (200);outtextxy (120,260,'ТЕМА:"РАЗРОБОТКА ИНФОРМАЦИОННОЙ СИСТЕМЫ"');delay (200);outtextxy (160,280,'"ПРОСТЕЙШИЕ ТРИГОНОМЕТРИЧЕСКИЕ ФУНКЦИИ"');delay (200);outtextxy (480,300,'ВЫПОЛНИЛА:');delay (200);outtextxy (460,320,'СТ.ГР.:');delay (200);outtextxy(460,340,'');end;end;{--------------------КОНЕЦ ПРОЦЕДУРЫ---------------------------}------------------------------------------------------------ Процедура выбора меню procedure move;begincom:=#1;i:=1;j:=1;repeatcom:=readkey;if((i=1) and (com=#72)) thenbeginj:=i;i:=i+3;endelseif((i=4) and (com=#80)) thenbeginj:=i;i:=i-3;endelseif((y<>1) and (com=#72)) thenbeginj:=i;i:=i-1;endelseif((y<>1) and (com=#80)) thenbeginj:=i;i:=i+1;end;setcolor(blue);case i of1:begin bar3d(30,215,150,235,0,topoff); outtextXY(40,220,'v Информация');end;2:begin bar3d(40,245,160,265,0,topoff); outtextXY(50,250,'v Справка');end;3:begin bar3d(50,275,170,295,0,topoff); outtextXY(60,280,'v Разработчик');end;4:begin bar3d(60,305,180,325,0,topoff); outtextXY(70,310,'v Выход');end;end;setcolor(red);if ((com=#72) or (com=#80)) thencase j of1:beginsetcolor(yellow);ar3d(30,215,150,235,0,topoff);setcolor(red);outtextXY(40,220,'v Информация');end;2:beginsetcolor(yellow);bar3d(40,245,160,265,0,topoff);setcolor(red);outtextXY(50,250,'v Справка');end;3:beginsetcolor(yellow);bar3d(50,275,170,295,0,topoff);setcolor(red);outtextXY(60,280,'v Разработчик');end;4:beginsetcolor(yellow);bar3d(60,305,180,325,0,topoff);setcolor(red);outtextXY(70,310,'v Выход');end;end; until(((com=#13) and (i=4))or (com=#13) or(com=#27));end;{--------------------КОНЕЦ ПРОЦЕДУРЫ--------------------------}------------------------------------------------------------ Процедура инициализации графики procedure initgr;var GD,GM:integer;beginGd:=Detect;InitGraph(Gd, Gm, ' '); { Путь к BGI драйверам }If GraphResult <> grOk Thenbeginwriteln('Ошибка при подключении графики...');halt(1);end;end;{--------------------КОНЕЦ ПРОЦЕДУРЫ---------------------------} Процедура прорисовки справочного окна программы ___________________________________________________________procedure help;begincleardevice;bar3d(30,215,150,235,0,topoff);outtextXY(40,220,'История');outtextXY(50,250,'SIN X');outtextXY(60,280,'COS X');outtextXY(70,310,'tg X');outtextXY(80,340,'ctg X');outtextXY(90,370,'arctg X');outtextXY(100,400,'arcctg X');outtextXY(110,430,'Помощь');setcolor(12);outtextXY(50,460,'Вверх,Вниз-Движение Enter-Выбор');com:=#125;select;if (com=#13)and(i=1) thenbeginreadf('file.txt',false);help;end;if (com=#13)and(i=2) thenbeginreadf('edit.txt',false);select;end;if (com=#13)and(i=3) thenbeginreadf('search.txt',false);select;end;if (com=#13)and(i=4) thenbeginreadf('run.txt',false);select;end;if (com=#13)and(i=5) thenbeginreadf('debug.txt',false);select;end;if (com=#13)and(i=6) thenbeginreadf('compile.txt',false);select;end;if (com=#13)and(i=7) thenbeginreadf('options.txt',false);select;end;if (com=#13)and(i=8) thenbeginreadf('help1.txt',false);select;end;end;{--------------------КОНЕЦ ПРОЦЕДУРЫ---------------------------}------------------------------------------------------------ Процедура прорисовки главного окна программы ___________________________________________________________procedure main;begincleardevice;{-----ФЛАГ---------}setfillstyle(1,4);bar(0,0,640,240);setfillstyle(1,yellow);bar(0,210,640,480);{---КОНЕЦ ФЛАГА----}{-----------------прорисовка дискеты-----------------------------}setfillstyle(1,9);BAR (100,100,200,200);setfillstyle(1,8);BAR (105,105,110,110);BAR (190,105,195,110);setfillstyle(1,8);BAR (130,100,170,140);setfillstyle(1,15);BAR (120,150,180,180);setcolor (red);outtextxy (120,160,'COS+SIN=');outtextxy (120,190,'SUMSUNG');{------------------------------------------------------------------}setcolor (black);outtextxy (200,120,'---->A R C T G X');outtextxy (200,140,'---->A R C C T G X');outtextxy (200,160,'---->A R C S I N X');outtextxy (200,180,'---->A R C C O S X');setfillstyle(1,4);setfillstyle(1,yellow);setcolor(blue);bar3d(30,215,150,235,0,topoff);outtextXY(40,220,'v Информация');setcolor(red);outtextXY(50,250,'v Справка');outtextXY(60,280,'v Разработчик');outtextXY(70,310,'v Выход');SETFILLSTYLE (1,15);setcolor (black);settextstyle(9,0,15);bar3D (0,460,300,477,0,FALSE);outtextxy (40,465,'Вверх,Вниз-Движение');bar3D (320,460,638,477,0,FALSE);outtextxy (400,465,'Enter-Выбор');setfillstyle(1,yellow);setcolor(12);com:=#125;move;if (com=#13)and(i=3) thenbegingreator;eadkey;main;end;if (com=#13)and(i=1) thenbeginhelp;main;end;if (com=#13)and(i=2) thenbeginreadf('help.txt',false);main;end;end;{--------------------КОНЕЦ ПРОЦЕДУРЫ---------------------------}begininitgr;for y:=1 to 750 donew(txt[y]);main;for y:=1 to 750 dodispose(txt[y]);End.Приложение ГЭкранные формыРисунок Б.1 Экран приветствияРисунок Б.2 Вид главного менюРисунок Б.3 Вид окна о программеРисунок Б.4 Вид окна наглядного представления персонального компьютераРисунок Б.5 Вид окна информационно-справочного материала
Страницы: 1, 2
|