Страницу Назад
Поискать другие аналоги этой работы
450 Функциональное и логическое программирование. вариант 5. лабораторная работа №2 СИБГУТИ ДОID: 197379Дата закачки: 02 Января 2019 Продавец: nura (Напишите, если есть вопросы) Посмотреть другие работы этого продавца Тип работы: Работа Лабораторная Сдано в учебном заведении: ******* Не известно Описание: Лабораторная работа №2 Обработка списков в языках CLISP и SWI-PROLOG Номер задачи выбирается по последней цифре пароля. Присылаемый на проверку архив должен содержать 3 файла:  файл отчета, содержащий титульный лист, условие задачи, исходные тексты программ и результаты работы программ (можно в виде скриншотов);  файл с исходным текстом программы на языке CLISP;  файл с исходным текстом программы на языке SWI-PROLOG. Задание на лабораторную работу Напишите на двух языках CLISP и SWI-PROLOG программы для работы со списками по заданию. Обязательно использование рекурсии. Ввод всех входных данных должен запрашиваться с клавиатуры в процессе работы программы (функции или предиката). В программе на языке CLISP не допускается использование: функционалов, а в теле рекурсивной функции - операторов SET и SETQ. В программе на SWI-PROLOG предикат после вывода результатов работы должен успешно завершиться (на экране появится true. и приглашение следующего ввода цели ?-). Номер варианта выбирается по последней цифре пароля. 0. Осуществите в списке L циклический сдвиг на N элементов влево. Например, для языка CLISP при L = (a s d f g), N = 3 функция должна вернуть (f g a s d). 1. Удалите из списка L все вхождения элемента X. Например, для языка CLISP при L=(1 2 1 3 1 1 2 5 6), X=1 функция должна вернуть (2 3 2 5 6). 2. Сформируйте список без повторений из тех элементов исходного списка L, которые встречаются больше одного раза. Например, для языка CLISP при L=(5 1 2 1 3 5 5 7) функция должна вернуть (5 1). 3. Из каждой группы подряд идущих элементов списка L оставьте только один. Например, для языка CLISP при L=(1 1 a a 3 3 3 + + + +) функция должна вернуть (1 a 3 +). 4. Удалите из списка L за каждым вхождением X один элемент, если такой имеется и отличен от X. Например, для языка CLISP при L=(a 8 2 a a 5 a) X=a функция должна вернуть (a 2 a a a). 5. Вставьте в список L1 элементы другого списка L2 после каждого вхождения X в L1. Например, для языка CLISP при L1=(1 2 1 5 3), X=1, L2=(+ * z) функция должна вернуть (1 + * z 2 1 + * z 5 3). 2 6. Осуществите в списке L циклический сдвиг на N элементов вправо. Например, для языка CLISP при L = (a s d f g), N = 3 функция должна вернуть (d f g a s). 7. Удалите из списка L все повторные вхождения элементов. Например, для языка CLISP при L=(1 2 1 4 1 2 3) функция должна вернуть (1 2 4 3). 8. Удалите из списка L перед каждым вхождением X один элемент, если такой имеется и отличен от X. Например, для языка CLISP при L=(1 2 1 1 3), X=1 функция должна вернуть (1 1 1 3). 9. Сформируйте новый список, каждый элемент которого - это список из двух элементов: самого элемента и числа его вхождений в исходный список L. Например, для языка CLISP при L=(2 4 2 3 2 3) функция должна вернуть ((2 3) (4 1) (3 2)). Методические указания к выполнению лабораторной работы №1 Пример. Скопируйте N раз каждый элемент списка L. Программа на языке CLISP (defun f() (princ "Vvedite spisok ") (terpri) (setq L (read)) (princ "Vvedite N ") (terpri) (setq N (read)) (princ "Rezult= ") (copy L N) ) (defun copy(L N &optional (K 0)) (cond ((null L) L) ((= N 0) (copy (cdr L) K 0)) (t (cons (car L)(copy L (- N 1) (+ K 1)))) ) ) 3 Скриншот работы программы: Программа на языке SWI-PROLOG goal:-writeln(\'Введите список\'),read(L),writeln(\'Введите N\'), read(N),copy(L,N,L1),write(\'Результат:\'),write(L1). copy(L,N,L1):-copy(L,N,N,L1). copy([],_,_,[]):-!. copy([_|Tail],0,N,L1):-!,copy(Tail,N,N,L1). copy([Head|Tail],N,K,[Head|L1]):-!,N1 is N-1, copy([Head|Tail],N1,K,L1). Скриншот работы программы: 4 Комментарии: Уважаемый студент, дистанционного обучения, Оценена Ваша работа по предмету: Функциональное и логическое программирование Вид работы: Лабораторная работа 2 Оценка:Зачет Дата оценки: 31.12.2018 Рецензия:Уважаемая замечаний нет. Галкина Марина Юрьевна Размер файла: 65,7 Кбайт Фаил: (.rar) ------------------- Обратите внимание, что преподаватели часто переставляют варианты и меняют исходные данные! Если вы хотите, чтобы работа точно соответствовала, смотрите исходные данные. Если их нет, обратитесь к продавцу или к нам в тех. поддержку. Имейте ввиду, что согласно гарантии возврата средств, мы не возвращаем деньги если вариант окажется не тот. -------------------
Коментариев: 0 |
||||
Есть вопросы? Посмотри часто задаваемые вопросы и ответы на них. Опять не то? Мы можем помочь сделать! Некоторые похожие работы:Вариант №0 Лабораторная работа №3 Функциональное и логическое программирование ДО СИБГУТИВариант 0. Лабораторная работа №2. Функциональное и логическое программирование. ДО СИБГУТИ Функциональное и логическое программирование. вариант 5. лабораторная работа №3 СИБГУТИ ДО Вариант 0. Лабораторная работа №1. Функциональное и логическое программирование ДО СИБГУТИ Лабораторные работы №№1-2 функциональное и логическое программирование. Вариант №0 Сибгути ДО Лабораторная работа №1. Функциональное и логическое программирование. Вариант 7. ДО СибГУТИ. Ещё искать по базе с такими же ключевыми словами. |
||||
Не можешь найти то что нужно? Мы можем помочь сделать! От 350 руб. за реферат, низкие цены. Спеши, предложение ограничено ! |
Вход в аккаунт:
Страницу Назад
Cодержание / Программирование / Функциональное и логическое программирование. вариант 5. лабораторная работа №2 СИБГУТИ ДО
Вход в аккаунт: