Вот, написал, вроде работает:
Код:
Program Diktant;
Uses Graph, CRT;
Var
clovo:string;
variant, ocenka,n:Integer;
nbukva,bukva:Char;
gd, gm:Integer;
Font: Integer;
index:array [1..10] of boolean; { false - трЁшрэЄ єцх с_ы, true - эх с_ы }
words:array [1..10] of string;
letters: array [1..10] of char;
i, k, nindex:Integer;
Begin
gd:=Detect;
InitGraph(gd,gm,'');
SetBkColor(7);
SetColor(LightGreen);
Font:=InstallUserFont('Brus');
SetTextStyle(Font, 0, 3);
OutTextXY(115, 240, 'СЛОВАРНЫЙ ДИКТАНТ');
OutTextXY(115, 340,'НАЖМИ КЛАВИШУ ВВОД');
ReadLn;
{ слова: }
words[1] := 'Б...реза';
words[2] := 'Быстр...';
words[3] := 'Вдру...';
words[4] := 'Весел...';
words[5] := 'Вет...р';
words[6] := 'В...робей';
words[7] := 'В...рон ';
words[8] := 'Гор...д';
words[9] := 'Дев...чка';
words[10] := 'Д...журный';
{ Строка пропущенных букв: }
letters := 'еогоеоооое';
ClearDevice;
for i:=1 to 10 do
index[i] := true;
Randomize;
ocenka:=0;
nindex := 10;
Repeat
k:=Random(11);
If not index[k] Then
continue;
nbukva:=letters[k];
index[k] := false;
OutTextXY(250,240,words[k]);
bukva:=readkey;
If bukva=nbukva then
ocenka:=ocenka+1;
ClearDevice;
nindex := nindex - 1;
Until nindex = 0;
if ocenka >= 9 then
OutTextXY(125, 240,'Ваша оценка 5')
else if ocenka >= 7 then
OutTextXY(125, 240,'Ваша оценка 3')
else
OutTextXY(125, 240,'Ваша оценка 2');
ReadLn;
end.
Если что-нить не понятно как тут что происходит - спрашивайте, постараюсь ответить. Удачи Вам в нелегком деле воспитания подрастающего поколения