Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсач по информатике .doc
Скачиваний:
0
Добавлен:
28.04.2020
Размер:
292.35 Кб
Скачать

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

Program Kursovaya_rabota_Simonoff;

uses crt, graph;

type pip=array [1..320] of real;

var p:char;

kod1, kod2:integer;

y,c:pip; max,min:real; nmenu,i:integer; menu:array [1..8] of string;

fon, sim, ram:integer;

kart:text;

cvet_fona,cvet_simvola,cvet_tablici:integer;

{------------------------------------------------------}

Procedure Animaciya;

Type SMS=array[1..180] of integer;

var TLT2,SMR2,TLT,SMR:SMS;i,GM,GD:integer;

VAR R,RR:integer;

BEGIN

GD:=DETECT;

GM:=2;

R:=90;

RR:=60;

INITGRAPH (GD, GM, 'a:\bgi');

SETBKCOLOR(15);

CLEARDEVICE;

SETLINESTYLE(0,2,3);

SETCOLOR(1);

RECTANGLE(5,5,635,475);

repeat

FOR I:=1 TO 180 DO BEGIN

SETCOLOR(8);

TLT[I]:=round(R*cos(I*Pi/45));

SMR[I]:=round(R*sin(I*Pi/45));

TLT2[I]:=round(RR*cos(I*Pi/90));

SMR2[I]:=round(RR*sin(I*Pi/90));

Circle(320,240,70);

SETCOLOR(4);

Circle(320-TLT[i],240-SMR[i],20);

SETCOLOR(2);

Circle(320+TLT2[i],240-SMR2[i],10);

SETFILLSTYLE(1,1);

delay(1500);

setcolor(15);

Circle(320+TLT2[i],240-SMR2[i],10);

Circle(320-TLT[i],240-SMR[i],20);

SETFILLSTYLE(1,15);

end;

Until keypressed;

CLOSEGRAPH;

END;

{------------------------------------------------------}

Procedure graphic_funkcii(var y,c:pip; max,min:real);

Var dx,dy:real;

p:char;

i,xx,yy,gd,gm:integer;

Begin

GD:=detect; GM:=2;

InitGraph (GD,GM,'a:\BGI');

SetBkColor (12);

ClearDevice;

Rectangle (5,5,635,475);

SetColor (4);

Line (320,470,320,10);

MoveTo (320,10); LineRel (-10,10);

MoveTo (320,10); LineRel (10,10);

SetTextStyle (1,0,4); OutTextXY (330,5,'Y');

Line (10,240,630,240);

MoveTo (630,240); LineRel (-10,-10);

MoveTo (630,240); LineRel (-10,10);

OutTextXY (600,240,'X');

if abs(max)>abs(min) then dy:=abs(max) else dy:=abs(min);

if abs(c[1])>abs(c[320]) then dx:=abs(c[1]) else dx:=abs(c[320]);

for i:=1 to 320 do begin xx:=320+round((c[i]*310)/dx);

yy:=240-round((y[i]*230)/dy);

if i=1 then moveto(xx,yy) else lineto (xx,yy); end;

p:=readkey;

closegraph;

End;

{-----------------------------------------------------}

Procedure Zastavka(Var kart:text);

Var i:integer;

s:string;

Begin

TextBackGround(cvet_fona);

assign (kart,'a:\more.txt');

reset(kart);

clrscr;

while not eof(kart) do begin readln(kart,s);

writeln(s); end;

close(kart);

readln;

End;

{-----------------------------------------------------}

Procedure tabulaciya (Var y,c:pip);

Var x1,x2,x,dx,k,l,m,n,f:real;

a:integer;

Begin

textbackground(cvet_fona);

Clrscr;

textcolor(cvet_simvola);

Writeln('Vvedite parametri l,m,n,');

Readln(l,m,n);

Writeln('Vvedite nachalnoe znachenie');

Readln(x1);

Writeln('Vvedite konechnoe znachenie');

Readln(x2);

Clrscr;

x:=x1;

dx:=(x2-x1)/319;

k:=1;

For a:=1 to 320 do begin y[a]:=l*(1-n/Exp(abs(x)))*cos(m*x);

c[a]:=x;

x:=x+dx;

k:=k+1;

end;

End;

{-----------------------------------------------------}

Procedure Vibor_cveta;

Begin

Textbackground(cvet_fona);

window(1,1,80,25);

clrscr;

Textcolor(cvet_tablici);

GoToxy(2,1); Write('ЙНННННННННННННННННННЛННННННННН»');

GoToxy(2,2); Write('є');

Textcolor(cvet_simvola);

GoToxy(5,2); Write('Cvet');

Textcolor(cvet_tablici);

GoToxy(22,2); Write('є');

Textcolor(cvet_simvola);

GoToxy(24,2); Write(' Kod ');

Textcolor(cvet_tablici);

GoToxy(32,2); Write('є');

GoToxy(2,3); Write('є');

Textcolor(cvet_simvola);

GoToxy(5,3); Write('Chernii');

Textcolor(cvet_tablici);

GoToxy(22,3); Write('є');

Textcolor(cvet_simvola);

GoToxy(24,3); Write('0');

Textcolor(cvet_tablici);

GoToxy(32,3); Write('є');

GoToxy(2,4); Write('є');

Textcolor(cvet_simvola);

GoToxy(5,4); Write('Sinii');

Textcolor(cvet_tablici);

GoToxy(22,4); Write('є');

Textcolor(cvet_simvola);

GoToxy(24,4); Write('1');

Textcolor(cvet_tablici);

GoToxy(32,4); Write('є');

GoToxy(2,5); Write('є');

Textcolor(cvet_simvola);

GoToxy(5,5); Write('Zelenii');

Textcolor(cvet_tablici);

GoToxy(22,5); Write('є');

Textcolor(cvet_simvola);

GoToxy(24,5); Write('2');

Textcolor(cvet_tablici);

GoToxy(32,5); Write('є');

GoToxy(2,6); Write('є');

Textcolor(cvet_simvola);

GoToxy(5,6); Write('Golyboi');

Textcolor(cvet_tablici);

GoToxy(22,6); Write('є');

Textcolor(cvet_simvola);

GoToxy(24,6); Write('3');

Textcolor(cvet_tablici);

GoToxy(32,6); Write('є');

GoToxy(2,7); Write('є');

Textcolor(cvet_simvola);

GoToxy(5,7); Write('Krasnii');

Textcolor(cvet_tablici);

GoToxy(22,7); Write('є');

Textcolor(cvet_simvola);

GoToxy(24,7); Write('4');

Textcolor(cvet_tablici);

GoToxy(32,7); Write('є');

GoToxy(2,8); Write('є');

Textcolor(cvet_simvola);

GoToxy(5,8); Write('Fioletovii');

Textcolor(cvet_tablici);

GoToxy(22,8); Write('є');

Textcolor(cvet_simvola);

GoToxy(24,8); Write('5');

Textcolor(cvet_tablici);

GoToxy(32,8); Write('є');

GoToxy(2,9); Write('є');

Textcolor(cvet_simvola);

GoToxy(5,9); Write('Corichnevii');

Textcolor(cvet_tablici);

GoToxy(22,9); Write('є');

Textcolor(cvet_simvola);

GoToxy(24,9); Write('6');

Textcolor(cvet_tablici);

GoToxy(32,9); Write('є');

GoToxy(2,10); Write('є');

Textcolor(cvet_simvola);

GoToxy(5,10); Write('Svetlo serii');

Textcolor(cvet_tablici);

GoToxy(22,10); Write('є');

Textcolor(cvet_simvola);

GoToxy(24,10); Write('7');

Textcolor(cvet_tablici);

GoToxy(32,10); Write('є');

GoToxy(2,11); Write('є');

Textcolor(cvet_simvola);

GoToxy(5,11); Write('Temno serii');

Textcolor(cvet_tablici);

GoToxy(22,11); Write('є');

Textcolor(cvet_simvola);

GoToxy(24,11); Write('8');

Textcolor(cvet_tablici);

GoToxy(32,11); Write('є');

GoToxy(2,12); Write('є');

Textcolor(cvet_simvola);

GoToxy(5,12); Write('Svetlo sinii');

Textcolor(cvet_tablici);

GoToxy(22,12); Write('є');

Textcolor(cvet_simvola);

GoToxy(24,12); Write('9');

Textcolor(cvet_tablici);

GoToxy(32,12); Write('є');

GoToxy(2,13); Write('є');

Textcolor(cvet_simvola);

GoToxy(5,13); Write('Svetlo zelenii');

Textcolor(cvet_tablici);

GoToxy(22,13); Write('є');

Textcolor(cvet_simvola);

GoToxy(24,13); Write('10');

Textcolor(cvet_tablici);

GoToxy(32,13); Write('є');

GoToxy(2,14); Write('є');

Textcolor(cvet_simvola);

GoToxy(5,14); Write('Svetlo golyboi');

Textcolor(cvet_tablici);

GoToxy(22,14); Write('є');

Textcolor(cvet_simvola);

GoToxy(24,14); Write('11');

Textcolor(cvet_tablici);

GoToxy(32,14); Write('є');

GoToxy(2,15); Write('є');

Textcolor(cvet_simvola);

GoToxy(5,15); Write('Svetlo krasnii');

Textcolor(cvet_tablici);

GoToxy(22,15); Write('є');

Textcolor(cvet_simvola);

GoToxy(24,15); Write('12');

Textcolor(cvet_tablici);

GoToxy(32,15); Write('є');

GoToxy(2,16); Write('є');

Textcolor(cvet_simvola);

GoToxy(5,16); Write('Svetlo Fioletovii');

Textcolor(cvet_tablici);

GoToxy(22,16); Write('є');

Textcolor(cvet_simvola);

GoToxy(24,16); Write('13');

Textcolor(cvet_tablici);

GoToxy(32,16); Write('є');

GoToxy(2,17); Write('є');

Textcolor(cvet_simvola);

GoToxy(5,17); Write('Gholtii');

Textcolor(cvet_tablici);

GoToxy(22,17); Write('є');

Textcolor(cvet_simvola);

GoToxy(24,17); Write('14');

Textcolor(cvet_tablici);

GoToxy(32,17); Write('є');

GoToxy(2,18); Write('є');

Textcolor(cvet_simvola);

GoToxy(5,18); Write('Belii');

Textcolor(cvet_tablici);

GoToxy(22,18); Write('є');

Textcolor(cvet_simvola);

GoToxy(24,18); Write('15');

Textcolor(cvet_tablici);

GoToxy(32,18); Write('є');

Gotoxy(2,19); Writeln('ИНННННННННННННННННННКНННННННННј');

Readln;

Textcolor(cvet_simvola);

Writeln('Vvedi cvet_fona');

Readln(cvet_fona);

Writeln('Vvedi cvet_simvola');

Readln(cvet_simvola);

Writeln('Vvedi cvet_tablici');

Readln(cvet_tablici);

clrscr;

End;

{------------------------------------------------------}

procedure print_tab (var y,c:pip);

var i,k:integer;

Begin

Window(1,1,80,25);

Textbackground(cvet_fona);

Clrscr;

Textcolor(cvet_tablici);

k:=3;

Gotoxy(2,1);write(' ЙННННННННЛНННННННННННННННННННЛНННННННННННННННННН»');

Gotoxy(2,2);write(' є');

Textcolor(cvet_simvola);

Gotoxy(5,2); write('Elem.');

Textcolor(cvet_tablici);

Gotoxy(13,2); write('є');

Textcolor(cvet_simvola);

Gotoxy(15,2); write('Argument ');

Textcolor(cvet_tablici);

Gotoxy(33,2); write('є');

Textcolor(cvet_simvola);

Gotoxy(35,2); write('Functia');

Textcolor(cvet_tablici);

Gotoxy(52,2); write('є');

Gotoxy(2,3); write (' МННННННННОНННННННННННННННННННОНННННННННННННННННН№');

for i:=1 to 320 do

if i mod 20=0 then begin

k:=k+1;

Textcolor(cvet_tablici);

Gotoxy(4,k); write('є');

Textcolor(cvet_simvola);

Gotoxy(5,k); write (i:3);

Textcolor(cvet_tablici);

Gotoxy(13,k); write('є');

Textcolor(cvet_simvola);

Gotoxy(15,k); write(y[i]:10:2);

Textcolor(cvet_tablici);

Gotoxy(33,k); write('є');

Textcolor(cvet_simvola);

Gotoxy(35,k); write(c[i]:10:2);

Textcolor(cvet_tablici);

Gotoxy(52,k); write('є');

end;

Textcolor(cvet_tablici);

Gotoxy(2,20); write(' ИННННННННКНННННННННННННННННННКННННННННННННННННННј');

Readln;

Clrscr;

End;

{-----------------------------------------------------}

Procedure Extremum (Var y,c:pip; var Ymax,Ymin:real) ;

var i:integer;

Begin

CLRSCR;

Ymax:=Y[1];

Ymin:=Y[1];

For i:=2 to 320 do

begin if y[i]>Ymax then Ymax:=y[i];

if y[i]<Ymin then Ymin:=y[i]; end;

End;

Procedure Print_Extremum (Ymax,Ymin:real);

Begin

Window(1,1,80,25);

Textbackground(cvet_fona);

Clrscr;

Textcolor(cvet_tablici);

Gotoxy(1,2); write('ЙННННННННННННННННННННННННННННННННННННННННННННННН»');

Gotoxy(1,3); write('є');

Textcolor(cvet_simvola);

Gotoxy(3,3); write('Minimalnoe znachenie funkcii:',Ymin:10:2,'');

Textcolor(cvet_tablici);

Gotoxy(49,3); write('є');

Gotoxy(1,4); write('є');

Textcolor(cvet_simvola);

Gotoxy(3,4); write('Maksimalnoe znachenie funkcii:',Ymax:10:2,'');

Textcolor(cvet_tablici);

Gotoxy(49,4); write('є');

Gotoxy(1,5); write('ИНННННННННННННННННННННННННННННННННННННННННННННННј');

Readln;

End;

{-----------------------------------------------------}

Procedure Vivod_imeni (Var y,c:pip);

Var i:integer;

Begin

Clrscr;

Window (1,1,80,25);

TextBackGround (cvet_fona);

Clrscr;

Window (20,6,50,20);

TextBackGround (1);

Clrscr;

Window (19,5,49,19);

TextBackGround (cvet_tablici);

Clrscr;

GoToXY (4,3);textcolor(cvet_simvola);

Writeln (' \\SimonoFF// ');

Writeln (' Sergey ');

Writeln (' ');

Writeln (' ');

Writeln (' ');

Writeln (' gruppa 3102 ');

Writeln (' ');

Writeln (' ');

Writeln (' \\ Samara 2007 //');

Readln;

window(1,1,80,25);

Clrscr;

End;

{-------------------------------------------------------}

Begin

cvet_fona:=4;

cvet_simvola:=14;

cvet_tablici:=7;

Menu[1]:='1. Vibor cveta';

Menu[2]:='2. Tabulaciya funkcii';

Menu[3]:='3. Maksimalnoe i minimalnoe znachenie';

Menu[4]:='4. Grafic';

Menu[5]:='5. Zastavka';

Menu[6]:='6. Vipolnil';

Menu[7]:='7. Individualnoe zadanie';

Menu[8]:='8. Exit';

Nmenu:=1;

fon:=4; sim:=12; ram:=0;

Repeat;

TextBackGround (Fon);

Clrscr;

TextColor (sim);

For i:=1 to 8 do begin GoToXY (20,i+11); Write (menu[i]); end;

begin

TextBackGround (ram);

TextColor (fon);

GoToXY (20,nmenu+11); Write (menu[nmenu]);

kod1:=ord(readkey);

if kod1=0 then begin kod2:=ord(readkey);

if (kod2=80) and (nmenu<9) then nmenu:=nmenu+1;

if (nmenu=9) and (kod2=80) then nmenu:=1;

if (kod2=72) and (nmenu>0) then nmenu:=nmenu-1;

if (kod2=72) and (nmenu=0) then nmenu:=8;

end;

if kod1=13 then begin

if nmenu=1 then begin vibor_cveta; end;

if nmenu=2 then begin tabulaciya (y,c); print_tab (y,c); end;

if nmenu=3 then begin tabulaciya (y,c); extremum (y,c,max,min); print_extremum (max,min); end;

if nmenu=4 then begin tabulaciya (y,c); extremum (y,c,max,min); graphic_funkcii (y,c,max,min); readln;end;

if nmenu=5 then begin zastavka (kart);end;

if nmenu=6 then begin vivod_imeni (y,c); end;

if nmenu=7 then begin animaciya; end;

if nmenu=8 then exit;

end;

end;

until nmenu<0;

End.