Функциональное и логическое программирование. Лабораторные работы №№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-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 руб.
Функциональное и логическое программирование. Лабораторная работа №1. Вариант №1.
nik200511
: 8 июня 2018
Задание
Вариант 1
Опpеделите на языке ЛИСП и проверьте работу функции, преобразующей список L в "двойной" список таким образом, чтобы каждый элемент удвоился.
Например, при L=(1 2 3) функция должна возвращать список (1 1 2 2 3 3).
9 руб.
Другие работы
Направляющие системы электросвязи. Лабораторная работа № 1. Вариант 6
radist24
: 16 сентября 2012
" Лабораторная работа № 1 Вар. 06
Исследование собственных и дополнительных
затуханий в оптических кабелях связи
1.Цель работы
Цель работы является проведение компьютерного эксперимента по исследованию собственных и дополнительных затуханий в оптических кабелях связи:
- собственных затуханий;
- затуханий в местах соединений оптических волокон;
- затуханий на микроизгибах и макроизгибах.
50 руб.
Задачи по физике
anderwerty
: 23 января 2016
1. Стальной абсолютно жесткий стержень постоянного поперечного сечения длиной l=0.12 м, массой m=0.2 кг шарнирно закреплен нижним концом на плите, совершающей колебания с амплитудой y0=10 мм. Считая движение опоры гармоническим ( ), определить, при какой наименьшей частоте вертикальное положение стержня становится устойчивым.
Задача 3
Закрытый с обоих концов горизонтальный цилиндр длины L, имеющий площадь поперечного сечения S, разделен на равные половины поршнем массы m, способным скользить
100 руб.
Электропривод ножниц с наклонным ножом
VikkiROY
: 29 января 2015
Техническое задание
Расчёт и построение зависимости Мс=f(α)
Определение предварительно мощности двигателя
Расчёт сопротивлений пускового реостата
Выбор способа торможения и расчёт характеристики
Построение кривых скорости, тока и момента двигателя в функции времени при пуске и торможении, пользуясь методом Савинкова
Полная нагрузочная диаграмма электропривода
Количество кинетической энергии, отдаваемой маховыми массами на вал привода в моменты реза и запасаемой в периоды холостого хода Оп
45 руб.
Основы бухгалтерского учета.ои(dor_ДСИ) (1/2) Правильные ответы на тест Синергия МОИ МТИ МосАП.
alehaivanov
: 17 апреля 2026
Результат 100 баллов из 100
Основы бухгалтерского учета.ои(dor_ДСИ) (1/2)
УЧЕБНЫЕ МАТЕРИАЛЫ
1. Блок 1. Теоретические основы бухгалтерского учета
2. Блок 2. Бухгалтерский учет в организации
… – это первоначальная сумма средств организации, инвестированная собственниками в формирование ее активов для начала осуществления хозяйственной деятельности
Тип ответа: Текcтовый ответ
Бухгалтерский баланс – это …
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких пр
198 руб.