Смекни!
smekni.com

Информационно-справочная система Устройство персонального компьютера (стр. 3 из 4)

Курсовая работа выполняется согласно графику, приведенному в таблице А.1.

А.2 Назначения создания программы ведения

Программа предназначена для обучения пользователя простейшим тригонометрическим функциям.

А.3 Требования к программе

А.3.1 Требования к программе в целом

В целом к программе предъявляются следующие требования:

- удобный и простой для пользования графический интерфейс;

- удобный способ ввода-вывода данных;

- контроль действий пользователя, связанные с работой программы;

- хранение информации во внешнем источнике данных;

- наличие справочной информации

А.3.2 Требования к задачам и функциям программного продукта

Программа должна реализовать следующие функции:

- удобный доступ к информационному материалу;

- вывод легко доступной для восприятия справочной информации;

А.3.3 Требования к программному обеспечению

Программа будет реализована на языке TurboPascal 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" вы можете выбрать функцию, которое вас интересует.

Справка:

Отображает справочное меню.

Разработчик:

Отображает информацию о разработчике.

Выход:

Используя этот пункт, вы можете выйти из программы.


Приложение В

Листинг программы

Programmy_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 драйверам }