суббота, 7 мая 2016 г.

Актуальність

     На сьогоднішній день існує багато мов програмування, та їх варіантів, які використовуються як починаючими програмістами, так і професіоналами. Але більшість з них не може надати простого рішення при розв'язанні навіть не дуже складної задачі про родинний зв'язок. Прологовський програміст надає простий та логічний опис поняття "дідусь": дідусь - батько батька. 
     Мовою Пролога це буде виглядати так:


grandfather(X, Z):-father(X, Y),parent(Y, Z).


     Тільки-но Пролог-система дізналася, що таке дідусь, до неї можна звернутися з питанням, наприклад: хто є дідусем Івана? У визначеннях Пролога це питання та типова відповідь на нього мають вигляд:


grandfather(X, ivan)X=petro;X=egor.


     Яким чином вирішувати цю задачу, як перебирати базу даних, в якій записані усі відношення "батько-син", це вже проблема самої Пролог-системи. Програміст тільки повідомляє системі те, що йому відомо та задає питання. Його в більшій ступені цікавлять знання і в меншій - алгоритми, за допомогою яких з цих знань вилучається необхідна інформація. 
     Саме цьому для програмування мовою Пролог необхідно свіже логічне мислення, при якому знання таких мов програмування як Паскаль або Бейсик може бути справжньою поміхою. До речі, назва мови ПРОЛОГ є скороченням "ПРОграмування мовою ЛОГіки"