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
Next revision Both sides next revision
courses:knowledge_base_and_expert_system:lab4 [2019/08/28 23:20]
andrey.suchkov [Основные теоретические положения]
courses:knowledge_base_and_expert_system:lab4 [2019/10/03 22:59]
andrey.suchkov [Цель работы]
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.txt · Last modified: 2022/12/10 09:08 (external edit)