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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2013, 02:22   #1
Bullrock
Пользователь
 
Регистрация: 01.03.2012
Сообщений: 14
Сообщение Суммирование чисел хвостовой рекурсией (Prolog)

Помогите новичку найти сумму чисел в интервале от N до M хвостовой рекурсией. Кое что смог набросать, но пока еще толком не въехал. Пишу на Visual Prolog 7.3.
Код:
implement sum
    open core, console
 constants
  className = "sum".
  classVersion = "".
 clauses
  classInfo(className, classVersion).
 class predicates
    sum:(integer , integer, integer ) procedure (i,i,o) determ(i,i,i).
 clauses
    sum(M,N,M):-
    M1 = M+1,
    R1 = R+M1,
    N><M,
    sum(M1,N,R).
 clauses
	run() :- 
	console::init(),
	stdIO::write("Input M: "),
	M= stdIO::read(),
	stdIO::write("Input N: "),
	N= stdIO::read(),
    sum(M,N,R), 
	stdIO::write("Sum is: "), 
	stdIO::write(R), 
	programControl::sleep(1000),
	succeed().
 end implement sum
 goal
	mainExe::run(sum::run).
Поправте плиз, дальше сам разберусь)))
Bullrock вне форума Ответить с цитированием
Старый 04.03.2013, 14:06   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Код:
sum(A, B, S, S):- A > B, !.
sum(A, B, TS, S):-
  TTS is TS + A, AA = A + 1, sum(AA, B, TTS, S). % в своем vip замени is на =

sum(A, B, S):-
  sum(A, B, 0, S).
не проверял
rrrFer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Prolog, ряд чисел, кратных 5 Syn-McJ Помощь студентам 1 23.10.2011 19:55
Суммирование суммы чисел цифры Vitalik85 Microsoft Office Excel 5 04.08.2011 20:44
Суммирование групп чисел в столбце Acro Microsoft Office Excel 10 15.07.2010 15:10
Суммирование чисел Uzmaster Microsoft Office Access 8 24.06.2010 22:43
Комбинаторика чисел и суммирование f1UZ Общие вопросы C/C++ 7 05.06.2010 16:25