Функциональное и логическое программирование. Лабораторные работы №№1 - 5. Вариант 2.
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Необходимые программы
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
- Программа для просмотра текстовых файлов
Описание
Лабораторная работа №1
Вариант задачи выбирается по последней цифре пароля. Программа должна быть написана на языке ЛИСП.
Текст функции можно набирать в любом текстовом редакторе (например, в Блокноте). Файл следует сохранить с расширением lsp, лучше в той же папке, где находится ЛИСП. Запуск интерпретатора ЛИСПа и загрузки текста написанной функции можно осуществить 3 способами:
Наложите с помощью мышки файл с текстом функции на файл mulisp.com.
Запустите файл mulisp.com и после появления приглашения в виде $ введите в командную строку:
load 'имя файла
Скопируйте в буфер обмена текст функции, запустите файл mulisp.com и после появления приглашения в виде $, зайдите в системное меню (черный квадратик в левом верхнем углу окна работы) и выполните команду Изменить-Вставить. После вставки текста нажмите клавишу Enter.
При отсутствии ошибок появится приглашение $, после которого можно обращаться к функции и проверять ее работу. Выход из ЛИСПа осуществляется с помощью команды (system).
Обращение к функции можно также включить в файл после описания функции, но для того, чтобы результаты появились на экране, следует использовать функцию PRINT с аргументом – обращением к функции. Например, для функции ATOM_IN_LIST из примера2 п 1.10.1 можно записать в файл определение и вызов функции:
(defun ATOM_IN_LIST (l)
(COND
((NULL l) nil)
((ATOM (CAR l)) t)
(t (ATOM_IN_LIST (CDR l)))
)
)
(PRINT (ATOM_IN_LIST '(() 1 (1 2) )))
После запуска ЛИСПа и загрузки файла, на экран будут выведен результат работы функции: t.
В теле функции использование операторов set и setq не допускается!
Вариант 2
Опpеделите на языке ЛИСП и проверьте работу функции, заменяющей в списке L все вхождения x на y.
Например, при x=1, y=4, L= (2 1 5 1 1 8) функция должна возвращать список (2 4 5 4 4 8).
Лабораторная работа №2
Вариант задачи выбирается по последней цифре пароля. Текст функции сохраняйте в файле. Функция может вызывать вспомогательные функции. В теле функций использование операторов set и setq не допускается!
Вариант 2
Опpеделите на языке ЛИСП и проверьте работу функции, пpеобpазующей инфиксную запись опеpаций выpажения в пpединфиксную и возвpащающую значение выpажения.
Hапpимеp, для списка ((-8 + 10) * (1 + 2) функция должна вернуть 6.
Указание: Для вычисления значения выражения используйте функцию EVAL.
Лабораторная работа №3
Вариант задачи выбирается по последней цифре пароля. Текст функции сохраняйте в файле. В теле функции использование операторов set и setq не допускается!
Вариант 2,7
Опpеделите на языке ЛИСП функционал, аналогичный встроенному предикату MAPLIST для одноуровнего списка. (Используйте применяющие функционалы). Проверьте работу функционала для функций:
-REVERSE;
-LIST.
Лабораторная работа №4
Вариант задачи выбирается по последней цифре пароля. Программы должны быть написаны на языке Пролог. Для запуска Turbo Prolog запустите файл prolog.exe. Запуск на выполнение Alt+R, переход в окно редактора Alt+E.
Вариант 2
Напишите на языке ПРОЛОГ программу, которая осуществляет циклический сдвиг на один элемент вправо в списке целых чисел. Список вводится с клавиатуры, цель – внутренняя.
Например: Список [1,2,3,4] преобразуется в [4,1,2,3].
Лабораторная работа №5
Вариант задачи выбирается по последней цифре пароля. Программы должны быть написаны на языке Пролог. При преобразовании файла должны быть сохранены переводы строк. К отчету следует приложить тексты файлов с входными и выходными данными. Для просмотра файлов с данными можно открыть вспомогательное окно редактора с помощью клавиши F8 (при этом должно быть активным окно редактора).
Вариант 2
Файл содержит сведения о сотрудниках учреждения в виде: фамилия имя отчество (сведения о каждом сотруднике размещаются на новой строке). Запишите эти сведения в другой файл по образцу: фамилия и.о.
Например, строка “Иванов Петр Николаевич” преобразуется в строку “Иванов П.Н.”.
Вариант задачи выбирается по последней цифре пароля. Программа должна быть написана на языке ЛИСП.
Текст функции можно набирать в любом текстовом редакторе (например, в Блокноте). Файл следует сохранить с расширением lsp, лучше в той же папке, где находится ЛИСП. Запуск интерпретатора ЛИСПа и загрузки текста написанной функции можно осуществить 3 способами:
Наложите с помощью мышки файл с текстом функции на файл mulisp.com.
Запустите файл mulisp.com и после появления приглашения в виде $ введите в командную строку:
load 'имя файла
Скопируйте в буфер обмена текст функции, запустите файл mulisp.com и после появления приглашения в виде $, зайдите в системное меню (черный квадратик в левом верхнем углу окна работы) и выполните команду Изменить-Вставить. После вставки текста нажмите клавишу Enter.
При отсутствии ошибок появится приглашение $, после которого можно обращаться к функции и проверять ее работу. Выход из ЛИСПа осуществляется с помощью команды (system).
Обращение к функции можно также включить в файл после описания функции, но для того, чтобы результаты появились на экране, следует использовать функцию PRINT с аргументом – обращением к функции. Например, для функции ATOM_IN_LIST из примера2 п 1.10.1 можно записать в файл определение и вызов функции:
(defun ATOM_IN_LIST (l)
(COND
((NULL l) nil)
((ATOM (CAR l)) t)
(t (ATOM_IN_LIST (CDR l)))
)
)
(PRINT (ATOM_IN_LIST '(() 1 (1 2) )))
После запуска ЛИСПа и загрузки файла, на экран будут выведен результат работы функции: t.
В теле функции использование операторов set и setq не допускается!
Вариант 2
Опpеделите на языке ЛИСП и проверьте работу функции, заменяющей в списке L все вхождения x на y.
Например, при x=1, y=4, L= (2 1 5 1 1 8) функция должна возвращать список (2 4 5 4 4 8).
Лабораторная работа №2
Вариант задачи выбирается по последней цифре пароля. Текст функции сохраняйте в файле. Функция может вызывать вспомогательные функции. В теле функций использование операторов set и setq не допускается!
Вариант 2
Опpеделите на языке ЛИСП и проверьте работу функции, пpеобpазующей инфиксную запись опеpаций выpажения в пpединфиксную и возвpащающую значение выpажения.
Hапpимеp, для списка ((-8 + 10) * (1 + 2) функция должна вернуть 6.
Указание: Для вычисления значения выражения используйте функцию EVAL.
Лабораторная работа №3
Вариант задачи выбирается по последней цифре пароля. Текст функции сохраняйте в файле. В теле функции использование операторов set и setq не допускается!
Вариант 2,7
Опpеделите на языке ЛИСП функционал, аналогичный встроенному предикату MAPLIST для одноуровнего списка. (Используйте применяющие функционалы). Проверьте работу функционала для функций:
-REVERSE;
-LIST.
Лабораторная работа №4
Вариант задачи выбирается по последней цифре пароля. Программы должны быть написаны на языке Пролог. Для запуска Turbo Prolog запустите файл prolog.exe. Запуск на выполнение Alt+R, переход в окно редактора Alt+E.
Вариант 2
Напишите на языке ПРОЛОГ программу, которая осуществляет циклический сдвиг на один элемент вправо в списке целых чисел. Список вводится с клавиатуры, цель – внутренняя.
Например: Список [1,2,3,4] преобразуется в [4,1,2,3].
Лабораторная работа №5
Вариант задачи выбирается по последней цифре пароля. Программы должны быть написаны на языке Пролог. При преобразовании файла должны быть сохранены переводы строк. К отчету следует приложить тексты файлов с входными и выходными данными. Для просмотра файлов с данными можно открыть вспомогательное окно редактора с помощью клавиши F8 (при этом должно быть активным окно редактора).
Вариант 2
Файл содержит сведения о сотрудниках учреждения в виде: фамилия имя отчество (сведения о каждом сотруднике размещаются на новой строке). Запишите эти сведения в другой файл по образцу: фамилия и.о.
Например, строка “Иванов Петр Николаевич” преобразуется в строку “Иванов П.Н.”.
Дополнительная информация
март 2016, зачтено
Похожие материалы
Функциональное и логическое программирование. Лабораторная работа №1. Вариант №2
nik200511
: 16 мая 2016
Лабораторная работа №1
Вариант задачи выбирается по последней цифре пароля. Программа должна быть написана на языке ЛИСП.
№
Текст функции можно набирать в любом текстовом редакторе (например, в Блокноте). Файл следует сохранить с расширением lsp, лучше в той же папке, где находится ЛИСП. Запуск интерпретатора ЛИСПа и загрузки текста написанной функции можно осуществить 3 способами:
Наложите с помощью мышки файл с текстом функции на файл mulisp.com.
Запустите файл mulisp.com и после появлен
41 руб.
Лабораторная работа №1 по "Функциональное и логическое программирование".
Eva
: 3 июня 2011
Лабораторная работа №1 по "Функциональное и логическое программирование".
Вариант 1.
Задание к варианту 1.
Определите на языке ЛИСП и проверьте работу функции, преобразующей список L в "двойной" список таким образом, чтобы каждый элемент удвоился.
Например, при L=(1 2 3) функция должна возвращать список (1 1 2 2 3 3).
12 руб.
Лабораторная работа №1 По дисциплине: «Функциональное и логическое программирование»
vohmin
: 1 июня 2018
Задание
Опpеделите на языке ЛИСП и проверьте работу функции, преобразующей список L в "двойной" список таким образом, чтобы каждый элемент удвоился.
Например, при L=(1 2 3) функция должна возвращать список (1 1 2 2 3 3).
Описание решения
Решение – рекурсивное. Функция CREATE преобразует список L в "двойной" список таким образом, чтобы каждый элемент удвоился.
50 руб.
Лабораторная работа №1 по дисциплине Функциональное и логическое программирование
Dusya
: 12 сентября 2012
Определите на языке ЛИСП и проверьте работу функции, возвращающей список из n копий заданного атома x.
Например, при x=4, n=5 функция должна возвращать список (4 4 4 4 4).
2. Описание функции, алгоритм работы
Определим функцию с двумя аргументами (CopyN X N), где X-заданный атом, N-количество копий этого атома в возвращаемом списке.
В первую очередь надо проверить, что заданное значение X – это атом. Если это не так, то функция вернет NIL и завершит работу.
В противном случае проверим, что зада
100 руб.
Лабораторная работа № 1 по дисциплине: Функциональное и логическое программирование
1231233
: 29 января 2012
Вариант 7
Условие задачи:
Опpеделите на языке ЛИСП и проверьте работу функции, возвращающей список позиций элемента, заданного параметром x, в списке L.
Исходный текст программы:
(defun F (lambda (X L P)
(cond
((null L) nil)
((equal X (car L))
23 руб.
Лабораторные работы №1-3 по дисциплине: Функциональное и логическое программирование. Вариант 2
Учеба "Под ключ"
: 2 августа 2026
Лабораторная работа №1
Задание
Напишите на языке CLISP программу для работы со списками по заданию. Обязательно использование рекурсии. Ввод всех входных данных должен запрашиваться с клавиатуры в процессе работы программы (функции). Не допускается использование: функционалов, а в теле рекурсивной функции - операторов SET и SETQ.
2. Преобразуйте одноуровневый список L во вложенный по следующему правилу. Например, при L=(a s d f g) функция должна вернуть (((((a) s) d) f) g).
Текст прог
1200 руб.
Функциональное и логическое программирование. Лабораторные работы №1-2. Вариант 5
Beck910
: 2 апреля 2015
Опpеделите на языке ЛИСП и проверьте работу функции, возвращающей список позиций элемента, заданного параметром x, в списке L.
Например, при x=4, L=(8 3 4 6 4 1) функция должна возвращать список (3 5).
Сформируйте новый список, включающий в себя элементы, не входящие в два списка (симметpичнуюpазность множеств).
Например: На Лиспе для списков (1 2 3 5) и (6 4 1 8 3) результатом будет список (2 5 6 4 8).
150 руб.
Функциональное и логическое программирование. Лабораторная работа №1. Вариант №1.
nik200511
: 21 января 2020
Лабораторная работа №1
Обработка списков в языке CLISP
Условие задачи
Напишите на языке CLISP программу для работы со списками по заданию. Обязательно использование рекурсии. Ввод всех входных данных должен запрашиваться с клавиатуры в процессе работы программы (функции). Не допускается использование: функционалов, а в теле рекурсивной функции - операторов SET и SETQ.
Преобразуйте одноуровневый список L во вложенный по следующему правилу.
Например, при L=(a s d f g) функция должна вернуть (
143 руб.
Другие работы
Теплотехника СФУ 2017 Задача 4 Вариант 20
Z24
: 31 декабря 2026
Определить потери теплоты в единицу времени с одного метра горизонтально расположенной трубы, охлаждаемой свободным потоком воздуха, если температура стенки трубы tс, температура воздуха в помещении tв, а диаметр трубы d.
Указания. Лучистым теплообменом пренебречь.
Ответить на вопросы.
Какой из трёх режимов (ламинарный, переходный, турбулентный) осуществляется в вашем варианте задачи?
Как влияет диаметр трубы на коэффициент теплоотдачи при различных режимах течения?
180 руб.
Теплотехника РГАУ-МСХА 2018 Задача 3 Вариант 06
Z24
: 25 января 2026
Показать сравнительным расчетом целесообразность применения пара высоких начальных параметров и низкого конечного давления на примере паросиловой установки, работающей по циклу Ренкина, определив располагаемое теплопадение, термический КПД цикла и удельный расход пара для двух различных значений начальных и конечных параметров пара. Указать конечное значение степени сухости х2 (при давлении р2). Изобразить схему простейшей паросиловой установки и дать краткое описание ее работы.
250 руб.
Анализ ликвидности и платежеспособности предприятия на примере ОАО Бобруйскагромаш
Slolka
: 6 января 2014
ВВЕДЕНИЕ 3
1 ГЛАВА 1. Методика анализа платежеспособности и ликвидности предприятия
1.1 Теоретические основы анализа платежеспособности и ликвидности предприятия
1.2 Методика анализа платежеспособности и ликвидности 9
2 ГЛАВА 2. Анализ платежеспособности и ликвидности ОАО «Бобруйскагромаш»
2.1 Краткая экономическая характеристика ОАО «Бобруйскагромаш» 13
2.2 Анализ платежеспособности предприятия на основе показателей ликвидности баланса ОАО «Бобруйскагромаш»
2.3 Определение вли
15 руб.
Печать русской православной церкви: традиции и перспективы
GnobYTEL
: 14 декабря 2012
Конец 80-х – начало 90-х годов нашего столетия стало началом возрождения системы печати Русской православной церкви. Причем ее становление происходит с использованием богатого опыта издательской деятельности Русской православной церкви прошлого века. Чтобы понять, в каком направлении идет и, очевидно, будет происходить развитие церковной периодики, необходимо обратиться к издательскому опыту прошлого.
Формирование системы печати РПЦ относится к началу XIX века, и уже к середине его Русская право
5 руб.