Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Prolog
Перезагрузить страницу Квадратные корни (Visual Prolog 8)
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Dark Fox Dark Fox вне форума
Новичок
 
Сообщений: 1
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 11.09.2018
По умолчанию Квадратные корни (Visual Prolog 8) - 11.09.2018, 17:21

Недавно начал изучать вижуал пролог и столкнулся с проблемой. Мне необходимо найти квадратные корни по вводимым данным и вроде бы я всё сделал правильно, однако при экзекуции компилятор ругается на неравенство D<0. И выдаёт ошибку: The predicate 'main::run/0', which is declared as 'procedure', is actually 'determ'. Подскажите пожалуйста в чём ошибка.

prolog Код:
run() :-
        A = read(),
        B = read(),
        C = read(),
        D = B ^ 2 - 4 * A * C,
        (D > 0 and ! and X1 = (-B + D ^ 0.5) / (2 * A) and X2 = (-B - D ^ 0.5) / (2 * A) and writef("X1=%, X2=%", X1, X2) and clearInput
            and _ = readchar()
            or D = 0 and ! and X = -B / (2 * A) and writef("X=%", X) and clearInput and _ = readchar()
            or D < 0 and writef("X1=(-% + %i)/(2*%), ", B, -D ^ 0.5, A) and writef("X1=(-% - %i)/(2*%)", B, -D ^ 0.5, A) and clearInput
            and _ = readchar()).
Ответить с цитированием
  (#2 (permalink)) Старый
Винитарх Винитарх на форуме
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,956
Сказал(а) спасибо: 2
Поблагодарили 303 раз(а) в 303 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 11.09.2018, 23:53

Как-то так:
Visual Prolog Код:
run() :-
        A = read(),
        B = read(),
        C = read(),
        D = B ^ 2 - 4 * A * C,
        (D > 0 and ! and X1 = (-B + D ^ 0.5) / (2 * A) and X2 = (-B - D ^ 0.5) / (2 * A) and writef("X1=%, X2=%", X1, X2) and clearInput
            and _ = readchar()
            or D = 0 and ! and X = -B / (2 * A) and writef("X=%", X) and clearInput and _ = readchar()
            or writef("X1=(-% + %i)/(2*%), ", B, -D ^ 0.5, A) and writef("X1=(-% - %i)/(2*%)", B, -D ^ 0.5, A) and clearInput
            and _ = readchar()).
Третье условие D<0 лишнее.
Почему не пользуетесь синтаксическим сахаром? Тогда писать и читать прогу легче.
Ответить с цитированием
Пользователь сказал cпасибо:
Dark Fox (12.09.2018)
  (#3 (permalink)) Старый
VictorY VictorY вне форума
Member
 
Аватар для VictorY
 
Сообщений: 986
Сказал(а) спасибо: 0
Поблагодарили 43 раз(а) в 43 сообщениях
Регистрация: 10.02.2005
По умолчанию 12.09.2018, 12:24

Цитата:
Сообщение от Dark Fox Посмотреть сообщение
... вроде бы я всё сделал правильно, однако при экзекуции компилятор ругается на неравенство D<0
Замечательно! Вот как надо называть процесс исполнения программы!
Надо и в книжках так писать!
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
из turbo prolog в visual prolog - где будут отличия в коде? Sasha_Sasha Prolog 6 21.12.2015 22:38
Нужно переделать программу из Turbo Prolog в Visual Prolog Hedgehok Prolog 0 09.05.2015 02:37
Нужно перевести код из Turbo Prolog в Visual Prolog 5.2 Irina1094 Prolog 8 30.11.2014 22:52
Переписать программу из SWI-Prolog в Visual Prolog enulinum Задания за деньги 1 29.05.2014 02:32
Перенос программ из {TurboProlog.....Visual Prolog 5.2} в Visual Prolog 7 imported_Jenny_ Prolog 30 25.03.2013 19:15
Нужно перевести код из Turbo Prolog в Visual Prolog GGHz Prolog 7 08.12.2012 19:46
код из turbo prolog в visual prolog posleg Prolog 4 13.06.2011 00:33
Экспертная система на pdc prolog или visual prolog Anton7 Prolog 8 12.05.2011 13:39
Помогите переделать задачу из Turbo Prolog в Visual Prolog 5 imported_Anneta Prolog 3 23.12.2010 22:59
Кто возьмется переписать маленькую программу с Turbo Prolog на Visual Prolog 5.0 (за плату) olik567 Prolog 4 07.10.2009 17:46
Квадратные кнопки как их делать metacluster WinAPI 2 05.01.2009 01:51
Кто возьмется переписать маленькую программу с Turbo Prolog на Visual Prolog 5.0 (за плату) Игоревна Задания за деньги 16 04.01.2008 17:20



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов