Функциональное и логическое программирование. Лабы 1-5. Вариант 02

Состав работы

material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon lab1.lsp
material.view.file_icon Лабораторная работа № 1.doc
material.view.file_icon
material.view.file_icon lab2.lsp
material.view.file_icon Лабораторная работа № 2.doc
material.view.file_icon
material.view.file_icon lab3.lsp
material.view.file_icon Лабораторная работа № 3.doc
material.view.file_icon
material.view.file_icon LAB4.EXE
material.view.file_icon LAB4.OBJ
material.view.file_icon lab4.pro
material.view.file_icon LAB4.SYM
material.view.file_icon Лабораторная работа № 4.doc
material.view.file_icon
material.view.file_icon in.txt
material.view.file_icon LAB5.EXE
material.view.file_icon LAB5.OBJ
material.view.file_icon lab5.pro
material.view.file_icon LAB5.SYM
material.view.file_icon OUT.TXT
material.view.file_icon Лабораторная работа № 5.doc

Необходимые программы

Работа представляет собой 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

Файл содержит сведения о сотрудниках учреждения в виде: фамилия имя отчество (сведения о каждом сотруднике размещаются на новой строке). Запишите эти сведения в другой файл по образцу: фамилия и.о.

Например, строка “Иванов Петр Николаевич” преобразуется в строку “Иванов П.Н.”.

Дополнительная информация

Уважаемый студент, дистанционного обучения,
Оценена Ваша работа по предмету: Функциональное и логическое программирование
Вид работы: Лабораторная работа 1-5
Оценка:Зачет
Дата оценки: 21.10.2017
Рецензия:Уважаемый,

Галкина Марина Юрьевна
Контрольная работа по дисциплине «Функциональное и логическое программирование». Вариант №02.
Задание Реализовать на языке SWI-PROLOG программу для работы с базой данных об итогах сессии по 4 дисциплинам студентов определенной группы. Начальная база данных должна храниться в файле. В программе должно присутствовать меню из 5 пунктов, реализующих следующие возможности: 1. просмотр содержимого динамической базы данных (при запуске программы динамическая база данных должна заполняться из файла базы данных только один раз и только в этом пункте); 2. добавления записи в динамическую базу да
User teacher-sib : 23 января 2019
600 руб.
promo
Контрольная работа По дисциплине: Функциональное и логическое программирование. Вариант № 02
Вариант задачи выбирается по последней цифре пароля. Программы должны быть написаны на языке двух языках: Лисп и Пролог. В программе на Прологе исходные данные должны вводиться с клавиатуры, цель - внутренняя Вариант 2 Удалите из списка перед каждым вхождением X один элемент, если такой имеется и отличен от X. Например: На Лиспе при x=1 и списке (1 2 1 1 3) результатом будет список (1 1 1 3).
User Багдат : 22 января 2018
43 руб.
Контрольная работа По дисциплине: Функциональное и логическое программирование. Вариант № 02
Функциональное и логическое программирование
Билет №4 1. На языке Clisp определите функцию, которая меняет местами второй и третий элементы произвольного списка (в теле функции разрешается использовать только следующие встроенные функции: CAR,CDR,CONS,APPEND,LIST,LAST,BUTLASTс одним аргументом,REVERSE). 2. Какое значение получит Xв результате операции сопоставления (унификации) списков [a,b,c,d] и [_,_,_|X] в языке SWI-Prolog?
User Михаил18 : 26 сентября 2019
200 руб.
Функциональное и логическое программирование
Напишите на языке SWI-PROLOG программу для работы с базой данных по заданию. Начальная база данных должна храниться в файле. В программе должно присутствовать меню из 5 пунктов, реализующих следующие возможности: 1. просмотр содержимого динамической базы данных (при запуске программы динамическая база данных должна заполняться из файла базы данных только один раз и только в этом пункте); 2. добавления записи в динамическую базу данных (за один вход в этот пункт должна быть возможность добавлени
User Михаил18 : 26 сентября 2019
200 руб.
Функциональное и логическое программирование
Контрольная работа Во вложении Word+prolog Создание базу данных с расписанием движения поездов: номер поезда, пункт назначения, время отправления, время прибытия. Найти номер и время отправления ближайшего по-езда до Москвы. Текущее время вводится с клавиатуры.
User Mikola456 : 27 мая 2016
700 руб.
Функциональное и логическое программирование
ЛАБОРАТОРНАЯ РАБОТА №1 Вариант задачи выбирается по последней цифре зачетной книжки. Текст функции сохраняйте в файле. Функция может вызывать вспомогательные функции. В теле функций использование операторов set и setq не допускается! Опpеделите на языке ЛИСП и проверьте работу функции, осуществляющей циклический сдвиг в списке на n элементов вправо. Например, для списка (a s d f g) , n = 3 функция должна вернуть (d f g a s) . ЛАБОРАТОРНАЯ РАБОТА №1 Программы должны быть написаны на языке дв
User Mikola456 : 27 мая 2016
500 руб.
Функциональное и логическое программирование
Введение. Постановка задачи. Математические и алгоритмические основы решения задачи. Функциональные модели и блок-схемы решения задачи. Программная реализация решения задачи. Пример выполнения программы. Заключение. Список использованных источников и литературы.
User alfFRED : 25 июня 2013
10 руб.
Функциональное и логическое программирование
Зачетное задание по дисциплине «Функциональное и логическое программирование» Билет №11 1. На языке Лисп составьте композицию из функций CAR и CDR, для которой результатом применения этой композиции к списку ((1 (2 (3))) 4 (5)) будет 3. 2. Какое значение получит X в результате операции сопоставления (унификации) списков [a,b,c,d,e] и [_|X] в Прологе?
User piligrim-24 : 17 января 2012
50 руб.
Зачетная работа по предмету. Схемотехника телекоммуникационных устройств (часть 1-я). Билет №3
Билет No3 1. Поясните отличие линейных искажений от нелинейных. Каковы причины их появления? Приведите примеры линейных и нелинейных искажений (во временной и частотной области) при подаче на вход гармонического сигнала. Как количественно оценить линейные и нелинейные искажения? 2. Каким должен быть коэффициент усиления по мощности выходного каскада трехкаскадного усилителя, если входная мощность сигнала 100 мкВт обеспечивает выходное напряжение 4В на нагрузке 2 Ом, коэффициенты усиления по мощн
User ZhmurovaUlia : 18 марта 2018
130 руб.
Онлайн Тест 9 по дисциплине: Элементная база телекоммуникационных систем.
Вопрос №1 Уровень максимальной мощности, на котором измеряется ширина спектра излучения СИДа, равен... 0,2 0,5 0,707 0,9 Нет правильного ответа Вопрос №2 Какое соединение конденсаторов эффективно увеличивает толщину диэлектрика? Параллельное Последовательное Соединение не влияет на толщину диэлектрика Нет правильного ответа Вопрос №3 Укажите полярность напряжения на эмиттере и коллекторе транзистора типа p-n-p. минус, плюс плюс, минус минус, минус нет правильного ответа Вопрос №4
User IT-STUDHELP : 29 сентября 2023
480 руб.
promo
Теплотехника СибАДИ 2009 Задача 5 Вариант 13
Одноцилиндровый одноступенчатый поршневой компрессор сжимает воздух от атмосферного давления р1=0,1 МПа до требуемого давления р2. Определить эффективную мощность привода компрессора и необходимую мощность электродвигателя с запасом 10% на перегрузку, если диаметр цилиндра D (м), ход поршня S (м), частота вращения вала n (об/c), относительный объем вредного пространства δ=0,05, показатель политропы расширения остающегося во вредном объеме газа m, коэффициент, учитывающий, уменьшение давления газ
User Z24 : 14 декабря 2025
150 руб.
Теплотехника СибАДИ 2009 Задача 5 Вариант 13
Лабораторная работа №2 по предмету «Эконометрика»
Практическое занятие №2. «Применение Eviews при построении и анализе линейной однофакторной модели регрессии» Пример 2. Имеются следующие данные по 10 фермерским хозяйствам области: № п\п 1 2 3 4 5 6 7 8 9 10 Урожайность зерновых ц\га 15 12 17 21 25 20 24 14 23 13 Внесено удобрений на 1 га посевов, кг 4,0 2,5 5,0 5,8 7,5 5,7 7,0 3,0 6,0 3,5 1. Создать файл с исходными данными в среде Excel (файл example_02.xls). 2.Осуществить импорт исходных данных в Eviews. 3. Создать workfile (рабочий файл).
User ДО Сибгути : 25 сентября 2013
100 руб.
promo
up Наверх