Функциональное и логическое программирование. Лабы 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 руб.
Другие работы
Экология
gugych
: 22 января 2015
Вариант 23.
Вопрос 7. Почему происходит изменение газового состава атмосферы и как распределяется загрязнение над поверхностью Земли? 3
Вопрос 23. Какова ответственность за экологические правонарушения? 8
Задача 1. Расчет влияния электромагнитных полей на человека 10
Задача 2. Анализ промышленного загрязнения озера. 16
Список литературы 20
500 руб.
Теплотехника Часть 1 Теплопередача Задача 30 Вариант 4
Z24
: 14 октября 2025
В пароводяном теплообменнике вода нагревается насыщенным паром (при р=0,6 МПа) от температуры t′ω=20 ºC до t″ω1=50 ºC. В результате интенсификации теплообмена температура подогрева воды повысилась до t″ω2 при неизменном расходе G=1 кг/c. Определить, во сколько раз увеличился коэффициент теплопередачи.
180 руб.
Автомобиль пожарный АЦ 3,2-40 на шасси КАМАЗ-4308 чертеж
Laguz
: 1 августа 2024
Чертеж пожарной автоцистерны в автокад, нанокад и еще сохранен в пдф
Автомобиль пожарный АЦ 3,2-40 на шасси КАМАЗ-4308
120 руб.
Векселя. Коносамент
GnobYTEL
: 6 ноября 2012
Содержание
Введение
1. Теоретическая часть
1.1 Векселя
1.2 Коносамент
2. Практическая часть
2.1 Решение задачи по теме "Акции"
2.2 Решение задачи по теме "Облигации"
2.3 Решение задачи по теме "Векселя"
Заключение
Библиографический список