ПАСКАЛЬ: РЕКУРСИВНІ ОЗНАЧЕННЯ ТА ПІДПРОГРАМИ
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 менш
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.