Methods of organizing and using recursion on the “Prolog” logical programming language

Author(s):  
D.V. Zdor ◽  
◽  
T.N. Gornostaeva ◽  
E.V. Savelyeva ◽  
◽  
...  
2021 ◽  
Vol 21 (2) ◽  
pp. 200-206
Author(s):  
D. V. Zdor

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.


1980 ◽  
Vol 9 (126) ◽  
Author(s):  
Brian H. Mayoh

The semantics of a programming language are given by a function M from Programs to Meanings. In this paper we bring some uniformity into the definition of logical programming languages like LUCID and PROLOG by specifying M in Logic -> (Control -> Meanings). We describe how a context-free grammar can be assigned to each logical program and we identify Control with the language generated by the grammar. After this reduction there is no difference between the semantics of logical and conventional programming languages.


Author(s):  
Prof. Shilpa Shitole ◽  
Rohit Maurya ◽  
Tanaya Pawar ◽  
Siya Randhe

Industries evolve. Our thinking changes as well. Programming languages need evolvement too. “The thing is that ideas for new features with its ways of thinking will be flourished, and so perfectly designed those languages won’t be perfect anymore.” Where did logical programming go? “Notice that you can use this paradigm and just provide a set of constraints for a website and expect the website to develop automatically based on them.” It is possible to implement that. Likewise, new paradigms will sooner or later be born. It can’t be that we’ve explored everything. “Technologies are born likewise the old way of thinking, which represents by the previous programming languages might not be adequate. This project is an open-source modern object-oriented programming language that aims to bridge the gap between modern expressive programming paradigms like python and strictly typed rigid languages like Java and C#. Our goal is to provide the usefulness of an object-oriented programming language while holding the simplicity of an expressive programming language without having to sacrifice performance.


2008 ◽  
Vol 42 (43) ◽  
pp. 195-200
Author(s):  
Antanas Vidžiūnas ◽  
Artūras Mickus

Straipsnyje aptariami klasikiniai istoriškai susiformavę programavimo mokymo organizavimo aukštosiose mokyklose metodai, analizuojami jų trūkumai ir pateikiami siūlymai, kaip šių trūkumų būtų galima išvengti įdiegus integruoto pagrindinių koncepcijų mokymo programą. Dažniausiai tokias mokymo programas siūloma realizuoti specialiose mokymo aplinkose, sudarytose funkcinio programavimo kalbų pagrindu. Rengiant taikomosios informatikos specialistus, toks mokymo būdas nėra geras, nes per daug formalus ir pagrįstas specialiomis matematinėmis specifikacijomis. Remiantis autorių patirtimi, analizuojama, kaip integruoto programavimo koncepcijų mokymo principai gali būti įdiegti naudojant mokymui universalios paskirties C++ kalbą. Aptariama atskirų mokymo dalykų struktūra. Pabrėžiama tikslaus pagrindinių sąvokų kūrimo ir įvairias koncepcijas apimančių teorinių pagrindų kūrimo svarba įvadiniuose programavimo dalykuose, nes juose įgytos žinios turi didelę įtaką informatikos studentų požiūriui į savo specialybę ir tolesnių studijų sėkmei. Glaustai aptariama racionalios mokymo aplinkos parinkimo problema.Principles of integrated teaching programming concepts using C++Antanas Vidžiūnas, Artūras Mickus SummaryThe basic methods of teaching programming are presented and discussed paying attention to their disadvantages and possibilities to avoid them using integrated teaching of the main programming concepts. Usually the concept-based programmingteaching is associated with using of special teaching environment on logical programming language basis. This approach isn’t accessible in curricula for specialties in applied informatics because it is too formal and needs using of additional formal mathematical specifications. Experience of the authors shows, that it is possible to organize concept-based programming teaching using popular C++ language and structures of subjects for such studies are presented. It is emphasized that the main categories and concepts must be defined according the needs of all basic programming paradigms, because it has a great influence to the success in the further studies. Also the problem of using rational teaching environment is discussed.


لارك ◽  
2019 ◽  
Vol 1 (22) ◽  
pp. 475-485
Author(s):  
ليث أثير يوسف

كان الهدف من البحث بيان منطق الرتبة الاولى ومكوناته ورموزه وصيغه ومصطلحاته وكل مايتعلق به لما يمثل من اهمية في اوساط المنطق الرياضي وأهميته في حياتنا العملية فهذا المنطق له صيغ خاصة وطريقة في كتابة الرموز تختلف عن بقية حقول المنطق الرياضي فالمحمول هو من سيحدد شكل المصطلح وسيسلك في داخل الصيغة سلوك وظائف (دالية)( functional) والصيغة المعقدة تحتوي على اكثر من محمول فيها اضافة الى الاسوار التي ستحدد القضية من ناحية (الكم) ناهيك عن الية قيم صدق وكذب المصطلح والصيغ في هذا المنطق عن طريق منهج التفسير (interpretation) والحقيقة ان هذا النهج غريب وغير معروف في اوساط الاليات الرمزية والانساق المنطقية في منطق القضايا سواء بصيغه البسيطة أو المعقدة فقيم الصدق ( ثنائية القيم) هي ستحدد صدق الصيغ ، كما ان لمنطق الرتبة الاولى اساسات جعلت منه منطلقاً لاقامة منطق الرتبة الثانية (second order logic)[i] وهو النموذج المطور بالياته البرهانية وصيغه المعقدة عن الاول وكذلك اعتبر منطق الرتبة الاولى منطلقا لاقامة نظرية النماذج أو النمذجة ( models theory)[ii] تلك النظرية الرياضية التي تجمع مابين المجموعات الكلية في نظرية المجموعات والصيغ الجبرية بالاضافة الى ان منطق الرتبة الاولى ذا اهمية في تكوين لغات البرمجة المنطقية (logical programming language) ومنها لغة برولوغ (prolog) الشهيرة التي تعتمد بالاساس على هذا المنطق في بناء وتفسير صيغها وكذلك في مجال الذكاء الصناعي (artificial intelligence) . لذا كان من الضروري تقديم بيان ملخص ومفصل عن مكونات هذا النوع من المنطق الرياضي وشرح الياته الرياضية والمنطقية   [i] ) للاستزادة من الشرح المفصل حول موضوع (منطق الرتبة الثانية –second order logic) ينظر كتاب STEWART SHAPIRO, foundations without foundationalism, CLARENDON PRESS,Uk 1991,p.96 ) [ii] ) يعرفها جانغ (cc.chang) في كتابه (model theory) في مقدمته (ص1) الى ان هذه النظرية فرع من المنطق الرياضي وتتعامل مع اللغة الرمزية وتفسيراتها (formal language and its interpretations) أو مايسمى بالنماذج (Models)


Mathematics ◽  
2021 ◽  
Vol 10 (1) ◽  
pp. 113
Author(s):  
Sergey Goncharov ◽  
Andrey Nechesov

The problems associated with the construction of polynomial complexity computer programs require new techniques and approaches from mathematicians. One of such approaches is representing some class of polynomial algorithms as a certain class of special logical programs. Goncharov and Sviridenko described a logical programming language L0, where programs inductively are obtained from the set of Δ0-formulas using special terms. In their work, a new idea has been proposed to look at the term as a program. The computational complexity of such programs is polynomial. In the same years, a number of other logical languages with similar properties were created. However, the following question remained: can all polynomial algorithms be described in these languages? It is a long-standing problem, and the method of describing some polynomial algorithm in a not Turing complete logical programming language was not previously clear. In this paper, special types of terms and formulas have been found and added to solve this problem. One of the main contributions is the construction of p-iterative terms that simulate the work of the Turing machine. Using p-iterative terms, the work showed that class P is equal to class L, which extends the programming language L0 with p-iterative terms. Thus, it is shown that L is quite expressive and has no halting problem, which occurs in high-level programming languages. For these reasons, the logical language L can be used to create fast and reliable programs. The main limitation of the language L is that the implementation of algorithms of complexity is not higher than polynomial.


1978 ◽  
Vol 9 (4) ◽  
pp. 213-219
Author(s):  
Carol McCall Davis

This article describes methods of language programming for profoundly mentally retarded children that are based on linguistic principles. Examples of program contents are drawn from research reports and include cuing procedures, as well as progress from receptive through imitative behaviors, labeling responses, and grammatical sequencing.


Sign in / Sign up

Export Citation Format

Share Document