Функциональное и логическое программирование. КР2 Разработка программы для написания простых предикатов с использованием языка Пролог. Вариант 13. ЛР2 Разработка программ с использованием языка Пролог. Вариант 6

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



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

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

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

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

Описание: Функциональное и логическое программирование

Контрольная работа №2.
Разработка программы для написания простых предикатов с использованием языка Пролог.
Вариант 13.
1. Напишите новую версию предиката length(+L, -N), в котором при подсчете количества элементов списка не учитывается пустой список. К примеру, для списка [a,b,c,d,e] новая версия процедуры должна сообщить, что длина списка равна пяти, а для списка [a,[],c,d,[]] эта процедура должна давать длину, равную трем.
2. Пусть имеется список структур "client": [client(a,29,3),client(b,29,6),client(c,40,2)].
Первым аргументом каждой структуры служит имя клиента, вторым – суточный тариф, а третьим – количество дней, на которое взята автомашина.
Напишите правило, позволяющее вычислить итоговую сумму оплаты, объединяющую выплаты всех клиентов, данные о которых содержатся в списке.

Лабораторная работа №2.
Разработка программ с использованием языка Пролог.
Вариант 6.
Блок I
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
1. Простейшая система кодирования сообщений заключается в замене каждой буквы сообщения на букву, находящуюся на N-й по отношению к ней позиции в алфавите. Например, для N=2 буква a заменяется на c, буква y на a и т. д. Зная, что коды ASCII букв от a до z изменяются от 97 до 122, напишите процедуру для предиката шифратор/3, который берет шифруемое слово и целое число и выдает слово, представляющее шифр данного слова, полученный с помощью указанного метода. Указание: воспользуйтесь предикатом name/2.
2. Напишите предикат предшествует/2, который берет два атома в качестве своих аргументов и успешно согласуется, если первый из них в лексикографическом порядке предшествует второму. Указание: воспользуйтесь предикатом name/2.

Год: 2024

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

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

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