The Oretical Foundations of the Organization of Branches and Repetitions in Programs in the Logical Programming Language Prolog
Authors: ЗДОР Д.В. 
Published: August 2024

Статья посвящена проблеме организации ветвлений и повторений в контексте логического программирования на примере языка Пролог. Принципиальной особенностью программы на языке логического программирования выступает то обстоятельство, что компьютер должен решать задачу, проводя рассуждения подобно человеку. Программа на логическом языке содержит описание объектов и отношений между ними на языке математической логики. При этом остается актуальным вопрос программной реализации ветвлений и повторений в условиях отсутствия в логическом языке специальных операторов, реализующих указанные конструкции. Цель работы: выявить способы решения задач с применением ветвлений и повторений средствами языка логического программирования Пролог, продемонстрировать полученные результаты на примерах вычислительных задач. Анализ специальной литературы по теме исследование, обобщение и систематизация знаний, тестирование программы, анализ хода выполнения программы. Предложены конструкции организации ветвлений и повторений в программе на языке Пролог. Для организации повторений предложены различные варианты завершения рекурсивного цикла при решении задач. В статье рассмотрены различные способы организации ветвлений и повторений на языке логического программирования Пролог. Все рассмотренные способы были продемонстрированы на примерах решения задач вычислительного характера.Полученные результаты могут быть использованы в дальнейшей разработке вопросов использования рекурсивных предикатов в логических языках программирования, а также использоваться в учебном процессе при изучении логического программирования на языке Пролог.

The article is devoted to the problem of branching and repetition organization in the context of logical programming using the example of the Prolog language. A fundamental feature of a program in a logical programming language is the fact that a computer must solve a problem by reasoning like a person. A program in a logical language contains a description of objects and relations between them in the language of mathematical logic. At the same time, the issue of software implementation of branching and repetition remains relevant in the absence of special operators in the logical language that implement the indicated constructions. Purpose of the work: to identify ways to solve problems using branches and repetitions using the logic programming language Prolog, to demonstrate the results obtained using examples of computational problems. Analysis of special literature on the topic of research, generalization and systematization of knowledge, testing of the program, analysis of the progress of the program. Constructions of branching and repetition organization in a Prolog program are proposed. To organize repetitions, various options for completing a recursive cycle in solving problems are proposed. The article discusses various ways of organizing branches and repetitions in the logic programming language Prolog. All considered methods were demonstrated by examples of solving computational problems. The results obtained can be used in the further development of the issues of using recursive predicates in logical programming languages, as well as used in the educational process in the study of logical programming in the Prolog language.