Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Общая характеристика информационных технологий




ЛИНИЯ

Синтаксис: ЛИНИЯ(Арг1,Арг2,АргЗ,Арг4,Арг5).

Цей у будований предикат має п'ять аргументів. П'ятий аргумент завжди повинен бути цілим, арифметичним виразом або змінним, конкретизованим цілим. Результати виконання наведені нижче:

ЛИНИЯ(ц1,ц2,цЗ,ц4,ц) Малювати лінію з початковою крапкою (ц1,ц2), кінцевою - (цЗ,ц4), кольорами ц

ЛИНИЯ(ц1,ц2,цЗ,П4,ц) Малювати зафарбований трикутник з вершинами (ц1,ц2), (ц3,0), (цЗ,211) і кольорами ц;

ЛИНИЯ(ц1,ц2,ПЗ,ц4,ц) Малювати зафарбований трикутник з вершинами (ц1,ц2), (0,ц4), (255,ц4) і кольорами ц;

ЛИНИЯ(ц1,П2,цЗ,ц4,ц) Малювати зафарбований трикутник з вершинами (ц1,0), (ц1,211), (цЗ,ц4) і кольорами ц;

ЛИНИЯ(П1,ц2,цЗ,ц4,ц) Малювати зафарбований трикутник з вершинами (0,ц2), (255,цЗ), (цЗ,ц4) і кольорами ц;

ЛИНИЯ(П1,П2,цЗ,ц4,ц)| ЛИНИЯ(ц1,ц2,ПЗ,П4,ц)| ЛИНИЯ(ц1,П2,ПЗ,П4,ц)| ЛИНИЯ(П1,ц2,ПЗ,П4,ц) - Заповнення екрана кольорами ц ЛИНИЯ(П1,П2,цЗ,П4,ц) | ЛИНИЯ(П1,П2,ПЗ,ц4,ц) | ЛИНИЯ(П1,П2,ПЗ,П4,ц)|

ЛИНИЯ(ц1,П2,цЗ,П4,ц) - Вертикальними, зафарбованими кольорами ц прямокутник, з вершинами (ц1,0), (ц1,211), (ц2,0),(ц2,211);

ЛИНИЯ(П1,ц2,ПЗ,ц4,ц) Горизонтальний зафарбований кольорами ц прямокутник з вершинами (0,ц2), (255,ц2), (0,ц4), (255,ц4);

ЛИНИЯ(ц1,П2,ПЗ,ц4,ц) Чотирикутник кольорами ц із вершинами (ц1,0),(ц1,211),(0,ц4),(255,ц4);

ЛИНИЯ(П1,ц2,цЗ,П4,ц) Чотирикутник кольорами ц із вершинами (0,ц2),(255,ц2),(цЗ,0),(цЗ,211).

У цих шістнадцятьох випадках предикат вірний, інакше виконання програми припиняється й видається повідомлення про помилку.

З ОКРУЖНОСТЬ

Синтаксис: ОКРУЖНОСТЬ(Арг1,Арг2,АргЗ,Арг4). У будований предикат КОЛО має чотири аргументи. Нижче наведені результати виконання залежно від типів аргументів.

ОКРУЖНОСТЬ(ц1,ц2,цЗ,ц) Коло із центром (ц1,ц2), радіусом цЗ, кольорами ц;

ОКРУЖНОСТЬ(ц1,ц2,ПЗ,ц) | ОКРУЖНОСТЬ(ц1,П2,ПЗ,ц) | ОКРУЖНОСТЬ(Ш,ц2,ПЗ,ц) Заповнення екрана кольорами ц ОКРУЖНОСТЬ(П1,П2,ПЗ,ц) | ОКРУЖНОСТЬ(П1,П2,цЗ,ц) | ОКРУЖНОСТЬ(ц1,П2,цЗ,ц) Вертикальний зафарбований кольорами ц прямокутник з вершинами: (ц1-цЗ,0), (ц1-цЗ,211), (ц1+цЗ,0), (ц1+цЗ,211);

ОКРУЖНОСТЬ(Ш,ц2,цЗ,ц) Горизонтальний зафарбований кольорами ц прямокутник з вершинами: (0,ц2-цЗ), (255,ц2-цЗ), (0,ц2+цЗ), (255,ц2+цЗ); У цих восьми випадках предикат вірний, інакше виконання програми припиняється й виводиться повідомлення про помилку: "Невыполнимый предикат ОКРУЖНОСТЬ"

4 ЗАКРАСКА

Синтаксис: ЗАКРАСКА(Арг1,Арг2,АргЗ,Арг4).

Убудований предикат ЗАКРАСКА(має чотири аргументи. Процедурно цей предикат означає зафарбувати кольорами АргЗ усередині контуру із граничними кольорами Арг4 починаючи із крапки (Арг1,Арг2). Предикат завжди вірний. Всі аргументи повинні бути цілими, арифметичними виразами або змінними, конкретизованими цілими. Якщо ця умова не виконується, то виконання програми припиняється й виводиться повідомлення про помилку.

Необхідно відзначити особливість графічних об'єктів, що описуються за допомогою змінних. У процесі роботи системи може виявитися, що якась змінна в описі графічного примітива не визначена. У цьому випадку графічний примітив однаково буде виконаний, однак змінна приймає всі припустимі для неї значення. Іншими словами, на екрані з'явиться геометричне місце точок, що задається рівнянням графічного об'єкта.

Графічні можливості призначені для виконання виводу графіки та інших подібних операцій. Вбудовані предикати, якщо вони записані у питанні, повинні виконуватися однаково, незалежно від того, записана в пам'ять машини база знань чи ні, і яка це база знань.

 

39.Обробка списків в Пролог

Список – це лінійно упорядкована сукупність елементів одного доменного типу. Елементами списку можуть бути цілі числа, дійсні числа, символи, символьні рядки і структури. Порядок розміщення елементів є суттєвою рисою списку; ті самі елементи, упорядковані по-іншому, утворюють уже зовсім інший список. Список може містити довільну кількість елементів, єдиним обмеженням є обсяг оперативної пам’яті комп’ютера. Кількість елементів у списку називається його довжиною. Список, який не містить елементів, називається порожнім, довжина порожнього списку дорівнює нулю. Складові списку зв’язані між собою, тому з ними можна працювати і як із групою (списком у цілому), і як з індивідуальними об’єктами (елементами списку).

У Пролозі дозволяється виконувати зі списками цілий ряд операцій, зокрема: перевірку на належність елемента до списку, вставлення елемента в список, вилучення із списку даного елемента, заміну одного елемента списку іншим, поділ списку на два, злиття двох списків, упорядкування елементів списку.

Список зручно використовувати при створенні баз даних, баз знань, експертних систем, словників тощо.

Список у Пролозі подається множиною елементів, які відокремлюються між собою комами і обмежуються квадратними дужками. Приклад: [1,2,3,4].

Порожній список позначається так: [].

Непорожній список можна розглядати як структуру, яка складається з двох частин: перший елемент списку, який називається головою списку; остання частина списку, яка називається хвостом. Голова є елементом списку, хвіст є списком сам по собі. Якщо хвіст є непорожнім списком, то його знову можна поділити. Якщо список складається з одного елемента, то в ньому можна виділити голову, якою буде цей самий елемент, і хвіст, який є порожнім списком.

Пролог дає можливість явно створювати голову і хвіст списку. Замість відокремлення елементів комами, ви можете розділити голову і хвіст знаком (|).

Наприклад, список [a, b, c] дорівнює списку [a | [b, c]], який в свою чергу рівний списку [a|[b|[c|[]]]].

Розподільниками можна також комбінувати. Так список [a, b, c, d] можна задати у вигляді [a, b|[c, d]].

Для обробки списків найбільш підходять рекурсивні алгоритми. Обробка списку складається з рекурсивного зсуву і обробки голови списку до тих пір, поки список не стане пустим. Алгоритм такого типу, традиційно має дві фрази. Перша з них говорить, що потрібно робити з списком, а друга - що робити з пустим списком.

 

40.Прості типи даних системи Пролог

В якості простих даних виступають змінні або ж константи. Константа може бути або ж символьною (char), або ж числовою (integer, real), атомapною (symbol, string).

Змінна позначається ідентифікатором. Ідентифікатор починається з великої букви у діапазоні від А до Z, або ж символом підкреслення (_). Як ми вже зазначали, єдиний символ підчеркування позначає анонімну змінну. В Пролозі змінна може зв’язуватись з любим допустимим аргументом або об’єктом даних. Відмітимо, що змінні Прологу є локальними, а не глобальними. Іншими словами, якщо два пункти мають змінну Х, тоді ці Х є різними змінними.

Константи включають символи, числа і атоми. Значення константи міститься в її імені. Так константа 2 може символізувати тільки число 2, а константа abracadabra може символізувати тільки стрічку abracadabra.
Символи.
Символи мають тип char, вони будуються з символів коду ASCII.
Існує два способи задання символів в якості констант Прологу: безпосередньо, або ж з попереднім символом (). Ось приклад деяких друкованих символів:.f.,.4.,.F.. Якщо ж вам потрібно написати символи типу (), (|), (.), тоді перед ними потрібно поставити символ (): (.\.), (.|.), (...). Деякі пари символів позначають спеціальні дії, наприклад:
..-перехід на нову стрічку.
..-повернення каретки.
..-горизонтальна табуляція.
Числа.
Числа мають тип або іnteger, або real. Цілі містять значення з діапазону від -32768 до 32767 включно. Дійсні зберігаються в форматі ІEEE в проміжку від 1е-308 до 1е308.
Атоми.
Атом має тип або ж symbol, або ж string. Пролог виконує автоматичне перетворення типів між цими двома доменами.
Ім.я символьних атомів починається з маленької букви.
Стрічкові атоми повинні заключатись в подвійні лапки і можуть містити любу комбінацію дозволених символів PDC Прологу.

 

41.Структуровані типи даних системи Пролог

Складні об’єкти даних дозволяють вам заключати декілька частин інформації в єдиний пункт. Наприклад, дата 2 квітня 1994 складається з 3 частин. Але іноді їх корисно з’єднати воєдино:
date(|April|,2,1989)
Так виглядає факт Прологу, в даному випадку - просто об’єкт даних. Він починається з імені або ж функтора (в нашому прикладі date). Функтор не символізує якесь обчислення, яке повинно бути виконаним. Це просто ім’я об’єкту. Аргументи складного об’єкту самі можуть бути складними об’єктами.

Структуровані типи даних:

1) Функції – аргументом функції може бути будь-який терм, але функція повинна містити хоча б один аргумент;

2) Списки – елементом списку може бути будь-який терм, список може мати будь-яку кількість елементів;

3) Порівняння списків – є два шаблони для визначення списків: перечислення та початок і остача, ці шаблони визначають різні внутрішні представлення;

 

 

 

 




Поделиться с друзьями:


Дата добавления: 2015-01-03; Просмотров: 312; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.02 сек.