Лабораторная работа. Функциональное и логическое программирование
Состав работы
|
|
|
|
|
|
|
|
|
|
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Программа для просмотра текстовых файлов
Описание
Лабораторная работа №1
Программа должна быть написана на языке ЛИСП.
Текст функции можно набирать в любом текстовом редакторе (например, в Блокноте). Файл следует сохранить с расширением lsp, лучше в той же папке, где находится ЛИСП. Запуск интерпретатора ЛИСПа и загрузки текста написанной функции можно осуществить 3 способами:
1. Наложите с помощью мышки файл с текстом функции на файл mulisp.com.
2. Запустите файл mulisp.com и после появления приглашения в виде $ введите в командную строку:
load 'имя файла
3. Скопируйте в буфер обмена текст функции, запустите файл 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 не допускается!
Вариант 4
Опpеделите на языке ЛИСП и проверьте работу функции, удаляющей n первых элементов из списка L.
Например, при n=3, L=(2 6 1 7 0) функция должна возвращать список (7 0).
Программа должна быть написана на языке ЛИСП.
Текст функции можно набирать в любом текстовом редакторе (например, в Блокноте). Файл следует сохранить с расширением lsp, лучше в той же папке, где находится ЛИСП. Запуск интерпретатора ЛИСПа и загрузки текста написанной функции можно осуществить 3 способами:
1. Наложите с помощью мышки файл с текстом функции на файл mulisp.com.
2. Запустите файл mulisp.com и после появления приглашения в виде $ введите в командную строку:
load 'имя файла
3. Скопируйте в буфер обмена текст функции, запустите файл 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 не допускается!
Вариант 4
Опpеделите на языке ЛИСП и проверьте работу функции, удаляющей n первых элементов из списка L.
Например, при n=3, L=(2 6 1 7 0) функция должна возвращать список (7 0).
Дополнительная информация
Работа сдавалась в СибГУТИ в 2010 году, зачтена.
Могу выполнить любые другие задания.
Могу выполнить любые другие задания.
Похожие материалы
Функциональное и логическое программирование. Лабораторная работа 1,2,3.
holm4enko87
: 10 января 2025
Лабораторная работа № 1
Задание
Напишите на языке CLISP программу для работы со списками по заданию. Обязательно использование рекурсии. Ввод всех входных данных должен запрашиваться с клавиатуры в процессе работы программы (функции). Не допускается использование: функционалов, а в теле рекурсивной функции - операторов SET и SETQ.
Преобразуйте одноуровневый список L во вложенный по следующему правилу.
Например, при L=(a s d f g) функция должна вернуть (a (s (d (f (g))))).
Лабораторная р
300 руб.
Лабораторные работы. Функциональное и логическое программирование (СибГУТИ)
Lost
: 15 февраля 2012
Задание к лабораторной работе 1
Для каждого из примеров составить описание функции c рекурсивным её вычислением и вычислить любой её указатель с получением соответствующего ответа.
1. Числа Фибоначчи Fn вычисляются по итерационной формуле: Fn=Fn-1 + Fn-2 . Исходные два значения будут: F0=0 и F1=1. Составить описание функции для вычисления: F2 F3 F4 … и вычислить любой её указатель с привидением соответствующего ответа.
2. Факториал N!=1*2*3…*N вычисляется по итерационной формуле: N!=N*(N-1)! .
70 руб.
Лабораторная работа №1 по "Функциональное и логическое программирование".
Eva
: 3 июня 2011
Лабораторная работа №1 по "Функциональное и логическое программирование".
Вариант 1.
Задание к варианту 1.
Определите на языке ЛИСП и проверьте работу функции, преобразующей список L в "двойной" список таким образом, чтобы каждый элемент удвоился.
Например, при L=(1 2 3) функция должна возвращать список (1 1 2 2 3 3).
12 руб.
Лабораторная работа №2 по "Функциональное и логическое программирование".
Eva
: 3 июня 2011
Лабораторная работа №2 по "Функциональное и логическое программирование".
Задание к Варианту 1
Опpеделите на языке ЛИСП и проверьте работу функции, вычисляющей глубину списка (максимальное количество вложенных скобок).
Например, глубина списка ((((1))) 2 (3 4)) равна 4.
12 руб.
Функциональное и логическое программирование
Михаил18
: 26 сентября 2019
Билет №4
1. На языке Clisp определите функцию, которая меняет местами второй и третий элементы произвольного списка (в теле функции разрешается использовать только следующие встроенные функции: CAR,CDR,CONS,APPEND,LIST,LAST,BUTLASTс одним аргументом,REVERSE).
2. Какое значение получит Xв результате операции сопоставления (унификации) списков [a,b,c,d] и [_,_,_|X] в языке SWI-Prolog?
200 руб.
Функциональное и логическое программирование
Михаил18
: 26 сентября 2019
Напишите на языке SWI-PROLOG программу для работы с базой данных по заданию. Начальная база данных должна храниться в файле. В программе должно присутствовать меню из 5 пунктов, реализующих следующие возможности:
1. просмотр содержимого динамической базы данных (при запуске программы динамическая база данных должна заполняться из файла базы данных только один раз и только в этом пункте);
2. добавления записи в динамическую базу данных (за один вход в этот пункт должна быть возможность добавлени
200 руб.
Функциональное и логическое программирование
Mikola456
: 27 мая 2016
Контрольная работа
Во вложении Word+prolog
Создание базу данных с расписанием движения поездов: номер поезда, пункт назначения, время отправления, время прибытия. Найти номер и время отправления ближайшего по-езда до Москвы. Текущее время вводится с клавиатуры.
700 руб.
Функциональное и логическое программирование
Mikola456
: 27 мая 2016
ЛАБОРАТОРНАЯ РАБОТА №1
Вариант задачи выбирается по последней цифре зачетной книжки. Текст функции сохраняйте в файле. Функция может вызывать вспомогательные функции. В теле функций использование операторов set и setq не допускается!
Опpеделите на языке ЛИСП и проверьте работу функции, осуществляющей циклический сдвиг в списке на n элементов вправо.
Например, для списка (a s d f g) , n = 3 функция должна вернуть (d f g a s) .
ЛАБОРАТОРНАЯ РАБОТА №1
Программы должны быть написаны на языке дв
500 руб.
Другие работы
Гидравлика Задача 4.60 Вариант 23
Z24
: 23 ноября 2025
Для заданной схемы определить горизонтальную (Рх) и вертикальную (Рz) составляющие силы избыточного гидростатического давления. Определить полную силу Р. Показать на схеме тело давления. Закрытый сосуд наполнен водой.
180 руб.
Криптографические методы защиты информации. Лабораторная работа №1. Вариант №6
zcbr22
: 13 августа 2025
Задание лабораторной работы:
1. Написать и отладить набор подпрограмм (функций), реализующих алгоритмы возведения в степень по модулю, вычисление наибольшего общего делителя, вычисление инверсии по модулю.
2. Используя написанные подпрограммы, реализовать систему Диффи-Хеллмана, шифры Шамира, Эль-Гамаля и RSA, в частности:
2.1. Для системы Диффи-Хеллмана с параметрами p = 30803, g = 2, XA = 1000, XB = 2000 вычислить открытые ключи и общий секретный ключ.
2.2 Для шифра Шамира с параметрами p =
250 руб.
Алгебра и геометрия
blur
: 6 февраля 2023
1. Решить систему уравнений методом Крамера и методом Гаусса
2. Для данной матрицы найти обратную матрицу.
3. Даны векторы
Найти:
a) угол между векторами и ;
b) проекцию вектора на вектор ;
c) векторное произведение ;
d) площадь треугольника, построенного на векторах .
4. Даны координаты вершин треугольника
a) составить уравнение стороны АВ
b) составить уравнение высоты АD
c) найти длину медианы ВЕ
d) найти точку пересечения высот треугольника АВС.
5. Даны координаты вершин п
50 руб.
Теплотехника МГУПП 2015 Задача 3.2 Вариант 63
Z24
: 8 января 2026
Определить необходимую толщину слоя теплоизоляции δиз наружной стены холодильной камеры (рис. 3), если:
толщина стены δст;
коэффициенты теплопроводности соответственно материала стены и теплоизоляции λст и λиз;
температура наружного воздуха и воздуха в холодильной камере tв1 и tв2;
коэффициенты теплоотдачи от наружного воздуха к стене α1 и от поверхности теплоизоляции к воздуху в холодильной камере α2;
заданная плотность теплового потока q.Оценить также температуры поверхностей tc1, tc2 и
150 руб.