Функциональное и логическое программирование. Лабы 1-5. Вариант 02
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Необходимые программы
Работа представляет собой 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
Файл содержит сведения о сотрудниках учреждения в виде: фамилия имя отчество (сведения о каждом сотруднике размещаются на новой строке). Запишите эти сведения в другой файл по образцу: фамилия и.о.
Например, строка “Иванов Петр Николаевич” преобразуется в строку “Иванов П.Н.”.
Дополнительная информация
Уважаемый студент, дистанционного обучения,
Оценена Ваша работа по предмету: Функциональное и логическое программирование
Вид работы: Лабораторная работа 1-5
Оценка:Зачет
Дата оценки: 21.10.2017
Рецензия:Уважаемый,
Галкина Марина Юрьевна
Оценена Ваша работа по предмету: Функциональное и логическое программирование
Вид работы: Лабораторная работа 1-5
Оценка:Зачет
Дата оценки: 21.10.2017
Рецензия:Уважаемый,
Галкина Марина Юрьевна
Похожие материалы
Контрольная работа по дисциплине «Функциональное и логическое программирование». Вариант №02.
teacher-sib
: 23 января 2019
Задание
Реализовать на языке SWI-PROLOG программу для работы с базой данных об итогах сессии по 4 дисциплинам студентов определенной группы. Начальная база данных должна храниться в файле. В программе должно присутствовать меню из 5 пунктов, реализующих следующие возможности:
1. просмотр содержимого динамической базы данных (при запуске программы динамическая база данных должна заполняться из файла базы данных только один раз и только в этом пункте);
2. добавления записи в динамическую базу да
600 руб.
Контрольная работа По дисциплине: Функциональное и логическое программирование. Вариант № 02
Багдат
: 22 января 2018
Вариант задачи выбирается по последней цифре пароля. Программы должны быть написаны на языке двух языках: Лисп и Пролог. В программе на Прологе исходные данные должны вводиться с клавиатуры, цель - внутренняя
Вариант 2
Удалите из списка перед каждым вхождением X один элемент, если такой имеется и отличен от X.
Например: На Лиспе при x=1 и списке (1 2 1 1 3) результатом будет список (1 1 1 3).
43 руб.
Функциональное и логическое программирование
Михаил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 руб.
Функциональное и логическое программирование
alfFRED
: 25 июня 2013
Введение.
Постановка задачи.
Математические и алгоритмические основы решения задачи.
Функциональные модели и блок-схемы решения задачи.
Программная реализация решения задачи.
Пример выполнения программы.
Заключение.
Список использованных источников и литературы.
10 руб.
Функциональное и логическое программирование
piligrim-24
: 17 января 2012
Зачетное задание по дисциплине «Функциональное и логическое программирование»
Билет №11
1. На языке Лисп составьте композицию из функций CAR и CDR, для которой результатом применения этой композиции к списку ((1 (2 (3))) 4 (5)) будет 3.
2. Какое значение получит X в результате операции сопоставления (унификации) списков [a,b,c,d,e] и [_|X] в Прологе?
50 руб.
Другие работы
История классической мифологии
Qiwir
: 8 августа 2013
Греческая мифология, как и греческая культура в целом, представляет собою сплав различных элементов. Эти элементы привносились постепенно, на протяжении более тысячи лет. Около 19 в. до н.э. первые известные нам носители греческого языка вторглись с севера в Грецию и на острова Эгейского моря, смешавшись с уже жившими здесь племенами.
Об архаических греках мы не знаем практически ничего, кроме их языка, и мало что в классической мифологии восходит непосредственно к этой ранней эпохе. Однако с бо
5 руб.
Лабораторная работа №3. Тема: Принцип наследования. Создание иерархии классов. Классы и модули. По дисциплине: Объектно-ориентированное программирование
Udacha2013
: 4 сентября 2014
Лабораторная работа №3
Тема:
Принцип наследования.
Создание иерархии классов.
Классы и модули.
Задание:
Создать иерархию графических классов в соответствии с рисунком. Описания классов оформить в отдельном модуле.
Рекомендации к выполнению:
В данной лабораторной работе Вы должны написать, откомпилировать и сохранить модуль, содержащий описание классов графических фигур. Для этого изучите в лекциях §9 “Классы и модули” и разберите в примере 2.7 (§10) конспекта лекций модуль FIGURA. Т.е. В
200 руб.
БЖ. Вариант №33
SatanRay
: 8 декабря 2014
34. Вопрос : Классификация помещений по степени опасности поражения электрическим током.
61. Вопрос: Оказание первой помощи при поражении электрическим током.
Задача No5
На товарной сортировочной станции при переводе на запасной путь железнодорожного состава произошло столкновение автомобиля с цистерной, содержащей Qт изобутана. В результате соударения в цистерне образовалась дыра, а спустя 8-10 минут произошли возгорание вещества и взрыв образовавшегося парового облака.
Необходимо определить из
500 руб.
Метрология стандартизация и сертификация. Вариант 11. Лабораторная работа 1,2,3.
Gennady
: 3 апреля 2023
Контрольная задача.
В нормальных условиях произведено пятикратное измерение частоты. Класс точности прибора γ задан в таблице 2. Предельное значение шкалы 150 Гц. Используя результаты наблюдений (см. Таблицы No1 и No2), определить:
результат многократных наблюдений;
оценку СКО результата наблюдения;
оценку СКО результата измерения;
доверительные границы случайной составляющей погрешности результата измерения с заданной доверительной вероятностью;
предел допускаемой абсолютной погрешн
3000 руб.