А.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);

var

com:char;

str:string;

f:text; pos:integer;

n:integer;

i,j:integer;

begin

name:=concat('\TXT',name);

cleardevice;

worspece;

assign(f,name);

{$I-}

reset(f);

{$I+}

if IOresult<>0 then

begin

cleardevice;

textcolor(red);

outtext('Не найден файл, проверьте наличие файла на диске.');

readkey;

end

else

begin

n:=1;

while not eof(f) do {Read from Fille in Massiv}

begin

readln(f,str);

txt[n]^:=str;

n:=n+1;

end;

n:=n-1;

if n<=25 then

begin

pos:=40;

for j:=1 to n do

begin

outtextXY(40,20+pos,txt[j]^);

pos:=pos+10;

end;

repeat

until readkey=#27;

end

else

begin

pos:=40;

for j:=1 to 25 do

begin

outtextXY(40,20+pos,txt[j]^);

pos:=pos+10;

end;

i:=25;

while com<>#27 do

begin

com:=readkey;

if com=#72 then {///Up}

if i>=26 then

begin

worspece;

delay(60);

pos:=40;

for j:=i-26 to i-1 do

begin

outtextXY(40,20+pos,txt[j]^);

pos:=pos+10;

end;

i:=i-1;

end;

if com=#73 then {/// PageUp}

if i>=50 then

begin

pos:=40;

worspece;

delay(60);

for j:=i-49 to i-25 do

begin

outtextXY(40,20+pos,txt[j]^);

pos:=pos+10;

end;

i:=i-25;

end

else

if i<>25 then

begin

worspece;

delay(60);

pos:=40;

for j:=1 to 25 do

begin

outtextXY(40,20+pos,txt[j]^);

pos:=pos+10;

end;

i:=25;

end;

if com=#80 then {///Down}

if i<=n-1 then

begin

worspece;

delay(60);

pos:=40;

for j:=i-24 to i+1 do

begin

outtextXY(40,20+pos,txt[j]^);

pos:=pos+10;

end;

i:=i+1;

end;

if com=#81 then {/// PageDown}

if i<=n-25 then

begin

worspece;

delay(60);

pos:=40;

for j:=i to i+25 do

begin

outtextXY(40,20+pos,txt[j]^);

pos:=pos+10;

end;

i:=i+25;

end

else

if i<>n then

begin

worspece;

delay(60);

pos:=40;

for j:=n-25 to n do

begin

outtextXY(40,20+pos,txt[j]^);

pos:=pos+10;

end;

i:=n;

end;

end;

end;

end;

com:=#1;

end;

{----------------------КОНЕЦ-------------------------------}

{|----------------------------------------------|}

{| Процедура прорисовки окна выбора справки |}

{|______________________________________________|}

procedure select;

begin

setfillstyle(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;

repeat

com:=readkey;

if((i=1) and (com=#72)) then

begin

j:=i;

i:=i+7;

end

else

if((i=8) and (com=#80)) then

begin

j:=i;

i:=i-7;

end

else

f((y<>1) and (com=#72)) then

begin

j:=i;

i:=i-1;

end

else

f((y<>1) and (com=#80)) then

begin

j:=i;

i:=i+1;

end;

setcolor(blue);

case i of

1: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)) then

case j of

1:begin

setcolor(yellow);

bar3d(30,215,150,235,0,topoff);

setcolor(7);

outtextXY(40,220,'История');

end;

2:begin

setcolor(yellow);

bar3d(40,245,160,265,0,topoff);

setcolor(8);

outtextXY(50,250,'SIN X');

end;

3:begin

setcolor(yellow);

bar3d(50,275,170,295,0,topoff);

setcolor(9);

outtextXY(60,280,'COS X');

end;

4:begin

setcolor(yellow);

bar3d(60,305,180,325,0,topoff);

setcolor(10);

outtextXY(70,310,'tg X');

end;

5:begin

setcolor(yellow);

bar3d(70,335,190,355,0,topoff);

setcolor(11);

outtextXY(80,340,'ctg X');

end;

6:begin

setcolor(yellow);

bar3d(80,365,200,385,0,topoff);

setcolor(12);

outtextXY(90,370,'arctg X');

end;

7:begin

setcolor(yellow);

bar3d(90,395,210,415,0,topoff);

setcolor(13);

outtextXY(100,400,'arcctg X');

end;

8:begin

etcolor(yellow);

bar3d(100,425,220,445,0,topoff);

setcolor(17);

outtextXY(110,430,'Помощь');

end;

end;

until((com=#27) or (com=#13));

end;

{---------------КОНЕЦ----------------------------}

{|----------------------------------------------|}

{| Процедура построения рабочей области экрана |}

{|______________________________________________|}

procedure WorSpece;

begin

setcolor(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;

begin

cleardevice;

begin

i:=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;

begin

com:=#1;

i:=1;

j:=1;

repeat

com:=readkey;

if((i=1) and (com=#72)) then

begin

j:=i;

i:=i+3;

end

else

if((i=4) and (com=#80)) then

begin

j:=i;

i:=i-3;

end

else

if((y<>1) and (com=#72)) then

begin

j:=i;

i:=i-1;

end

else

if((y<>1) and (com=#80)) then

begin

j:=i;

i:=i+1;

end;

setcolor(blue);

case i of

1:begin bar3d(30,215,150,235,0,topoff); outtextXY(40,220,'√ Информация');end;

2:begin bar3d(40,245,160,265,0,topoff); outtextXY(50,250,'√ Справка');end;

3:begin bar3d(50,275,170,295,0,topoff); outtextXY(60,280,'√ Разработчик');end;

4:begin bar3d(60,305,180,325,0,topoff); outtextXY(70,310,'√ Выход');end;

end;

setcolor(red);

if ((com=#72) or (com=#80)) then

case j of

1:begin

setcolor(yellow);

ar3d(30,215,150,235,0,topoff);

setcolor(red);

outtextXY(40,220,'√ Информация');

end;

2:begin

setcolor(yellow);

bar3d(40,245,160,265,0,topoff);

setcolor(red);

outtextXY(50,250,'√ Справка');

end;

3:begin

setcolor(yellow);

bar3d(50,275,170,295,0,topoff);

setcolor(red);

outtextXY(60,280,'√ Разработчик');

end;

4:begin

setcolor(yellow);

bar3d(60,305,180,325,0,topoff);

setcolor(red);

outtextXY(70,310,'√ Выход');

end;

end;

 until(((com=#13) and (i=4))or (com=#13) or(com=#27));

end;

{--------------------КОНЕЦ ПРОЦЕДУРЫ--------------------------}

{|------------------------------------------------------------}

{| Процедура инициализации графики |}

{|___________________________________________________________|}

procedure initgr;

var GD,GM:integer;

begin

Gd:=Detect;

InitGraph(Gd, Gm, ' '); { Путь к BGI драйверам }

If GraphResult <> grOk Then

begin

writeln('Ошибка при подключении графики...');

halt(1);

end;

end;

{--------------------КОНЕЦ ПРОЦЕДУРЫ---------------------------}

{|-----------------------------------------------------------|}

{| Процедура прорисовки справочного окна программы |}

{|___________________________________________________________|}

procedure help;

begin

cleardevice;

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) then

begin

readf('file.txt',false);

help;

end;

if (com=#13)and(i=2) then

begin

readf('edit.txt',false);

select;

end;

if (com=#13)and(i=3) then

begin

readf('search.txt',false);

select;

end;

if (com=#13)and(i=4) then

begin

readf('run.txt',false);

select;

end;

if (com=#13)and(i=5) then

begin

readf('debug.txt',false);

select;

end;

if (com=#13)and(i=6) then

begin

readf('compile.txt',false);

select;

end;

if (com=#13)and(i=7) then

begin

readf('options.txt',false);

select;

end;

if (com=#13)and(i=8) then

begin

readf('help1.txt',false);

select;

end;

end;

{--------------------КОНЕЦ ПРОЦЕДУРЫ---------------------------}

{|------------------------------------------------------------}

{| Процедура прорисовки главного окна программы |}

{|___________________________________________________________|}

procedure main;

begin

cleardevice;

{-----ФЛАГ---------}

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,'√ Информация');

setcolor(red);

outtextXY(50,250,'√ Справка');

outtextXY(60,280,'√ Разработчик');

outtextXY(70,310,'√ Выход');

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) then

begin

greator;

eadkey;

main;

end;

if (com=#13)and(i=1) then

begin

help;

main;

end;

if (com=#13)and(i=2) then

begin

readf('help.txt',false);

main;

end;

end;

{--------------------КОНЕЦ ПРОЦЕДУРЫ---------------------------}

begin

initgr;

for y:=1 to 750 do

new(txt[y]);

main;

for y:=1 to 750 do

dispose(txt[y]);

End.



Приложение Г

Экранные формы

 

Рисунок Б.1 Экран приветствия

 

Рисунок Б.2 Вид главного меню

 

Рисунок Б.3 Вид окна о программе

Рисунок Б.4 Вид окна наглядного представления персонального компьютера

 

Рисунок Б.5 Вид окна информационно-справочного материала

Дата: 2019-12-22, просмотров: 214.