Попробуйте такой вариант:
Код:
uses crt;
var
a:string;
z: set of char;
n,n1,i,x,c:integer;
yn:char;
b:boolean;
begin
textbackground(black);
clrscr;
z:=['а','е','и','о','у','ы','э','ю','я'];
randomize;
n1:=0;
Repeat
x:=3;
c:=random(5)+2;
textcolor(white);
repeat
n:=0;
b:=false;
writeln('введите слово из ',c,' слогов ');
textcolor (white);
readln(a);
If a<>'' then
begin
for i:= 1 to length(a) do
if a[i] in z then n:=n+1;
if n=c then
begin
textcolor(green);
n1:=n1+n;
writeln('правильно! вы набрали ',n1,' балла(ов)');
b:=true;
end
else
begin
textcolor(red);
writeln('неверно!');
x:=x-1;
writeln('у вас осталось ',x,' попытки(ок)');
end;
end;
until b or (x=0) or (a='');
if x=0 then
begin
textcolor(green);
writeln('кол-во попыток = 0! игра закончена ');
writeln('вы набрали ',n1,' балла(ов) ');
end;
write('сыграем еще (д/н)? ');
readln(yn);
Until (yn='н') or (yn='Н');
end.
Исправлены ошибки (в т.ч. грамматические: "балл" как оценка, в отличие от танцевального вечера, пишется с двумя "л"). Из наиболее грубых - в первую очередь пробел перед 'а' в перечислении элементов множества: абсолютно недопустимо!