Смекни!
smekni.com

Среда программирования программы Borland Pascal 70 (стр. 2 из 4)



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

Основная программа

usesCRT, Graph, Mouse, DOS, Entr;

type q = record

a: string[72];

end;

var

f1,f2,f3,f4: text;

mas: array[1..9] of q;

e: array[1..670] of string[72];

i,j,x,y,sum,timer: integer;

z,mark,s1,s2,s3,s4: string;

procedure GraphInit;

var Driver, Mode, Error: integer;

begin

Driver:=Detect;

InitGraph(Driver,Mode,'');

Error:=GraphResult;

if Error<>grok then

begin

Writeln(GraphErrorMsg(Error));

halt;

end;

end;

function ButtonPressed(x1,y1,x2,y2:integer):boolean;

{функция на проверку нажатия кнопки}

var

Mx,My:integer;

ctt:integer;

begin

GetMouse;

ButtonPressed:= (but=1)and(m>x1)and(m<x2)and(n>y1)and(n<y2);

end;

procedure Face; {прорисовкаинтерфейса}

begin

SetFillStyle(1,10);

Bar(10,10,GetMaxx-10,GetMaxy-10);

SetColor(15);

Line(20,20,620,20);

Line(20,20,20,150);

SetColor(0);

Line(620,20,620,150);

Line(20,150,620,150);

SetColor(15);

Line(20,195,450,195);

Line(20,195,20,210);

SetColor(0);

Line(20,210,450,210);

Line(450,195,450,210);

SetColor(15);

Line(20,215,450,215);

Line(20,215,20,230);

SetColor(0);

Line(20,230,450,230);

Line(450,215,450,230);

SetColor(15);

Line(20,235,450,235);

Line(20,235,20,250);

SetColor(0);

Line(20,250,450,250);

Line(450,235,450,250);

SetColor(15);

Line(20,255,450,255);

Line(20,255,20,270);

SetColor(0);

Line(20,270,450,270);

Line(450,255,450,270);

OutTextxy(35,340,'время');

OutTextxy(140,340,'ответ');

SetColor(15);

Line(20,390,100,390);

Line(100,360,100,390);

Line(120,390,200,390);

Line(200,360,200,390);

SetFillStyle(1,0);

Bar(20,360,99,389);

Bar(120,360,199,389);

SetColor(15);

Line(520,430,600,430);

Line(520,430,520,460);

SetColor(0);

Line(520,460,600,460);

Line(600,430,600,460);

OutTextxy(540,440,'ВЫХОД');

SetColor(15);

Line(420,430,500,430);

Line(420,430,420,460);

SetColor(0);

Line(420,460,500,460);

Line(500,430,500,460);

OutTextxy(430,440,'Уровень4');

SetColor(15);

Line(320,430,400,430);

Line(320,430,320,460);

SetColor(0);

Line(320,460,400,460);

Line(400,430,400,460);

OutTextxy(330,440,'Уровень3');

SetColor(15);

Line(220,430,300,430);

Line(220,430,220,460);

SetColor(0);

Line(220,460,300,460);

Line(300,430,300,460);

OutTextxy(230,440,'Уровень2');

SetColor(15);

Line(120,430,200,430);

Line(120,430,120,460);

SetColor(0);

Line(120,460,200,460);

Line(200,430,200,460);

OutTextxy(130,440,'Уровень1');

Initmouse;

Showmouse;

SetMouseYRange(0,438);

end;

procedure Question1; forward;

procedure Question2; forward;

procedure Question3; forward;

procedure Question4; forward;

procedure PressButton;{Нажатиекнопкиспомощьюмыши}

begin

repeat

if buttonpressed(420,430,500,450) then

begin

HideMouse;

SetColor(0);

Line(420,430,500,430);

Line(420,430,420,460);

SetColor(15);

Line(420,460,500,460);

Line(500,430,500,460);

OutTextxy(440,440,'Уровень4');

Question4;

ShowMouse;

PressButton;

end;

if buttonpressed(320,430,400,450) then

begin

HideMouse;

SetColor(0);

Line(320,430,400,430);

Line(320,430,320,460);

SetColor(15);

Line(320,460,400,460);

Line(400,430,400,460);

OutTextxy(330,440,'Уровень3');

Question3;

ShowMouse;

PressButton;

end;

if buttonpressed(220,430,300,450) then

begin

HideMouse;

SetColor(0);

Line(220,430,300,430);

Line(220,430,220,460);

SetColor(15);

Line(220,460,300,460);

Line(300,430,300,460);

OutTextxy(230,440,'Уровень2');

Question2;

ShowMouse;

PressButton;

end;

if buttonpressed(120,430,200,450) then

begin

HideMouse;

SetColor(0);

Line(120,430,200,430);

Line(120,430,120,460);

SetColor(15);

Line(120,460,200,460);

Line(200,430,200,460);

OutTextxy(130,440,'Уровень1');

Question1;

ShowMouse;

PressButton;

end;

if buttonpressed(520,430,600,450) then

begin

SetColor(15);

Line(520,430,600,430);

Line(520,430,520,460);

SetColor(0);

Line(520,460,600,460);

Line(600,430,600,460);

OutTextxy(540,440,'ВЫХОД');

Halt;

end;

until false;

end;

procedure Question4;

begin

Face;

Assign(f4,'file4.txt');

Reset(f4);

begin

timer:=0;

sum:=0;

for j:=1 to 10 do

begin

Face;

HideMouse;

SetColor(0);

Line(420,430,500,430);

Line(420,430,420,460);

SetColor(15);

Line(420,460,500,460);

Line(500,430,500,460);

OutTextxy(430,440,'Уровень4');

ShowMouse;

i:=1;

y:=50;

x:=30;

repeat

Readln(f4,mas[i].a);

SetColor(0);

OutTextxy(x,y,mas[i].a);

if i=4 then y:=y+90 else

y:=y+20;

i:=i+1;

until i=10;

timer:=0;

repeat

timer:=timer+1;

OutTextxy(50,370,s4);

Delay(50000);

SetColor(15);

Str(timer:2,s4);

OutTextxy(50,370,s4);

SetFillStyle(1,0);

Bar(20,360,99,389);

until timer=90;

Face;

HideMouse;

SetColor(0);

Line(420,430,500,430);

Line(420,430,420,460);

SetColor(15);

Line(420,460,500,460);

Line(500,430,500,460);

OutTextxy(430,440,'Уровень4');

ShowMouse;

SetFillStyle(1,10);

Bar(35,25,45,35);

Str(j:2,s1);

SetColor(0);

OutTextxy(40,30,s1);

Readln(f4,mas[i].a);

SetFillStyle(1,0);

Bar(120,360,199,389);

SetColor(15);

OutTextxy(150,373,'і');

TextColor(15);

Gotoxy(20,24);

Readln(z);

if z=mas[i].a then sum:=sum+1;

end;

if sum<4 then mark:='2';

if (sum>=4) and (sum<6) then mark:='3';

if (sum>=6) and (sum<8) then mark:='4';

if sum>=8 then mark:='5';

SetColor(0);

SetTextStyle(0,0,1);

OutTextxy(360,320,mark);

OutTextxy(250,320,'Вашаоценка - ');

Str(sum:2,s3);

OutTextxy(250,340,'Правильные ответы - ');

OutTextxy(400,340,s3);

end;

Close(f4);

end;

procedure Question3;

begin

Face;

Assign(f3,'file3.txt');

Reset(f3);

begin

timer:=0;

sum:=0;

for j:=1 to 20 do

begin

Face;

HideMouse;

SetColor(0);

Line(320,430,400,430);

Line(320,430,320,460);

SetColor(15);

Line(320,460,400,460);

Line(400,430,400,460);

OutTextxy(330,440,'Уровень3');

ShowMouse;

i:=1;

y:=50;

x:=30;

repeat

Readln(f3,mas[i].a);

SetColor(0);

OutTextxy(x,y,mas[i].a);

if i=4 then y:=y+90 else

y:=y+20;

i:=i+1;

until i=10;

timer:=0;

repeat

timer:=timer+1;

OutTextxy(50,370,s4);

Delay(50000);

SetColor(15);

Str(timer:2,s4);

OutTextxy(50,370,s4);

SetFillStyle(1,0);

Bar(20,360,99,389);

until timer=30;

Face;

SetColor(0);

Line(320,430,400,430);

Line(320,430,320,460);

SetColor(15);

Line(320,460,400,460);

Line(400,430,400,460);

OutTextxy(330,440,'Уровень3');

ShowMouse;

SetFillStyle(1,10);

Bar(35,25,45,35);

Str(j:2,s1);

SetColor(0);

OutTextxy(40,30,s1);

Readln(f3,mas[i].a);

SetFillStyle(1,0);

Bar(120,360,199,389);

SetColor(15);

OutTextxy(150,373,'і');

TextColor(15);

Gotoxy(20,24);

Readln(z);

if z=mas[i].a then sum:=sum+1;

end;

if sum<10 then mark:='2';

if (sum>=10) and (sum<15) then mark:='3';

if (sum>=15) and (sum<17) then mark:='4';

if sum>=17 then mark:='5';

SetColor(0);

SetTextStyle(0,0,1);

OutTextxy(360,320,mark);

OutTextxy(250,320,'Вашаоценка - ');

Str(sum:2,s3);

OutTextxy(250,340,'Правильные ответы - ');

OutTextxy(400,340,s3);

end;

Close(f3);

end;

procedure Question2;

begin

Face;

Assign(f2,'file2.txt');

Reset(f2);

begin

timer:=0;

sum:=0;

for j:=1 to 30 do

begin

Face;

HideMouse;

SetColor(0);

Line(220,430,300,430);

Line(220,430,220,460);

SetColor(15);

Line(220,460,300,460);

Line(300,430,300,460);

OutTextxy(230,440,'Уровень2');

ShowMouse;

i:=1;

y:=50;

x:=30;

repeat

Readln(f2,mas[i].a);

SetColor(0);

OutTextxy(x,y,mas[i].a);

if i=4 then y:=y+90 else

y:=y+20;

i:=i+1;

until i=10;

timer:=0;

repeat

timer:=timer+1;

OutTextxy(50,370,s4);

Delay(50000);

SetColor(15);

Str(timer:2,s4);

OutTextxy(50,370,s4);

SetFillStyle(1,0);

Bar(20,360,99,389);

until timer=30;

Face;

HideMouse;

SetColor(0);

Line(220,430,300,430);

Line(220,430,220,460);

SetColor(15);

Line(220,460,300,460);

Line(300,430,300,460);

OutTextxy(230,440,'Уровень2');

ShowMouse;

SetFillStyle(1,10);

Bar(35,25,45,35);

Str(j:2,s1);

SetColor(0);

OutTextxy(40,30,s1);

Readln(f2,mas[i].a);

SetFillStyle(1,0);

Bar(120,360,199,389);

SetColor(15);

OutTextxy(150,373,'і');

TextColor(15);

Gotoxy(20,24);

Readln(z);

if z=mas[i].a then sum:=sum+1;

end;

if sum<15 then mark:='2';

if (sum>=15) and (sum<20) then mark:='3';

if (sum>=20) and (sum<25) then mark:='4';

if sum>=25 then mark:='5';

SetColor(0);

SetTextStyle(0,0,1);

OutTextxy(360,320,mark);

OutTextxy(250,320,'Вашаоценка - ');

Str(sum:2,s3);

OutTextxy(250,340,'Правильные ответы - ');

OutTextxy(400,340,s3);

end;

Close(f2);

end;

procedure Question1;

begin

Face;

Assign(f1,'file1.txt');

Reset(f1);

begin

timer:=0;

sum:=0;

for j:=1 to 20 do

begin

Face;

HideMouse;

SetColor(0);

Line(120,430,200,430);

Line(120,430,120,460);

SetColor(15);

Line(120,460,200,460);

Line(200,430,200,460);

OutTextxy(130,440,'Уровень1');

ShowMouse;

i:=1;

y:=50;

x:=30;

repeat

Readln(f1,mas[i].a);

SetColor(0);

OutTextxy(x,y,mas[i].a);

if i=4 then y:=y+90 else

y:=y+20;

i:=i+1;

until i=10;

timer:=0;

repeat

timer:=timer+1;

OutTextxy(50,370,s4);

Delay(50000);

SetColor(15);

Str(timer:2,s4);

SetFillStyle(1,0);

Bar(20,360,99,389);

until timer=30;

Face;

SetColor(0);

Line(120,430,200,430);

Line(120,430,120,460);

SetColor(15);

Line(120,460,200,460);

Line(200,430,200,460);

OutTextxy(130,440,'Уровень1');

ShowMouse;

SetFillStyle(1,10);

Bar(35,25,45,35);

Str(j:2,s1);

SetColor(0);

OutTextxy(40,30,s1);

Readln(f1,mas[i].a);

SetFillStyle(1,0);

Bar(120,360,199,389);

SetColor(15);

OutTextxy(150,373,'і');

TextColor(15);

Gotoxy(20,24);

Readln(z);

if z=mas[i].a then sum:=sum+1;

end;

if sum<10 then mark:='2';

if (sum>=10) and (sum<15) then mark:='3';

if (sum>=15) and (sum<17) then mark:='4';

if sum>=17 then mark:='5';

SetColor(0);

SetTextStyle(0,0,1);

OutTextxy(360,320,mark);

OutTextxy(250,320,'Вашаоценка - ');

Str(sum:2,s3);

OutTextxy(250,340,'Правильные ответы - ');

OutTextxy(400,340,s3);

end;

Close(f1);

end;

" " " " " " " " " " " " " " " " " " "Телопрограммы" " " " " " " " " " " " " " " "

Begin

GraphInit;

Enter;

SetTextStyle(0,0,1);

Face;

PressButton;

Readln;

End.

Модуль Entr

unit Entr;

interface

uses CRT, Graph;

var

x,y,i,j,a,b:integer;

procedure Enter;

implementation

procedure Enter;

begin

x:=325; y:=225;

for i:=1 to 300 do

begin

for j:=5 to 1000 do

Delay(5);

PutPixel(random(640),random(480),15);

end;

x:=325; y:=225;

for i:=1 to 3000 do

begin

Delay(5);

for j:=5 to 1000 do

SetColor(random(16));

Line (x,y,random(800),random(600));

end;

for i:=1 to 100 do

begin

SetTextStyle(0,0,3);

SetColor(0);

OutTextxy(110,140,'ДОБРО ПОЖАЛОВАТЬ');

OutTextxy(140,170,'В ТЕСТИРУЮЩУЮ');

OutTextxy(160,200,'ЛАБАРАТОРИЮ');

OutTextxy(170,250,'ПРОФЕССОРА');

SetTextStyle(0,0,4);

SetColor(15);

OutTextxy(150,300,'АЛХИМИКУСА');

end;

SetFillStyle(1,0);

Bar(0,0,GetMaxx,GetMaxy);

end;

End.

Входные файлы

Файл1

Поглощение одного вещества во всем объеме.

1 адсорбция

2 абсорбция

3 десорбция

4 элюция

2

Способность атомов соединяться с другими атомами в определенных соотношениях.

1 электроотрицательность

2 восстановление

3 полярность

4 валентность

4

Какой объем занимает один моль любого газа?

1 23.2л

2 22.4л

3 24.4л

4 22.2л

2

Каждый отдельный вид материи, обладающий при данных условиях определенными физическими свойствами.

1 кислород

2 вещество

3 вода

4 элемент

2

Явления при которых образуются новые.