Лабораторная работа №5. Функциональное и логическое программирование. Вариант 7. ДО СибГУТИ.

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

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 Лабораторная работа №5.doc
Работа представляет собой 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).
..........................

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

Проверил: Галкина М.Ю.
Оценка:"Отлично!"
Без замечаний!
Год сдачи 2013.
Лабораторная работа № 5 по дисциплине Функциональное и логическое программирование. Вариант 7
Условие задачи: Преобразуйте текстовый файл, состоящий из нескольких строк, таким образом, чтобы все символы в каждой строке разделялись одним пробелом. При преобразовании файла должны быть сохранены переводы строк.
User Некто : 16 сентября 2018
50 руб.
Контрольная работа. Функциональное и логическое программирование. Вариант 7. ДО СибГУТИ.
Задание. Вариант задачи выбирается по последней цифре пароля. Программы должны быть написаны на языке двух языках: Лисп и Пролог. В программе на Прологе исходные данные должны вводиться с клавиатуры, цель - внутренняя. Сформируйте новый список, включающий в себя элементы, не входящие в два списка (симметpичную pазность множеств). Например: На Лиспе для списков (1 2 3 5) и (6 4 1 8 3) результатом будет список (2 5 6 4 8). Листинг программы на языке Лисп (DEFUN MEMBER (X L) (COND ((NULL L)
User Olya : 12 декабря 2017
200 руб.
Контрольная работа. Функциональное и логическое программирование. Вариант 7. ДО СибГУТИ.
Функциональное и логическое программирование. Вариант №7
Контрольная работа Задание: Реализовать на языке SWI-PROLOG программу для работы с базой данных об итогах сессии по 5 дисциплинам студентов определенной группы. Начальная база данных должна храниться в файле. В программе должно присутствовать меню из 5 пунктов, реализующих следующие возможности: 1. просмотр содержимого динамической базы данных (при запуске программы динамическая база данных должна заполняться из файла базы данных только один раз и только в этом пункте); 2. добавления записи в д
User hikewa8019 : 21 ноября 2021
50 руб.
Лабораторные работы №1-5. Вариант №7. Функциональное и логическое программирование
Лабораторная работа №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е
User ivanPBT22 : 28 мая 2015
250 руб.
Лабораторная работа №4. Функциональное и логическое программирование. Вариант №7. ДО СибГУТИ.
Задание. Напишите на языке ПРОЛОГ программу, которая в списке слов находит слово минимальной длины и ставит его первым (если таких слов несколько, то переставляется последнее найденное). Список вводится с клавиатуры, цель – внутренняя. Например: Список [”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
User Olya : 12 декабря 2017
200 руб.
Лабораторная работа №4. Функциональное и логическое программирование. Вариант №7. ДО СибГУТИ.
Лабораторная работа №2. Функциональное и логическое программирование. Вариант №7. ДО СибГУТИ.
Задание. Определите на языке ЛИСП и проверьте работу функции, осуществляющей циклический сдвиг в списке на n элементов вправо. Например, для списка (a s d f g) , n = 3 функция должна вернуть (d f g a s) . Решение – рекурсивное. Функция SHIFT осуществляет циклический сдвиг в списке на n элементов вправо. Листинг программы: (DEFUN SHIFT (L N) (COND ................
User Olya : 12 декабря 2017
200 руб.
Лабораторная работа №2. Функциональное и логическое программирование. Вариант №7. ДО СибГУТИ.
Лабораторная работа №1. Функциональное и логическое программирование. Вариант 7. ДО СибГУТИ.
Задание. Определите на языке ЛИСП и проверьте работу функции, возвращающей список позиций элемента, заданного параметром 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) ...................
User Olya : 12 декабря 2017
200 руб.
Лабораторная работа №1. Функциональное и логическое программирование. Вариант 7. ДО СибГУТИ.
Лабораторная работа №3. Функциональное и логическое программирование. Вариант 7. ДО СибГУТИ.
Задание. Опpеделите на языке ЛИСП функционал, аналогичный встроенному предикату MAPLIST для одноуровнего списка. (Используйте применяющие функционалы). Проверьте работу функционала для функций: -REVERSE; -LIST. Решение: Определяем функционал MAPLIST1 для одноуровнего списка, используя применяющий функционал FUNCALL. Листинг программы: (defun maplist1 (fn l) (cond .................
User Olya : 12 декабря 2017
200 руб.
Лабораторная работа №3. Функциональное и логическое программирование. Вариант 7. ДО СибГУТИ.
Формирование электронных пучков. Магнитные фокусирующие линзы
1.1 Классификация электронно-лучевых приборов. 1.2 Устройство и принцип действия трубки с электростатическим управлением. 1.3 Электростатическая фокусировка электронного луча. 2.1 Магнитные фокусирующие линзы. 2.2 Типы магнитных линз. Форма поля в магнитных линзах. 2.3 Механизм фокусировки в магнитной линзе. 2.4 Магнитная отклоняющая система. 2.5 Конструкция отклоняющих катушек. 2.6 Достоинства и недостатки электростатической и магнитной систем отклонения. 3.1 Использованная литература. Электро
User wizardikoff : 10 августа 2011
Задачи по дисциплне: Страхование
Задание 1 Пусть по договору страхования жизни на 10 лет (на случай смерти) было застраховано 123 человека в возрасте 35 лет на общую страховую сумму 860 000 руб. Используя таблицу коммутационных, вычислите современную стоимость выплат по случаю смерти и нетто-ставку по такому договору страхования. Задание 2. Определите, как связаны между собой рисковая нетто-ставка и коэффициент соотношения рисков. Задание 3. Чему будет равна брутто-справка на 300 рублей срочной ренты (выплата в начале года),
User тантал : 12 сентября 2013
100 руб.
Выберите грамматическую конструкцию, соответствующую каждому предложению. The news .. .yesterday impressed me greatly
Выберите грамматическую конструкцию, соответствующую каждому предложению. The news .. .yesterday impressed me greatly
User ann1111 : 21 сентября 2023
15 руб.
Лабораторные работы №1-5 по дисциплине "Основы системного программирования". Вариант №13.
Лабораторная работа №1 “Вычисление арифметических выражений” Цель работы: Научиться использовать арифметические команды языка ассемблера. Порядок выполнения работы: 1. В Far Manager создадим файл lab1.asm. 2. В файле lab1.asm наберем программу, которая вычисляет выражение -А/2+4•(В+1)+3•С и результат заносит в регистр АХ. Основные строки программы прокомментируем. Лабораторная работа №2 “Оператор цикла LOOP. Команды условных переходов” Цель работы: Научиться использовать оператор повторения и
User teacher-sib : 25 ноября 2016
500 руб.
promo
up Наверх