Код
program pas;
uses crt;
const
nq = 11;
nok: array [1..nq] of Integer = (1,3,2,3,1,3,3,2,1,2,3);
sgoon = 'Для продолжения нажмите клавишу Enter';
var otv,x,y,ires,nprav,i:integer;
ch: Char;
a:string;
samotv,prav:array[1..nq] of integer;
b: Boolean;
s: String;
nrep: array [1..nq] of Integer;
function GetRep: Integer;
const
imin = 1;
imax = 3;
begin
x:=WhereX; y:=WhereY;
{if imin > imax then begin
i:=imin;
imin:=imax;
imax:=i;
end;}
repeat
readln(s);
Val(s, ires, i);
b := (ires >= imin) and (ires <= imax) and (i = 0);
if not b then begin
GotoXY(x+Length(s)+2, y);
writeln(#27' Ошибка ввода ответа');
write('Для продолжения нажмите любую клавишу ');
repeat until KeyPressed;
while KeyPressed do Readkey;
GotoXY(x, y); ClrEol;
writeln; ClrEol; GotoXY(x, y);
end;
until b;
GetRep:=ires;
end; {GetRep}
begin
repeat
nprav:=0;
clrscr;
textcolor(22);
gotoxy(1,1);
write('Clane Company');
textcolor(22);
gotoxy(58,1);
write('e-mail:clane@online.ru');
textcolor(15);
gotoxy(29,2);
write('┌────────────┐');
gotoxy(29,3);
write('│ │');
gotoxy(29,4);
write('└────────────┘');
gotoxy(30,3);
write('Version 1.0');
textcolor(15);
gotoxy (25,12);
write('Это тест по географии ');
gotoxy(20,23);
write(sgoon);
readln;
clrscr;
textcolor(15);
gotoxy (25,12);
write('Тест по столицам Азии');
gotoxy(20,23);
write(sgoon);
readln;
clrscr;
gotoxy(25,10);
write ('Вопрос номер 1: ');
gotoxy (25,12);
write('Назовите столицу России ? ');
gotoxy(20,14);
write('1) Москва; ');
gotoxy(20,16);
write('2) Тверь; ');
gotoxy(20,18);
write('3) Саратов; ');
gotoxy(25,24);
write('Ваш ответ : ');
nrep[1]:=GetRep;
if nrep[1] = nok[1] then nprav:=nprav+1;
clrscr; gotoxy(25,10);
write ('Вопрос номер 2: ');
gotoxy(25,12);
write('Назовите столицу Италии ? ');
gotoxy(20,14);
write('1) Милан; ');
gotoxy(20,16);
write('2) Венеция; ');
gotoxy(20,18);
write('3) Рим; ');
gotoxy(25,24);
write('Ваш ответ : ');
nrep[2]:=GetRep;
if nrep[2] = nok[2] then nprav:=nprav+1;
clrscr; gotoxy(25,10);
write ('Вопрос номер 3: ');
gotoxy (25,12);
write('Назовите столицу Испании ? ');
gotoxy(20,14);
write('1) Сарагоса; ');
gotoxy(20,16);
write('2) Мадрид; ');
gotoxy(20,18);
write('3) Валенсия; ');
gotoxy(25,24);
write('Ваш ответ : ');
nrep[3]:=GetRep;
if nrep[3] = nok[3] then nprav:=nprav+1;
clrscr; gotoxy(25,10);
write ('Вопрос номер 4: ');
gotoxy (25,12);
write('Назовите столицу Франции ? ');
gotoxy(20,14);
write('1) Нант; ');
gotoxy(20,16);
write('2) Лион; ');
gotoxy(20,18);
write('3) Париж; ');
gotoxy(25,24);
write('Ваш ответ : ');
nrep[4]:=GetRep;
if nrep[4] = nok[4] then nprav:=nprav+1;
clrscr; gotoxy(25,10);
write ('Вопрос номер 5: ');
gotoxy (25,12);
write('Назовите столицу Германии ? ');
gotoxy(20,14);
write('1) Берлин; ');
gotoxy(20,16);
write('2) Бонн; ');
gotoxy(20,18);
write('3) Мюнхен; ');
gotoxy(25,24);
write('Ваш ответ : ');
nrep[5]:=GetRep;
if nrep[5] = nok[5] then nprav:=nprav+1;
clrscr; gotoxy(25,10);
write ('Вопрос номер 6: ');
gotoxy (25,12);
write('Назовите столицу Англии ? ');
gotoxy(20,14);
write('1) Ковентри; ');
gotoxy(20,16);
write('2) Бирмингем; ');
gotoxy(20,18);
write('3) Лондон; ');
gotoxy(25,24);
write('Ваш ответ : ');
nrep[6]:=GetRep;
if nrep[6] = nok[6] then nprav:=nprav+1;
clrscr; gotoxy(25,10);
write ('Вопрос номер 7: ');
gotoxy (25,12);
write('Назовите столицу Греции ? ');
gotoxy(20,14);
write('1) Салоники; ');
gotoxy(20,16);
write('2) Патры; ');
gotoxy(20,18);
write('3) Афины; ');
gotoxy(25,24);
write('Ваш ответ : ');
nrep[7]:=GetRep;
if nrep[7] = nok[7] then nprav:=nprav+1;
clrscr; gotoxy(25,10);
write ('Вопрос номер 8: ');
gotoxy (25,12);
write('Назовите столицу Норвегии ? ');
gotoxy(20,14);
write('1) Тронхейм; ');
gotoxy(20,16);
write('2) Осло; ');
gotoxy(20,18);
write('3) Одда; ');
gotoxy(25,24);
write('Ваш ответ : ');
nrep[8]:=GetRep;
if nrep[8] = nok[8] then nprav:=nprav+1;