Подскажите как в этой программе сделать что бы из 10вопросов без повторений выбиралось 5.
Код:
Program SimplMenu;
uses crt,dos;
const
k=2;
NameRegime:array[1..k]of string[50]=('1-Начать тест',
'2-Выход');
var
ch:char;
i,j:byte;
s,x,x1,x2,x3,x4,x5,x6,x7,x8,x9:integer;
procedure Zastavka;
begin
clrscr;
window(10,5,70,18);
gotoxy(23,2);
textcolor(14);
write('Программа тест');
gotoxy(13,7);
write('по теме "Основные елементы программы"');
gotoxy(28,14);
write('2011');
ch:=readkey;
clrscr;
end;
procedure test;
begin
clrscr;
s:=0;
textcolor(14);
writeln('Вам предлогается тест по ТербоПаскалю на тему "Основные операторы и елементы программы"');
TextColor(5);
writeln('1) Алгоритм - это:');
writeln ('1-правила выполнения определенных действий');
writeln ('2-ориентированный граф, указывающий порядок исполнения некоторого набора команд');
writeln ('3-понятное,точное предписание исполнителю совершить последовательность действий для достижения поставленных целей');
writeln ('4-набор команд для компьютера');
writeln ('5-протокол вычислительной сети');
readln(x);
if x=3 then s:=s+1 else S:=s+0;
textcolor(4);
writeln('Переменная в программировании полностью характеризуется:');
writeln('1-именем');
writeln('2-именем, значением и типом');
writeln('3-именем и типом');
writeln('4-именем и значением');
writeln('5-значением');
readln(x1);
if x1=3 then s:=s+1 else S:=s+0 ;
textcolor(5);
writeln('Укажите синтаксически неправильную запись:');
writeln('1-X=Y*SIN(X)^2+4');
writeln('2-X=Y*SIN^2(X)+4');
writeln('3-X=Y*SIN(X^2)+4');
writeln('4-X=Y^2*SIN(X)+4');
readln(x2);
if x2=1 then s:=s+1 else S:=S+0;
textcolor(4);
writeln('Вещественные числа в языке Pascal могут иметь вид:');
writeln('1- только с фиксированной точкой');
writeln('2- исключительно с плавающей точкой');
writeln('3- с фиксированной и плавающей точкой');
readln(x3);
if x3=3 then s:=s+1 else S:=S+0;
textcolor(5);
writeln('Служебное слово TYPE в программе на языке Pascal фиксирует:');
writeln('1-начало раздела программы, содержащего описание сложных типов данных');
writeln('2-начало раздела программы, содержащего перечень констант');
writeln('3-начало раздела программы, содержащего список меток');
writeln('4-начало раздела программы, содержащего описание переменных');
readln(x4);
if x4=2 then s:=s+1 else S:=s+0;
textcolor(4);
writeln('Служебное слово VAR в программе на языке Pascal фиксирует начало раздела программы, содержащего:');
writeln('1-операторы');
writeln('2-список меток;');
writeln('3-описание сложных типов данных');
writeln('4-перечень констант');
writeln('5-описание переменных');
readln(x5);
if x5=4 then s:=s+1 else S:=s+0 ;
textcolor(5);
writeln('Служебное слово VAR в программе на языке Pascal фиксирует:');
writeln('1-начало раздела программы, содержащего перечень констант');
writeln('2-начало раздела программы, содержащего список меток');
writeln('3-начало раздела программы, содержащего описание сложных типов данных');
writeln('4-начало раздела программы, содержащего описание переменных');
readln(x6);
if x6=1 then s:=s+1 else S:=S+0;
textcolor(4);
writeln('В алфавит языка Pascal не входит служебное слово:');
writeln(' 1-THEN');
writeln('2-BEGIN');
writeln('3-END');
writeln('4-STEP');
writeln('5-IF');
readln(x7);
if x7=2 then s:=s+1 else S:=S+0 ;
textcolor(5);
writeln('Числа в языке Pascal различаются:');
writeln('1-) как натуральные и целые');
writeln('2-как целые и вещественные');
writeln('3-как натуральные и вещественные');
writeln('4-как целые и иррациональные');
writeln('5-как целые и рациональные');
readln(x8);
if x8=3 then s:=s+1 else S:=s+0 ;
textcolor(4);
writeln('Формальные параметры процедуры:');
writeln(' 1-описываются в ее заголовке');
writeln('2-перечисляются при вызове процедуры');
writeln('3-указываются при описании данных в програ');
writeln('4-декларируются при описании промежуточных переменных процедуры');
writeln('5-присваиваются в процессе выполнения программы');
readln(x9);
if x9=1 then s:=s+1 else S:=S+0;
textcolor(7);
writeln('ваши баллы=',S);
readkey;
end;
Begin
Zastavka;
while True do
begin
clrscr;
gotoxy(24,4);
write('ГЛАВНОЕ МЕНЮ');
for j:=1 to 3 do
begin
gotoxy(15,7+j);
write(NameRegime[j]);
end;
gotoxy(15,11);
write('Введите номер режима и нажмите <Enter>');
readln(i);
case i of
1:test;
2:begin clrscr; Halt end
else
begin
gotoxy(20,20);
write('Такого режима нет в меню.Повторите!');
Delay(1000);
end;
end;
end;
End.