Лабораторная работа №5. Функциональное и логическое программирование. Вариант 7. ДО СибГУТИ.
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Программа для просмотра текстовых файлов
- Microsoft Word
Описание
Задание.
Преобразуйте текстовый файл, состоящий из нескольких строк, таким образом, чтобы все символы в каждой строке разделялись одним пробелом
Решение:
Считываем все строки из файла и заносим их в список.
Печатаем список с помощью предиката print так:
печатаем первый элемент с помощью предиката printstr, рекурсивно вызываем print для хвоста, пока он не пуст.
Предикат printstr принимает два параметра: первый (S) – часть строки, второй (SNew) – преобразованная часть строки.
Запись производится в тот же файл. Имя файла вводится с клавиатуры.
Листинг программы
domains
file = f
list = string*
predicates
open_file(string)
rewrite_file(string)
create_list(string, list)
printstr(string, string)
print(list)
clauses
open_file(FileName) :- existfile(FileName), !, openread(f, FileName), readdevice(f).
..........................
Преобразуйте текстовый файл, состоящий из нескольких строк, таким образом, чтобы все символы в каждой строке разделялись одним пробелом
Решение:
Считываем все строки из файла и заносим их в список.
Печатаем список с помощью предиката print так:
печатаем первый элемент с помощью предиката printstr, рекурсивно вызываем print для хвоста, пока он не пуст.
Предикат printstr принимает два параметра: первый (S) – часть строки, второй (SNew) – преобразованная часть строки.
Запись производится в тот же файл. Имя файла вводится с клавиатуры.
Листинг программы
domains
file = f
list = string*
predicates
open_file(string)
rewrite_file(string)
create_list(string, list)
printstr(string, string)
print(list)
clauses
open_file(FileName) :- existfile(FileName), !, openread(f, FileName), readdevice(f).
..........................
Дополнительная информация
Проверил: Галкина М.Ю.
Оценка:"Отлично!"
Без замечаний!
Год сдачи 2013.
Оценка:"Отлично!"
Без замечаний!
Год сдачи 2013.
Похожие материалы
Лабораторная работа № 5 по дисциплине Функциональное и логическое программирование. Вариант 7
Некто
: 16 сентября 2018
Условие задачи:
Преобразуйте текстовый файл, состоящий из нескольких строк, таким образом, чтобы все символы в каждой строке разделялись одним пробелом. При преобразовании файла должны быть сохранены переводы строк.
50 руб.
Контрольная работа. Функциональное и логическое программирование. Вариант 7. ДО СибГУТИ.
Olya
: 12 декабря 2017
Задание.
Вариант задачи выбирается по последней цифре пароля. Программы должны быть написаны на языке двух языках: Лисп и Пролог. В программе на Прологе исходные данные должны вводиться с клавиатуры, цель - внутренняя.
Сформируйте новый список, включающий в себя элементы, не входящие в два списка (симметpичную pазность множеств).
Например: На Лиспе для списков (1 2 3 5) и (6 4 1 8 3) результатом будет список
(2 5 6 4 8).
Листинг программы на языке Лисп
(DEFUN MEMBER (X L)
(COND
((NULL L)
200 руб.
Функциональное и логическое программирование. Вариант №7
hikewa8019
: 21 ноября 2021
Контрольная работа
Задание:
Реализовать на языке SWI-PROLOG программу для работы с базой данных об итогах сессии по 5 дисциплинам студентов определенной группы. Начальная база данных должна храниться в файле. В программе должно присутствовать меню из 5 пунктов, реализующих следующие возможности:
1. просмотр содержимого динамической базы данных (при запуске программы динамическая база данных должна заполняться из файла базы данных только один раз и только в этом пункте);
2. добавления записи в д
50 руб.
Лабораторные работы №1-5. Вариант №7. Функциональное и логическое программирование
ivanPBT22
: 28 мая 2015
Лабораторная работа №1
Задание
Опpеделите на языке ЛИСП и проверьте работу функции, возвращающей список позиций элемента, заданного параметром x, в списке L.
Например, при x=4, L=(8 3 4 6 4 1) функция должна возвращать список (3 5).
Лабораторная работа №2
Задание
Опpеделите на языке ЛИСП и проверьте работу функции, осуществляющей циклический сдвиг в списке на n элементов вправо.
Например, для списка (a s d f g) , n = 3 функция должна вернуть (d f g a s) .
Лабораторная работа №3
Задание
Опpе
250 руб.
Лабораторная работа №4. Функциональное и логическое программирование. Вариант №7. ДО СибГУТИ.
Olya
: 12 декабря 2017
Задание.
Напишите на языке ПРОЛОГ программу, которая в списке слов находит слово минимальной длины и ставит его первым (если таких слов несколько, то переставляется последнее найденное). Список вводится с клавиатуры, цель – внутренняя.
Например: Список [”baxg”,”add”,“f”,”qw”] преобразуется в [“f”,”baxg”,”add”,” qw”].
Листинг программы
domains
list = string*
predicates
search_min(integer, integer, integer, integer, list)
....................
search_min(P, M, Pm, Pres, [A|B]):- str_len(A, L
200 руб.
Лабораторная работа №2. Функциональное и логическое программирование. Вариант №7. ДО СибГУТИ.
Olya
: 12 декабря 2017
Задание.
Определите на языке ЛИСП и проверьте работу функции, осуществляющей циклический сдвиг в списке на n элементов вправо.
Например, для списка (a s d f g) , n = 3 функция должна вернуть (d f g a s) .
Решение – рекурсивное. Функция SHIFT осуществляет циклический сдвиг в списке на n элементов вправо.
Листинг программы:
(DEFUN SHIFT (L N)
(COND
................
200 руб.
Лабораторная работа №1. Функциональное и логическое программирование. Вариант 7. ДО СибГУТИ.
Olya
: 12 декабря 2017
Задание.
Определите на языке ЛИСП и проверьте работу функции, возвращающей список позиций элемента, заданного параметром x, в списке L.
Например, при x=4, L=(8 3 4 6 4 1) функция должна возвращать список (3 5).
Решение – рекурсивное. Функция CREATE формирует и возвращает список позиций элемента, заданного параметром x, в списке L.
Листинг программы
(DEFUN CREATE (L X N)
(COND
((NULL L) NIL)
...................
200 руб.
Лабораторная работа №3. Функциональное и логическое программирование. Вариант 7. ДО СибГУТИ.
Olya
: 12 декабря 2017
Задание.
Опpеделите на языке ЛИСП функционал, аналогичный встроенному предикату MAPLIST для одноуровнего списка. (Используйте применяющие функционалы). Проверьте работу функционала для функций:
-REVERSE;
-LIST.
Решение:
Определяем функционал MAPLIST1 для одноуровнего списка, используя применяющий функционал FUNCALL.
Листинг программы:
(defun maplist1 (fn l)
(cond
.................
200 руб.
Другие работы
Формирование электронных пучков. Магнитные фокусирующие линзы
wizardikoff
: 10 августа 2011
1.1 Классификация электронно-лучевых приборов.
1.2 Устройство и принцип действия трубки с электростатическим управлением.
1.3 Электростатическая фокусировка электронного луча.
2.1 Магнитные фокусирующие линзы.
2.2 Типы магнитных линз. Форма поля в магнитных линзах.
2.3 Механизм фокусировки в магнитной линзе.
2.4 Магнитная отклоняющая система.
2.5 Конструкция отклоняющих катушек.
2.6 Достоинства и недостатки электростатической и магнитной систем отклонения.
3.1 Использованная литература.
Электро
Задачи по дисциплне: Страхование
тантал
: 12 сентября 2013
Задание 1
Пусть по договору страхования жизни на 10 лет (на случай смерти) было застраховано 123 человека в возрасте 35 лет на общую страховую сумму 860 000 руб. Используя таблицу коммутационных, вычислите современную стоимость выплат по случаю смерти и нетто-ставку по такому договору страхования.
Задание 2.
Определите, как связаны между собой рисковая нетто-ставка и коэффициент соотношения рисков.
Задание 3.
Чему будет равна брутто-справка на 300 рублей срочной ренты (выплата в начале года),
100 руб.
Выберите грамматическую конструкцию, соответствующую каждому предложению. The news .. .yesterday impressed me greatly
ann1111
: 21 сентября 2023
Выберите грамматическую конструкцию, соответствующую каждому предложению.
The news .. .yesterday impressed me greatly
15 руб.
Лабораторные работы №1-5 по дисциплине "Основы системного программирования". Вариант №13.
teacher-sib
: 25 ноября 2016
Лабораторная работа №1
“Вычисление арифметических выражений”
Цель работы: Научиться использовать арифметические команды языка ассемблера.
Порядок выполнения работы:
1. В Far Manager создадим файл lab1.asm.
2. В файле lab1.asm наберем программу, которая вычисляет выражение -А/2+4•(В+1)+3•С и результат заносит в регистр АХ. Основные строки программы прокомментируем.
Лабораторная работа №2
“Оператор цикла LOOP. Команды условных переходов”
Цель работы: Научиться использовать оператор повторения и
500 руб.