Людиии помогите разработать программу на паскале. Программа типа Акинатора

компьютеры программирование программы паскаль

Программа должна угадывать загаданнного вами персонажа. Там в Акинаторе сложнее конечно. Но можно сделать так чтобы он не обучался

Примечание:
вот я в принципе написала программу. но там какая то ошибка есть.

Примечание:
Добро пожаловать! Задумайте персонажа из мультфильма Симпсоны, Я попытаюсь отгадать его.
Выбирайте варианты ответов
Ваш персонаж мужского пола?
1)да 2)нет
1
Ваш персонаж ребенок?
1)да 2)нет
1
Есть ли у вашего персонажа сестры?
1)да 2)нет
1
1)да 2)нет
1
1)да 2)нет
1)да 2)нет
1)да 2)нет
1)да 2)нет
1)да 2)нет
1)да 2)нет
1)да 2)нет
1)да 2)нет
1)да 2)нет
1)да 2)нет
1)да 2)нет
1)да 2)нет
1)да 2)нет
1)да 2)нет
________________________
вот так он у меня зацикливается

Примечание:
program di2;
var a,b,c,d,e,f,g,h,i,j,k,l,q:real; m,n,o,p:string;
begin
n:='Это Барт симпсон!';
o:='Это Лиза Симпсон!';
p:='Это Меггги Симпсон!';
begin
Writeln('Добро пожаловать! Задумайте персонажа из мультфильма Симпсоны, Я попытаюсь отгадать его.');
Writeln('Выбирайте варианты ответов');
repeat
Writeln('Ваш персонаж мужского пола?');
Writeln('1)да 2)нет');
Read(a);
until (a<=2) and (a>=1);

repeat
If a=1 then begin writeln('Ваш персонаж ребенок?');end else if a=2 then begin writeln('Ваш персонаж ребенок?'); end;
If (a<=2) or (a>=1) then begin Writeln('1)да 2)нет'); end;
If a=1 then begin read(b); end else if a=2 then begin read(c); end;
until (b<=2) and (b>=1) or (c<=2) and (c>=1);

repeat
If b=1 then begin writeln('Есть ли у вашего персонажа сестры?'); end else if b=2 then begin writeln('Есть ли у него дочь?'); end;
If (b<=2) or (b>=1) then begin Writeln('1)да 2)нет'); end;
If b=1 then begin read(d); end else if b=2 then begin read(e);end;
until (d<=2) or (d>=1) or (e<=2) or (e>=1);

repeat
If c=1 then begin writeln('Ходит ли ваш персонаж в школу?'); end else if c=2 then begin writeln('Есть ли у вашего персонажа дети?'); end;
If (c<=2) or (c>=1) then begin Writeln('1)да 2)нет'); end;
If c=1 then begin read(f); end else if c=2 then begin read(g);end;
until (f<=2) or (f>=1) or (g<=2) or (g>=1);

repeat
If d=1 then begin m:=n; end else if d=2 then begin writeln('Носит ли ваш персонаж очки?'); end;
if d=2 then begin Writeln('1)да 2)нет');end;
If d=1 then begin read(q);end else if d=2 then begin read(h);end;
until (m=n) or (h<=2) and (h>=1);

repeat
If e=1 then begin writeln('Ваш персонаж почти лысый?'); end else if e=2 then begin writeln('В его имени всего две буквы?');end;
If (e<=2) or (e>=1) then begin Writeln('1)да 2)нет'); end;
If e=1 then begin read(i); end else if e=2 then begin read(j);end;
until (i<=2) and (i>=1) or (j<=2) and (j>=1);

If f=1 then begin m:=o; end else if f=2 then begin m:=p;end;

repeat
If g=1 then begin writeln('У вашего персонажа черные волосы?'); end else if g=2 then begin writeln('У вашего персонажа есть старшая сестра?'); end;
If (g<=2) or (g>=1) then begin Writeln('1)да 2)нет'); end;
If g=1 then begin read(k); end else if g=2 then begin read(l); end;
until (k<=2) and (k>=1) or (l<=2) and (l>=1);
end;
begin
writeln ('m=', m);
end;
end.
Ответы:
Что конкретно у вас не получается?
Смотрю на ваш код, с одной стороны помочь хочется, с другой крови из глаз жалко.


10 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.