Функциональное и логическое программирование. КР2. Вариант 14. ЛР2. Вариант 6

Контрольная работа
в среде программирования SWI-Prolog



Если Вы считаете, что данная страница каким-либо образом нарушает Ваши авторские права, то Вам следует обратиться в администрацию нашего сайта по адресу info@kursovik.com либо через форму обратной связи

Среда программирования: SWI-Prolog

Название работы: Функциональное и логическое программирование. КР2. Вариант 14. ЛР2. Вариант 6

Вид работы: Контрольная работа

Описание: Функциональное и логическое программирование
Контрольная работа 2. Вариант 14.
Задание состоит из решения двух задач, в которых требуется составить программы на Прологе для написания простых предикатов. При составлении программ (если не оговорено противное) можно использовать все встроенные предикаты Пролога. Тексты всех программ получаются небольшие.
Вариант 14
1. Опишите процедуру для предиката расщепить/4, которая берет список целых чисел L1 и целое число N и выдает списки L2 и L3, такие, что числа из исходного списка, меньшие, чем N, помещаются в список L2, а остальные – в список L3.
2. Напишите предикат для вычисления чисел Фибоначчи, используя метод накапливающего параметра.
 
Лабораторная работа 2. Вариант 6.
Лабораторная работа включает выполнение заданий из двух блоков:
I. Решение двух задач, в которых требуется написать простые программы на Прологе. При составлении программ (если не оговорено противное) можно использовать все встроенные предикаты Пролога.
II. Решение двух задач, в которых требуется написать более сложные программы на Прологе (как правило, требуется определить несколько предикатов). При составлении программы (если не оговорено противное) можно использовать все встроенные предикаты Пролога.
Блок I
Вариант 6
1. Встроенный предикат functor(+Term, ?Functor, ?Arity) определяет для заданного составного терма Term его функтор Functor и местность Arity. Встроенный предикат arg(+N, +Term, ?Value) определяет для целого числа N и заданного составного терма Term его N-й аргумент Value. Определите предикаты functor1 и arg1 – аналоги предикатов functor и arg через предикат univ (=..)
2. Напишите предикат range(?M, ?N, ?L), истинный тогда и только тогда, когда L – список целых чисел, расположенных между M и N включи-тельно (предикат должен допускать различное использование, когда не менее двух из трех аргументов конкретизованы). Указание: используйте предикаты var(+X) и nonvar(+X).
Блок II
Вариант 6
1. Простейшая система кодирования сообщений заключается в замене каждой буквы сообщения на букву, находящуюся на N-й по отношению к ней позиции в алфавите. Например, для N=2 буква a заменяется на c, буква y на a и т. д. Зная, что коды ASCII букв от a до z изменяются от 97 до 122, напишите процедуру для предиката шифратор/3, который берет шифруемое слово и целое число и выдает слово, представляющее шифр данного слова, полученный с помощью указанного метода. Указание: воспользуйтесь предикатом name/2.
2. Напишите предикат предшествует/2, который берет два атома в качестве своих аргументов и успешно согласуется, если первый из них в лексикографическом порядке предшествует второму. Указание: воспользуйтесь предикатом name/2.  

Год: 2022

Данный заказ (контрольная работа) выполнялся нашим сайтом в 2022-м году, в рамках этого заказа была разработана программа в среде программирования SWI-Prolog. Если у Вас похожее задание на программу, которую нужно написать на SWI-Prolog, либо на другом языке программирования, пожалуйста заполните форму, приведённую ниже, после чего Ваше задание в первую очередь рассмотрит наш программист, выполнявший в 2022-м году этот заказ, если он откажется, то Ваше задание оценят другие наши программисты в течение 48-и часов, если оценка нужна срочно, просим Вас оставить пометку об этом - напишите в тексте задания фразу "СРОЧНЫЙ ЗАКАЗ".

Купить эту работу

Viber: +79374242235
Telegram: kursovikcom
ВКонтакте: kursovikcom
WhatsApp +79374242235
E-mail: info@kursovik.com
Skype: kursovik.com