Обучающая программа Графика программированию в графическом режиме на языке 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