![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 31.03.2014
Сообщений: 1
|
![]()
Добрый день! Возникла маленькая проблемка. Есть код программы, который по возможности надо разжевать) Собственно вот код:
% Вычисление значения K-ого элемента N-ой строки; E - результат fact(0,0,P):-P=1,!. fact(_,0,P):-P=1,!. fact(B,B,P):-P=1,!. fact(B,M,P):-BM=B-M,M1=M+1,!,mul(B,BM,M1,1,1,P). mul(B,NM,B,NM,P,PP):-PP=P*B/NM. mul(B,NM,IB,INM,P,P1):-IB1=IB+1, !,INM1=INM+1,!,PP=P*IB/INM,!,mul(B,NM,IB1,INM1,PP,P1). % Предикат вычисляющий N-ую строку str(_,-1,Str,Rez):-concat(Str," \n ",Rez), !.%3: если строка построена добавляем перевод на новую строку и связываем несвязаную переменную Rez c str %concat-склеивает стороки str c \n и помещает в rez str(N,K,Str,Rez) :-fact(N,K,E),format(OutStr," % ",E),%если стр. не полностью сформир. то продолжаем ее сформировывать, вычисляя по формуле fact, иформируем в строку concat(Str,OutStr,Str1),% %concat-склеивает стороки str c OutStr и помещает в Strl KK=K-1,str(N,KK,Str1,Rez).%обратный счетчик, как только равно -1 переход в начало цикла trip(N,N,Str,Rezult):- Rezult=Str,!. %2: если N1 = N2 , то в результат запишем str, возвращаемся на действие в кнопке trip(N,Max,Str,Rezult):-str(N,N,Str,Rez),N1=N+1,!,trip(N1,M ax,Rez,Rezult).%N-текущ. стр, Max-максимум. стр, str-формиров. стр, N1-переход на след. стр, формирован. след. стр. Объяснить надо следующее: Какая тут используется рекурсия,восходящая или нисходящая? mul(B,NM,IB,INM,P,P1):-IB1=IB+1, !,INM1=INM+1,!,PP=P*IB/INM,!,mul(B,NM,IB1,INM1,PP,P1). Надеюсь на вашу помощь) |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Треугольник Паскаля | vadiprog | Помощь студентам | 4 | 02.10.2020 23:44 |
Треугольник Паскаля | Ript | Помощь студентам | 3 | 03.06.2013 21:01 |
Треугольник Паскаля | Kati | Помощь студентам | 2 | 12.10.2010 19:07 |
Треугольник Паскаля. Assembler | ser_b | Помощь студентам | 0 | 05.06.2010 00:21 |