Лабораторная работа. Функциональное и логическое программирование
Состав работы
|
|
|
|
|
|
|
|
|
|
Необходимые программы
Работа представляет собой 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 руб.
Лабораторная работа №2 по "Функциональное и логическое программирование".
Eva
: 3 июня 2011
Лабораторная работа №2 по "Функциональное и логическое программирование".
Задание к Варианту 1
Опpеделите на языке ЛИСП и проверьте работу функции, вычисляющей глубину списка (максимальное количество вложенных скобок).
Например, глубина списка ((((1))) 2 (3 4)) равна 4.
12 руб.
Лабораторная работа №1 по "Функциональное и логическое программирование".
Eva
: 3 июня 2011
Лабораторная работа №1 по "Функциональное и логическое программирование".
Вариант 1.
Задание к варианту 1.
Определите на языке ЛИСП и проверьте работу функции, преобразующей список L в "двойной" список таким образом, чтобы каждый элемент удвоился.
Например, при L=(1 2 3) функция должна возвращать список (1 1 2 2 3 3).
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 руб.
Другие работы
Теплотехника 5 задач Задача 4 Вариант 96
Z24
: 4 января 2026
Плоская стальная стенка толщиной δ1 (λ1 = 40 Вт/(м⸱К) с одной стороны омывается газами; при этом коэффициент теплоотдачи равен α1. С другой стороны стенка изолирована от окружающего воздуха плотно прилегающей к ней пластиной толщиной δ2 (λ2 = 0,15 Вт/(м⸱К). Коэффициент теплоотдачи от пластины к воздуху равен α2. Определить тепловой поток ql, Вт/м² и температуры t1, t2, и t3 поверхностей стенок, если температура продуктов сгорания tг, а воздуха — tв.
150 руб.
Математика (часть 2). Контрольная работа. Вариант: 6.
Cole82
: 5 июня 2015
1. Даны функция z=z(x,y), точка A(x0;y0) и вектор a(ax;ay). Найти: 1) grad z в точке А. 2) производную в точке А по направлению вектора a.
2. Вычислить с помощью двойного интеграла в полярных координатах площадь фигуры, ограниченной кривой, заданной уравнением в декартовых координатах.
3. Вычислить с помощью тройного интеграла объем тела, ограниченного указанными поверхностями.
4. Исследовать сходимость числового ряда.
5. Найти интервал сходимости степенного ряда
6. Вычислить определенный
21 руб.
Основы теории цепей. Курсовая работа. Вариант 06.
radist24
: 3 апреля 2012
Согласно заданию на курсовую работу на входе полосового фильтра действуют периодические радиоимпульсы (рис. 1.1) с параметрами:
1. период следования импульсов Ти = 120 мкс;
2. длительность импульсов tи = 40 мкс;
3. период несущей частоты Тн = 10 мкс;
4. амплитуда колебаний несущей частоты Um.н = 12 В.
5. Фильтр должен обеспечить максимально допустимое ослабление в полосе пропускания Атах = А = 1 дБ.
6. Полное ослабление на границах полос непропускания Апол = 19 дБ.
90 руб.
Теплотехника 21.03.01 КубГТУ Задача 1 Вариант 27
Z24
: 24 января 2026
Сравнить мощность, затраченную на сжатие метана в одно- и двухступенчатом компрессоре в случае политропного сжатия с показателем политропы n, если объемный расход метана при параметрах всасывания – V1, начальные параметры p1 и t1, а конечное давление — рк.
Определить температуру метана на выходе из компрессора и количество теплоты, отводимое от цилиндров и промежуточного теплообменника. Изобразить (без масштаба) процессы одно- и двухступенчатого сжатия на рυ- , Ts — диаграммах.
200 руб.