ПАСКАЛЬ: РЕКУРСИВНІ ОЗНАЧЕННЯ ТА ПІДПРОГРАМИ
1. Рекурсивні означення
Часто кажуть, що рекурсивне означення – це коли щось означається з його ж допомогою. Фраза ця не зовсім точна, а вірніше, зовсім неточна. Кожне означення задає щось , і цим чимось є, як правило, об'єкти, що утворюють деяку множину.
Означення називається рекурсивним , якщо воно задає елементи множини за допомогою інших елементів цієї ж множини . Об'єкти, задані рекурсивним означенням, також називаються рекурсивними . Нарешті, рекурсія – це використання рекурсивних означень.
Приклади
1. Значення функції "факторіал" задаються виразом: 0!=1, n !=n × (n-1 )!. Вони утворюють множину {1,2,6,…}: 0!=1, 1!=1, 2!=2, 3!=6, … . Усі її елементи, крім першого, означаються рекурсивно.
Отже, функція "факторіал" задається рекурентним співвідношенням порядку 1 і початковим відрізком 0!=1. Узагалі, будь-яке рекурентне співвідношення порядку k разом із завданням перших k елементів послідовності являє приклад рекурсивного означення.
2. Арифметичні вирази зі сталими та знаком операції '+' у повному дужковому записі (ПДЗ) задаються таким означенням:
1) стала є виразом у ПДЗ;
2) якщо E і F є виразами у ПДЗ, то (E )+(F ) також є виразом у ПДЗ.
Такими виразами є, наприклад, 1, 2, (1)+(2), ((1)+(2))+(1). Всі вони, крім сталих, означаються рекурсивно.
Об'єкти, означені в прикладах 9.1–9.2, тобто значення функції "факторіал" та дужкові записи виразів, є рекурсивними.
У рекурсивних означеннях не повинно бути "зачарованих кіл" , коли об'єкт означається за допомогою себе самого або за допомогою інших, але означених через нього ж.
Приклади
3. Змінимо означення функції "факторіал" на таке: n !=n × (n- 1)! за n >0, 0!=1!. Спочатку значення функції від 1 виражається через її ж значення від 0, яке, у свою чергу, – через значення від 1. За цим "означенням" так і не дізнатися, чому ж дорівнює 1!.-
4. "У попа був собака, піп його любив, той з'їв шматок м'яса, піп його забив, і в землю закопав, і на камені написав, що у попа …" і так далі. Ця сумна історія не має кінця, і не можна сказати, що ж саме піп написав на камені.-
5. "– Де ти гроші береш?
– У шухлядці.
– А там вони звідки?
– Дружина кладе.
– А в неї звідки?
– Я даю.
– А де ти береш?
– У шухлядці…"
У цьому старому анекдоті не називається справжнє джерело грошей. Якщо через A , B , C позначити чоловіка, його дружину та шухлядку, то пересування грошей зображається так: A - C - B - A - …, і справжнє джерело грошей залишається невідомим.
Щоб подібна "дурна нескінченність" не виникала в рекурсивному означенні, повинні виконуватися умови:
1. множина означуваних об'єктів є частково упорядкованою;
2. кожна спадна за цим упорядкуванням послідовність елементів закінчується деяким мінімальним елементом;
3. мінімальні елементи означаються нерекурсивно;
4. немінімальні елементи означаються за допомогою менших від них елементів.
Неважко переконатися, що означення з прикладів 9.1–9.2 задовольняють ці умови, а з прикладів 9.3–9.5 – ні.
Для тих, кому не знайомі терміни "частково упорядкована множина" та "мінімальний елемент", дамо невелике пояснення.
Будь-яка множина пар, складених з елементів деякої множини, називається відношенням на цій множині. Наприклад, множина пар {(1,1), (1,2), (2,1)} на множині {1, 2}.
Відношення називається відношенням часткового порядку , якщо воно має такі властивості:
1. для кожного елемента a множини пара (a , a ) є у відношенні;
2. якщо у відношенні є пара (a , b ) з різними елементами a і b , то пари (b , a ) там немає. При цьому ми кажемо, що a менше b . У множині можуть бути й непорівнювані елементи, що один з одним пару не утворюють;
3. якщо a менше b , а b менше c , то a менше c . Втім, елементів a , b , c таких, що a менше b , а b менше c , у множині може й не бути – при виконанні властивостей (1) і (2) відношення буде відношенням часткового порядку.
Множина з заданим на ньому відношенням часткового порядку називається частково упорядкованою . Елемент частково упорядкованої множини називається мінімальним , якщо в множині немає елементів, менших його.
Очевидно, що в прикладі 9.1 кожні два елементи множини {1, 2, 6, …} порівнювані між собою, а мінімальним є 1. У прикладі 9.2 ідентифікатор менше іншого, якщо той утворюється з нього дописуванням символів наприкінці. Так, a менш
Одними из наиболее популярных услуг на рынке IT-технологий являются создание и продвижение лендингов. Они способны положительно влиять на деятельность любого бизнес-проекта в интернете. Судя по многочисленным отзывам, заказавшие создание лендингов люди ни разу не пожалели о потраченных деньгах. Они вложили в будущее, которое неразрывно связано с интернетом. Всё больше и больше предпринимателей обращаются к услугам разных агентств, веб-студий, чтобы заказать создание лендинга у профессионалов.