Обучающая программа Графика программированию в графическом режиме на языке turbo-pascal 7.x

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

"> If IOResult<>0 then Writeln(Нет файла Iod.pas);

OKNO1; {заставка "Контрольные вопросы"}

readkey;

ClearDevice;

Randomize; {Выбор четырех номеров вопросов}

For J:=0 to 3 do

begin

1:I:=Random(10);

If I=0 then GOTO 1;

For K:=0 to J-1 do

begin

If M[k]=I then GOTO 1;

end;

M[J]:=I;

end;

repeat

OKNO;

begin

Read(F32,At);

R1:=StrPas(At.P2); {Преобразование ASCIIZ-строки At.P2 в строку

типа string}

Val(R1,Z1,Code); {Преобразование символьного представления

номера вопроса в двоичную форму}

Y:=20;

If(Z1=M[0]) or (Z1=M[1]) or (Z1=M[2]) or (Z1=M[3]) then

begin

repeat

S:=StrPas(At.P3); {Преобразование ASCIIZ-строки At.P3 в строку

типа string}

OutTextXY(20,Y,S); {Вывод текста вопроса}

case At.P1 of {иллюстрации к тексту вопросов}

1:begin

DrawPoly(5,Ww);

DrawPoly(5,Www);

Bar3D(410,100,470,120,20,true);

Bar3D(410,120,470,250,20,false)

end;

2:begin

Bar3D(200,250,300,300,30,true);

Bar3D(200,300,300,320,30,true)

end;

3:begin

Line(380,150,550,190);

Line(380,190,550,190);

Line(380,230,550,190);

OutTextXY(375,140,(X,Y));

OutTextXY(375,170,dY);

OutTextXY(555,190,(X1,Y1));

OutTextXY(375,200,dY);

end;

end;

Y:=Y+10;

Read(F32,At);

until At.P1=*;

2:OutTextXY(50,330,ВВЕДИТЕ НОМЕР ПРАВИЛЬНОГО ОТВЕТА ___);

CH:=ReadKey;

SetColor(4);

OutTextXY(320,325,CH);

SetColor(1);

readkey;

If(CH4) then

begin

SetFillStyle(1,11);

Bar(318,320,327,340);

GoTo 2;

end

else

repeat

Read(F33,Atr);

R2:=StrPas(Atr.P2); {Преобразование ASCIIZ-строки Atr.P2 в

строку типа string }

Val(R2,Z2,Code); {Преобразование символьного представления

номера вопроса в двоичную форму}

If Z2=Z1 then

begin

repeat

If Atr.P3=CH then

begin

Y:=100;

OKNO;

repeat

Stt:=StrPas(Atr.P4); {Преобразование ASCIIZ-строки Atr.P4

в строку типа string }

R5:=StrPas(Atr.P5); {Преобразование ASCIIZ-строки Atr.P5

в строку типа string }

Val(R5,Z5,Code); {Преобразование символьного

представления оценки в двоичную форму}

REZ3:=Round((REZ3+Z5)/2); {Формирование оценки}

OutTextXY(20,Y,Stt); {Вывод текста справки}

Y:=Y+10;

case Atr.P1 of {иллюстрации к тексту справок}

1:begin

Line(380,150,550,190);

MoveRel(380,190);

Line(380,190,550,190);

LineTo(550,190);

OutTextXY(555,190,(X1,Y1));

OutTextXY(370,140,(X,Y));

OutTextXY(390,200,(X,Y+dY));

end;

2:begin

GOTOXY(100,190);

LineTo(100,190);

LineRel(30,40);

LineRel(0,80);

end;

3:begin

GOTOXY(100,190);

LineTo(380,150);

LineRel(30,40);

LineRel(0,80);

end;

end;

Read(F33,Atr);

until Atr.P3=*;

readkey;

GOTO 3;

end