Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2009, 13:23   #1
Dog
Пользователь
 
Регистрация: 19.05.2008
Сообщений: 48
Восклицание Пролог

1.Создайте программу, решающую квадратное уравнение.
2.Создайте предикат, вычисляющий сумму цифр натурального числа.
Dog вне форума Ответить с цитированием
Старый 08.11.2009, 13:27   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Наработки or Фриланс
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 08.11.2009, 13:31   #3
Dog
Пользователь
 
Регистрация: 19.05.2008
Сообщений: 48
По умолчанию

Цитата:
Сообщение от Alex Cones Посмотреть сообщение
Наработки or Фриланс
Фриланс (((
Dog вне форума Ответить с цитированием
Старый 08.11.2009, 13:41   #4
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

1)
Код:
solve(A,B,C,Res) :- type(A,B,C,Type), solution(Type,A,B,C,Res),
                    print_solution(Type,Res).

type(0,0,_,0) :- !.
type(0,_,_,1) :- !.
type(_,_,_,2) :- !.

solution(1,_,B,C,[X]) :- !,X is -C/B.
solution(2,A,B,C,[X1,X2]) :- D = B*B - 4*A*C, D >= 0, !,
                             sqrt(D,Sq), X1 is (-B-Sq)/2/A, X2 is (-B+Sq)/2/A.
solution(_,_,_,_,[]).

print_solution(_,[]) :- write('Решений нет!'), !.
print_solution(1,[X]) :- write('X = '), write(X), !.
print_solution(_,[X,X]) :- write'(Корень кратности 2: X = '), write(X), !.
print_solution(_,[X1,X2]) :- write('X1 = '), write(X1),
                             write(', X2 = '), write(X2).
2 если число маленькое то
Код:
predicates
sum(unsigned,unsigned)
sum(unsigned,unsigned,unsigned)
clauses
sum(N,S):- sum(N,0,S).

sum(0,S,S):- !.
sum(N,C,S):- X=N mod 10,C1=C+X,N1=N div 10,sum(N1,C1,S).
goal
sum(4010123456,S).
а если не очень
Код:
predicates
sum(string,unsigned)
sum(string,unsigned,unsigned)
clauses
sum(N,S):- sum(N,0,S).

sum(N,C,S):- frontChar(N,Ch,N1),
    str_char(ChS,Ch), str_int(ChS,X), !,
    C1=C+X,
    sum(N1,C1,S).
sum(_,S,S).
goal
sum("123456789098765432101234567890987654321",S).
видимо нет!!!
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.

Последний раз редактировалось ОДИНОЧЕСТВО В СЕТИ; 08.11.2009 в 14:08.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пролог yulia Помощь студентам 11 15.03.2010 16:08
ПРОЛОГ Иринкаа Помощь студентам 7 09.12.2009 02:17
Пролог 301 Помощь студентам 2 01.04.2008 16:26