1 / 1 / 0
Регистрация: 14.11.2014
Сообщений: 53
1

Закомментируйте программу, чтобы понять код

27.01.2016, 20:31. Показов 933. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Domains
li=integer*
PREDICATES
cons(integer,li,li).
prime1(integer,integer,li)
prime(integer)
CLAUSES
cons(X,Y,[X|Y])
prime1(X,X,Y) :- cons(X,[],Y).
prime1(X,I,Y) :- 0=x mod i, B=X div I,
prime1(B,2,C),cons(I,C,Y)
prime1(X,I,Y) :- A=I+1,prime1(X,A,Y)
prime1(1,Y) :- Y=[1],!.
prime1(X,Y):- prime1(X,2,Y),!.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.01.2016, 20:31
Ответы с готовыми решениями:

Закомментируйте программу, чтобы понять код
Domains li=integer* PREDICATES cons(integer,li,li). contain(integer,li) incl(li,li,symbol)....

Закомментируйте код
boy(yura). boy(dima). boy(andrey). boy(georgiy). girl(katya). girl(marina). girl(lena)....

Закомментируйте код
(defun countOnLevel (x a) (_1_countOnLevel x 0 a)) (defun _1_countOnLevel (x i a) (if...

Закомментируйте код
(defun _deepest (x i d) (cond ((null x) d) ((atom x) (if (> i (car d)) (list i x)...

3
Фрилансер
3704 / 2076 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
27.01.2016, 23:31 2
Странный стиль какой-то..
Откуда у Вас этот код?
И тут явная ошибка в двух последних строках - это должен быть предикат prime, а не prime1
0
1 / 1 / 0
Регистрация: 14.11.2014
Сообщений: 53
27.01.2016, 23:34  [ТС] 3
код не мой, вот и прошу помощи, чтобы разобраться.
0
Фрилансер
3704 / 2076 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
28.01.2016, 01:32 4
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
CLAUSES
 
% Присоединение головы к списку
%---------------------------------------------------------------
% ---- то ли код переписывлся с lisp
% ---- то ли автору понятнее запись cons(X,Y,Z) вместо Z = [X|Y]
%---------------------------------------------------------------
cons(X,Y,[X|Y]).
 
% Разложение числа на простые множители (с индексом)
%---------------------------------------------------------------
% Правило 1: выход из рекурсии:
% если перебор дошел до числа, оно и есть свой простой множитель
prime1(X,X,Y) :- cons(X,[],Y).
 
% Правило 2: найден очередной простой множитель:
% если X делится на I, X делим на I,
% продолжаем перебор с новым X, опять начмная с 2
% ---- на самом деле достаточно было продолжить с того же I
% по окончании перебора добавляем I в список
prime1(X,I,Y) :- 0=X mod I, B=X div I,
  prime1(B,2,C),cons(I,C,Y).
  
% Правило 3: приращение I
% если X не делится на I, I увеличивается на 1,
% продолжаем перебор со старым X и новым I
prime1(X,I,Y) :- A=I+1,prime1(X,A,Y).
 
% Разложение числа на простые множители
%---------------------------------------------------------------
% Правило 1: отдельно обрабатывается 1
% ---- я бы вообще выкинул это правило, 1 на прстые множители не раскладывается
prime(1,Y) :- Y=[1],!.
% Правило 2: обращение к предыдущему предикату с индексом 2
prime(X,Y):- prime1(X,2,Y),!.
Добавлено через 17 минут
Вообще, в коде много мелких ошибок. Вы его откуда-то переписывали?
0
28.01.2016, 01:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.01.2016, 01:32
Помогаю со студенческими работами здесь

Закомментируйте, плз, программу
Нуждаюсь в комментариях в программе. Программа преобразует число положенное в рестр ax в двоичный...

Как понять эту формулу (более проще записать) для того чтобы написать программу
Формула: \prod_{x=1}^{4}\sum_{z=2}^{10}(\sqrt{x}+lg(z)) hz=2, hx=1

Создал программу, которая копирует собственный код в свою программу, а можно сделать так, чтобы
Как сделать так, чтобы получилась бесконечная рекурсия с переполнением памяти? Естественно, чтобы...

Как понять что ввести в программу чтобы напечатало "ок"
#include <stdio.h> int main() { char password; scanf("%s", password); int len =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru