Курсовая работа Вариант 8
.docxФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
КАФЕДРА АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ
Курсовая работа
по дисциплине
«Рекурсивно-логическое программирование»
|
Студент |
|
|
|
Ельшаева Н.А. |
|
|||||||||
|
|
|
подпись, дата |
|
фамилия, инициалы |
|
|||||||||
|
Группа |
|
АС-09 |
|
|
|
|||||||||
|
|
|
|
|
|
|
|||||||||
|
Принял |
|
|
|
|
|
|||||||||
|
|
|
|
|
Гаев Л.В. |
|
|||||||||
|
ученая степень, звание |
|
подпись, дата |
|
фамилия, инициалы |
|
Липецк 2010
1. Задание:
Вариант 8:
Создать отношение, реализующее функцию SF(n) для вычисления субфакториала от n, определяемого формулой:
Здесь биномиальный коэффициент – число сочетаний из n по k. Для примера вычислить SF(1000).
2. Краткие теоретические сведения:
Субфакториал числа n (обозначение: !n) определяется как количество беспорядков порядка n, то есть перестановок порядка n без неподвижных точек. Название субфакториал происходит из аналогии с факториалом, определяющим общее количество перестановок.
!1 = 0
!2 = 1
!3 = 2
!4 = 9
!5 = 44
!6 = 265
!7 = 1 854
!8 = 14 833
!9 = 133 496
!10 = 1 334 961
!11 = 14 684 570
!12 = 176 214 841
!13 = 2 290 792 932
!14 = 32 071 101 049
!15 = 481 066 515 734
!16 = 7 697 064 251 745
!17 = 130 850 092 279 664
!18 = 2 355 301 661 033 953
!19 = 44 750 731 559 645 106
!20 = 895 014 631 192 902 121
!21 = 18 795 307 255 050 944 540
3. Текст программы:
sf(1,-1,0).
sf(N,E,F):-N>0,N1 is N-1,sf(N1,E1,F1),E is -E1,F is F1*N+E.
sf(N,F):-N>0,sf(N,_,F).
4. Отношения:
sf(N,E,F) F - субфакториал числа N, выражающиеся как субфакториал !(N-1)*N + (-1)^N, где (-1)^N есть E.
sf(N,F) F - N субфакториал, вычисляемый по формуле
!(N-1)*N + (-1)^N.
5. Контрольный пример:
6. Вывод:
При выполнении данной лабораторной работы я получила навыки программирования в Prolog-системе SWI-Prolog.
7. Список используемой литературы:
1. Н.А. Виленкин. Комбинаторика. - М.: Наука. Гл. ред. физ.-мат. лит., 1969.— 323 с.