courses:knowledge_base_and_expert_system:lab4

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
courses:knowledge_base_and_expert_system:lab4 [2019/08/28 23:20]
andrey.suchkov [Основные теоретические положения]
courses:knowledge_base_and_expert_system:lab4 [2022/12/10 09:08] (current)
Line 1: Line 1:
-====== Лабораторная работа №4: Рекурсивные структуры данных. Деревья ======+====== Лабораторная работа №4: Рекурсивные структуры данных ​еревья======
 ===== Цель работы ===== ===== Цель работы =====
 +Изучение и исследование рекурсивных структур данных в языке Visual Prolog на примере деревьев.
 ===== Основные теоретические положения ===== ===== Основные теоретические положения =====
 Деревья,​ также как и списки,​ являются рекурсивным типом данных. Дерево -- это структура данных,​ которая может быть разделена на корень дерева,​ левое и правое поддеревья. Так как левое и правое поддеревья в свою очередь являются деревьями,​ структура рекурсивна. Кроме того, дерево является еще и составным объектом данных. Деревья,​ также как и списки,​ являются рекурсивным типом данных. Дерево -- это структура данных,​ которая может быть разделена на корень дерева,​ левое и правое поддеревья. Так как левое и правое поддеревья в свою очередь являются деревьями,​ структура рекурсивна. Кроме того, дерево является еще и составным объектом данных.
Line 54: Line 55:
 Следует отметить,​ что в большинстве случает рекурсия,​ используемая при работе с деревьями,​ хвостовой не является,​ так приходится обрабатывать левое и правое поддеревья,​ что дает две рекурсивные цели в одном предложении и, соответственно,​ не выполняется первое правило хвостовой рекурсии - рекурсивный вызов должен быть последней целью в хвостовой части правила вывода. Следует отметить,​ что в большинстве случает рекурсия,​ используемая при работе с деревьями,​ хвостовой не является,​ так приходится обрабатывать левое и правое поддеревья,​ что дает две рекурсивные цели в одном предложении и, соответственно,​ не выполняется первое правило хвостовой рекурсии - рекурсивный вызов должен быть последней целью в хвостовой части правила вывода.
 ===== Постановка задачи ===== ===== Постановка задачи =====
 +Реализовать на языке Visual Prolog программу,​ выполняющую заданные операции над деревьями в соответствии с индивидуальным вариантом задания.
 ===== Порядок выполнения работы ===== ===== Порядок выполнения работы =====
 +  - Напишите на языке Visual Prolog программу,​ реализующую заданные операции над списками в соответствии с индивидуальным вариантом задания.
 +  - Произведите отладку программы в системе Visual Prolog.
 +  - Постройте трассу программы при выполнении каждого запроса.
 ===== Варианты заданий ===== ===== Варианты заданий =====
 +[[.lab4:​lab4_vars]]
 ===== Содержание отчёта ===== ===== Содержание отчёта =====
 +  * Цель работы.
 +  * Краткое изложение основных теоретических понятий.
 +  * Постановка задачи с кратким описанием порядка выполнения работы.
 +  * Трассы выполнения запросов и объяснение результатов их выполнения.
 +  * Общий вывод по проделанной работе.
 +  * Код программы.
courses/knowledge_base_and_expert_system/lab4.1567034456.txt.gz · Last modified: 2022/12/10 09:08 (external edit)