Функциональное и логическое программирование. Лабораторные работы №№1 - 5. Вариант 2.

Состав работы

material.view.file_icon
material.view.file_icon
material.view.file_icon lab1.lsp
material.view.file_icon Отчет.doc
material.view.file_icon
material.view.file_icon lab2.lsp
material.view.file_icon Отчет.doc
material.view.file_icon
material.view.file_icon lab3.lsp
material.view.file_icon Отчет.doc
material.view.file_icon
material.view.file_icon LAB4.EXE
material.view.file_icon LAB4.OBJ
material.view.file_icon lab4.pro
material.view.file_icon LAB4.SYM
material.view.file_icon Отчет.doc
material.view.file_icon
material.view.file_icon in.txt
material.view.file_icon LAB5.EXE
material.view.file_icon LAB5.OBJ
material.view.file_icon lab5.pro
material.view.file_icon LAB5.SYM
material.view.file_icon OUT.TXT
material.view.file_icon Отчет.doc

Необходимые программы

Работа представляет собой 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

Файл содержит сведения о сотрудниках учреждения в виде: фамилия имя отчество (сведения о каждом сотруднике размещаются на новой строке). Запишите эти сведения в другой файл по образцу: фамилия и.о.

Например, строка “Иванов Петр Николаевич” преобразуется в строку “Иванов П.Н.”.

Дополнительная информация

март 2016, зачтено
Функциональное и логическое программирование. Лабораторная работа №1. Вариант №2
Лабораторная работа №1 Вариант задачи выбирается по последней цифре пароля. Программа должна быть написана на языке ЛИСП. № Текст функции можно набирать в любом текстовом редакторе (например, в Блокноте). Файл следует сохранить с расширением lsp, лучше в той же папке, где находится ЛИСП. Запуск интерпретатора ЛИСПа и загрузки текста написанной функции можно осуществить 3 способами: Наложите с помощью мышки файл с текстом функции на файл mulisp.com. Запустите файл mulisp.com и после появлен
User nik200511 : 16 мая 2016
41 руб.
Лабораторная работа №1 по "Функциональное и логическое программирование".
Лабораторная работа №1 по "Функциональное и логическое программирование". Вариант 1. Задание к варианту 1. Определите на языке ЛИСП и проверьте работу функции, преобразующей список L в "двойной" список таким образом, чтобы каждый элемент удвоился. Например, при L=(1 2 3) функция должна возвращать список (1 1 2 2 3 3).
User Eva : 3 июня 2011
12 руб.
Лабораторная работа №1 По дисциплине: «Функциональное и логическое программирование»
Задание Опpеделите на языке ЛИСП и проверьте работу функции, преобразующей список L в "двойной" список таким образом, чтобы каждый элемент удвоился. Например, при L=(1 2 3) функция должна возвращать список (1 1 2 2 3 3). Описание решения Решение – рекурсивное. Функция CREATE преобразует список L в "двойной" список таким образом, чтобы каждый элемент удвоился.
User vohmin : 1 июня 2018
50 руб.
Лабораторная работа №1 по дисциплине Функциональное и логическое программирование
Определите на языке ЛИСП и проверьте работу функции, возвращающей список из n копий заданного атома x. Например, при x=4, n=5 функция должна возвращать список (4 4 4 4 4). 2. Описание функции, алгоритм работы Определим функцию с двумя аргументами (CopyN X N), где X-заданный атом, N-количество копий этого атома в возвращаемом списке. В первую очередь надо проверить, что заданное значение X – это атом. Если это не так, то функция вернет NIL и завершит работу. В противном случае проверим, что зада
User Dusya : 12 сентября 2012
100 руб.
Лабораторная работа № 1 по дисциплине: Функциональное и логическое программирование
Вариант 7 Условие задачи: Опpеделите на языке ЛИСП и проверьте работу функции, возвращающей список позиций элемента, заданного параметром x, в списке L. Исходный текст программы: (defun F (lambda (X L P) (cond ((null L) nil) ((equal X (car L))
User 1231233 : 29 января 2012
23 руб.
Лабораторные работы №1-3 по дисциплине: Функциональное и логическое программирование. Вариант 2
Лабораторная работа №1 Задание Напишите на языке CLISP программу для работы со списками по заданию. Обязательно использование рекурсии. Ввод всех входных данных должен запрашиваться с клавиатуры в процессе работы программы (функции). Не допускается использование: функционалов, а в теле рекурсивной функции - операторов SET и SETQ. 2. Преобразуйте одноуровневый список L во вложенный по следующему правилу. Например, при L=(a s d f g) функция должна вернуть (((((a) s) d) f) g). Текст прог
User Учеба "Под ключ" : 2 августа 2026
1200 руб.
promo
Функциональное и логическое программирование. Лабораторные работы №1-2. Вариант 5
Оп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).
User Beck910 : 2 апреля 2015
150 руб.
Функциональное и логическое программирование. Лабораторная работа №1. Вариант №1.
Лабораторная работа №1 Обработка списков в языке CLISP Условие задачи Напишите на языке CLISP программу для работы со списками по заданию. Обязательно использование рекурсии. Ввод всех входных данных должен запрашиваться с клавиатуры в процессе работы программы (функции). Не допускается использование: функционалов, а в теле рекурсивной функции - операторов SET и SETQ. Преобразуйте одноуровневый список L во вложенный по следующему правилу. Например, при L=(a s d f g) функция должна вернуть (
User nik200511 : 21 января 2020
143 руб.
Помехоустойчивое кодирование
Контрольное задание 1 а) рассчитать и построить график спектра весов циклического кода (7,3), определить его кодовое расстояние, гарантируемую кратность исправляемых и обнаруживаемых ошибок; б) рассчитать и построить распределение кратностей ошибок на входе и выходе декодера этого же кода, найти вероятность ошибки декодирования, если декодер используется в канале с независимыми ошибками. Вероятность ошибки в канале равна p=0,018. 2. Рассчитать и построить зависимость вероятности ошибки в канале
User liza131992 : 5 января 2016
260 руб.
Гидравлика ИжГТУ 2007 Задача 3.2 Вариант 23
Найти расход Q воды (ν=10-6 м²/c), подаваемый насосом с напором Нн из нижнего бака в верхний по трубопроводу длиной L, диаметром d, имеющему n резких поворотов. Задачу решить методом последовательных приближений. Вид трубы взять из табл.3.1. Найденный расход выразить в м³/c и д/c.
User Z24 : 17 октября 2025
220 руб.
Гидравлика ИжГТУ 2007 Задача 3.2 Вариант 23
Экзаменационная работа по дисциплине: Управление сетями связи. Билет №15
БИЛЕТ №15 1. Физическая архитектура TMN. 2. Описание информационных объектов с помощью ASN.1. 3. Задача: Определить из приведенного сообщения: 1. Версию протокола сетевого уровня 2. Приоритет сетевого уровня для данной дейтаграммы 3. Протокол транспортного уровня (Dec’код и название) 4. Сетевой адрес назначения 5. Транспортный порт отправителя 6. Транспортный порт получателя 7. Тип и класс тэга протокола прикладного уровня 8. Длину сообщения протокола прикладного уровня 9. Длину и содержимое
User Учеба "Под ключ" : 25 августа 2022
600 руб.
promo
Проект реконструкции АЗС с автомойкй и шиномонтажом
Здание имеет рамный каркас из стальных прокатных профилей: двутавры 45Б1, 45Б2, 40Б1. Рамы установлены вдоль цифровых осей. По рамам в уровне перекрытий уложены стальные прокатные балки из двутавров 35Б1, 20Б1. Пространственная устойчивость здания обеспечивается жестким каркасом и системой вертикальных и горизонтальных связей. Основная лестница выполняется в монолитном исполнении по стальным косоурам из прокатных профилей. Косоуры подвешиваются тяжами из швеллера 20 к балкам перекрытий. Наружная
User proekt-sto : 2 ноября 2012
50 руб.
up Наверх