Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перевод системы счисления числа из DEC в BIN, Turbo Prolog 2.0 
:(
    Опции темы
andey
Дата 3.6.2010, 03:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



язык плохо знаю, ознакомились с ним на одной лекции. вот пытаюсь получить зачет
подскажите в чем ошибаюсь

Код

domains
Str=string*
X=integer
predicates
dectobin(X,Str)
goal
write("Vvedite chislo dla perevoda"),
readint(X),
dectobin(X,Str),
write(Str).
clauses
dectobin(X,[H|_]):- 
        XC = X div 2,
        XO = X mod 2, 
        XC > 0,
        dectobin(XC,S),
        H = S+XO.


вроде ругается на несоответствие типов, но что с етим поделать не знаю. пытался всяко-разно

возможно другие ошибки.. 
есть еще недоделанный но запускаемый вариант, где конечное двоичное число записывается задом-наперед
Код

domains
X=integer
predicates
perevod(X)
goal
write("Vvedite Desyatichnoe Chislo: "),
readint(X),
perevod(X).
clauses
perevod(X):- X2=X div 2,
Ost=X mod 2, 
write(Ost),
X2>0,
perevod(X2).

PM MAIL   Вверх
andey
Дата 3.6.2010, 04:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



вот такая мысль появилась, но к сож выдает ошибку 701 луп
Код

domains
Str=char*
X=integer
predicates
dectobin(X,Str)
goal
write("Vvedite chislo dla perevoda"),
readint(X),
dectobin(X,Str),
write(Str).
clauses
dectobin(X,S):- 
    XC = X div 2,
    XO = X mod 2, 
    XC > 0,
    dectobin(XC,[XO|S]).

PM MAIL   Вверх
andey
Дата 3.6.2010, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



нашлось решение

Код

predicates
dectobin(integer)
goal
write("Vvedite chislo dla perevoda: "),
readint(X),
write("Otvet: "),
dectobin(X),nl.
clauses
dectobin(0):-!.
dectobin(X):- 
        XC = X div 2,
        XO = X mod 2, 
        dectobin(XC),
        write(XO).

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

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

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


 




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


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

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