Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с методом повтора! 
V
    Опции темы
Malloy
Дата 10.12.2010, 19:27 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 10.12.2010

Репутация: нет
Всего: нет



Надо написать программу на Турбо Прологе: программа задает вопрос, и на него надо ответить правильно, если не правильно отвечаешь, то программа задает тебе вопрос еще раз (это типа метод повтора), но надо сделать так чтобы когда три раза не правильно отвечаешь на вопрос то программа сама выдает правильный ответ и зацикливание останавливается!!!
Написал програмку которая зацикливается и останавливается только тогда когда я напишу определенное слово, как сделать так чтобы при трех не правильных вариантах ответа прога сама останавливалась и выдавала правильный ответ???

predicates
write_message 
repeat 
stop 
check(string)
clauses
repeat. 
repeat:-repeat.
write_message:-clearwindow,
write("Zaputanya:"),nl,
write("KTO VI - ?"),
nl,nl.
stop:-repeat, 
write("Vvedit vidpovit:"),nl,
readln(Words),nl,
check(Words),
!. 
check("CHELOVEK"):-
write("Pravulna vidpovid"). 
check(_):-fail.
goal
write_message, stop.

Это сообщение отредактировал(а) Malloy - 12.12.2010, 14:57
PM MAIL   Вверх
iff
Дата 10.12.2010, 20:21 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: нет
Всего: 16



Цитата(Malloy @  10.12.2010,  19:27 Найти цитируемый пост)
так чтобы когда три раза не правильно отвечаешь на вопрос то программа сама выдает правильный ответ

Я пролог не знаю, но с точки зрения алгоритма можно так: 
Код

цикл для i от 1 до 3
   ввод x
   если x = <правильный ответ> то
      флаг = истина
      конец цикла
   конец если
конец цикла
если флаг = ложь то вывод <правильный ответ>


или можно так (хотя это плохой стиль):
Код

МЕТКА1:
ввод x
если x = <правильный ответ> то к МЕТКА2
i++
если i = 3 то вывод правильный ответ иначе к МЕТКА1
МЕТКА2:


Это сообщение отредактировал(а) iff - 10.12.2010, 20:23


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
dorogoyIV
Дата 11.12.2010, 00:15 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: нет
Всего: 46



VIP
Код

domains
    i = integer
constants
    pass_word = "asd"
predicates
    nondeterm enter_string(i)
clauses
    enter_string(3):- write("\n", pass_word, "\n"), exit(0).
    enter_string(_):- readln(L), L = pass_word, write("\nYes!!!\n"), exit(0).
    enter_string(I):- I2 = I + 1, enter_string(I2).
goal
    enter_string(0).

PM MAIL   Вверх
Malloy
Дата 11.12.2010, 18:11 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 10.12.2010

Репутация: нет
Всего: нет



dorogoyIV, Спасибо, как раз то что мне надо!!!
PM MAIL   Вверх
dorogoyIV
Дата 11.12.2010, 21:08 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: нет
Всего: 46



Цитата(Malloy @  11.12.2010,  18:11 Найти цитируемый пост)
как раз то что мне надо!!!

вот и замечательно!
только помечай галочкой (вопрос решен - или внизу, или вверху  smile ))

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума Prolog
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Prolog | Следующая тема »


 




[ Время генерации скрипта: 0.0434 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.