Preview

Advanced Engineering Research

Расширенный поиск

Теоретические основы организации ветвлений и повторений в программах на языке логического программирования Пролог

https://doi.org/10.23947/2687-1653-2021-21-2-200-206

Полный текст:

Аннотация

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

 Материалы и методы. Выполнен анализ специальной литературы по теме исследования. Использованы методы обобщения, систематизации знаний, тестирования программы, анализ хода ее выполнения.

Результаты исследования. Предложены конструкции организации ветвлений и повторений в программе на языке Пролог. Для организации повторений предложены различные варианты завершения рекурсивного цикла при решении задач.

Обсуждение и заключения. Рассмотрены способы организации ветвлений и повторений на языке логического программирования Пролог. Все эти способы продемонстрированы на примерах решения задач вычислительного характера. Полученные результаты могут быть использованы при дальнейшей разработке рекурсивных предикатов в логических языках программирования, а также в учебном процессе при изучении логического программирования на языке Пролог. Приведенные примеры программ позволяют использовать их в качестве технологической основы программирования ветвлений и повторений на языке логического программирования Пролог. 

Об авторе

Д. В. Здор
ФГБОУ ВО «Приморская государственная сельскохозяйственная академия»
Россия

Здор Дмитрий Валерьевич, доцент инженерно-технологического института, кандидат педагогических наук, доцент

692500, РФ, Приморский край, г. Уссурийск, пр. Блюхера, 4



Список литературы

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.

6. Цуканова, Н. И. Теория и практика логического программирования на языке Visual Prolog 7 / Н. И. Цуканова, Т. А. Дмитриева. — Москва : Горячая линия – Телеком, 2013. — 232 с.

7. Eduardo Costa. Visual Prolog 7.3 for Tyros / Eduardo Costa // 2010. — 270 p. — URL: http://visualprolog.com/download/73/books/tyros/tyros73.pdf

8. Братко, И. Алгоритмы искусственного интеллекта на языке Prolog / И. Братко ; [пер. с англ. К. А. Птицина]. — 3-е изд. — Москва : Вильямс, 2004. — 637 с.

9. Адаменко, А. Н. Логическое программирование и Visual Prolog / А. Н. Адаменко, А. М. Кучуков. — Санкт-Петербург: БХВ-Петербург, 2003. — 982 с.

10. Логика предикатов и язык Пролог / В. Т. Тарушкин, П. В. Тарушкин, Л. Т. Тарушкина, А. В. Юрков // Современные наукоемкие технологии. — 2010. — № 4. — С. 62–63.

11. Солдатова, О. П. Программирование на языке ПРОЛОГ / О. П. Солдатова, И. В. Лёзина. — Самара : Репозитарий Самарского государственного аэрокосмического университета : [сайт]. — 2008. — 52 с.

12. Coding guidelines for Prolog / Michael A. Covington, Roberto Bagnara, Richard A. O’Keefe [et al.] // Theory and Practice of Logic Programming. — 2011. — Vol. 12 (6). — P. 889–927.

13. Марков, В. Н. Современное логическое программирование на языке Visual Prolog 7/5 / В. Н. Марков. — Санкт-Петербург : БХВ-Петербург, 2016. — 541 с.

14. Parallel Execution of Prolog Programs: a Survey / G. Gupta, E. Pontelli, K.A.M. Ali [et al.] // ACM Transactions on Programming Languages and Systems. — 2011. — Vol. 23 (4). — P. 472.

15. Особенности программной реализации логических задач на языке PROLOG / О. Н. Половикова, В. В. Ширяев, Н. М. Оскорбин, Л. Л. Смолякова // Известия Алтайского государственного университета. — 2021. — № 1 (117). — С. 166–120.


Для цитирования:


Здор Д.В. Теоретические основы организации ветвлений и повторений в программах на языке логического программирования Пролог. Advanced Engineering Research. 2021;21(2):200-206. https://doi.org/10.23947/2687-1653-2021-21-2-200-206

For citation:


Zdor D.V. Theoretical foundations of the organization of branches and repetitions in programs in the logic programming language Prolog. Advanced Engineering Research. 2021;21(2):200-206. (In Russ.) https://doi.org/10.23947/2687-1653-2021-21-2-200-206

Просмотров: 28


Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2687-1653 (Online)