Affiliation:
1. Primorskaya State Academy of Agriculture
Abstract
Introduction. The organization of branches and repetitions in the context of logical programming is considered by an example of the Prolog language. The fundamental feature of the program in a logical programming language is the fact that a computer must solve a problem by reasoning like a human. Such a program contains a description of objects and relations between them in the language of mathematical logic. At the same time, the software implementation of branching and repetition remains a challenge in the absence of special operators for the indicated constructions in the logical language. The objectives of the study are to identify the most effective ways to solve problems using branching and repetition by means of the logic programming language Prolog, as well as to demonstrate the results obtained by examples of computational problems. Materials and Methods. An analysis of the literature on the subject of the study was carried out. Methods of generalization and systematization of knowledge, of the program testing, and analysis of the program execution were used. Results. Constructions of branching and repetition organization in a Prolog program are proposed. To organize repetitions, various options for completing a recursive cycle when solving problems are given. Discussion and Conclusions. The methods of organizing branches and repetitions in the logic programming language Prolog are considered. All these methods are illustrated by examples of solving computational problems. The results obtained can be used in the further development of the recursive predicates in logical programming languages, as well as in the educational process when studying logical programming in the Prolog language. The examples of programs given in the paper provide using them as a technological basis for programming branches and repetitions in the logic programming language Prolog.
Publisher
FSFEI HE Don State Technical University
Reference15 articles.
1. Genesys-Pro: Innovations in Test Program Generation for Functional Processor Verification / E. Adir, L. Almog, E. Fournier [et al.] // IEEE Design & Test of Computers. — 2014. — Vol. 21 (2). — P. 84–93. https://doi.org/10.1109/MDT.2004.1277900
2. ARM Architecture Reference Manual. ARM DDI 0487A.f. ARM Corporation, 2015. — 5886 p.
3. Kent D. Lee. Foundations of Programming Languages / Kent D. Lee // Springer, 2017. — 370 p.
4. Ute Schmid. Inductive Synthesis of Functional Programs: Universal Planning, Folding of Finite Programs, and Schema Abstraction by Analogical Reasoning / Ute Schmid // Springer Science & Business Media, 2013.
5. Adam Lally. Natural Language Processing with Prolog in the IBM Watson System / Adam Lally, Paul Fodor // Association for Logic Programming, 2011.