aboutsummaryrefslogtreecommitdiff
path: root/files/uk/glossary/recursion/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/uk/glossary/recursion/index.html')
-rw-r--r--files/uk/glossary/recursion/index.html42
1 files changed, 42 insertions, 0 deletions
diff --git a/files/uk/glossary/recursion/index.html b/files/uk/glossary/recursion/index.html
new file mode 100644
index 0000000000..b69251d64b
--- /dev/null
+++ b/files/uk/glossary/recursion/index.html
@@ -0,0 +1,42 @@
+---
+title: Рекурсія
+slug: Glossary/Рекурсія
+tags:
+ - Словник
+translation_of: Glossary/Recursion
+---
+<p><span class="seoSummary">Рекурсія — це виклик функцією самої себе. Рекурсію застосовують, коли розв'язувана задача містить подібні до себе підзадачі.</span> Залежно від вхідних даних розрізняють кінцевий виклик (розв'язує найпростішу задачу) та проміжний (має підзадачі, тож передбачає щонайменше один рекурсивний виклик).</p>
+
+<p>Типовим прикладом застосування рекурсії є обчислення факторіалу:</p>
+
+<pre class="brush: js">function f(n) {
+ if (n &gt; 1) {
+ return n * f(n - 1);
+ }
+ return 1;
+}</pre>
+
+<p>Слід завважити, що будь-який алгоритм можна втілити без застосування рекурсії, але для вирішення певних задач її застосування спрощує та увиразнює код. Для прикладу розгляньмо обчислення факторіалу без рекурсії:</p>
+
+<pre class="brush: js">function f(n) {
+ var value = 1;
+
+ while (n &gt; 1) {
+ value *= n;
+ n--;
+ }
+
+ return value;
+}
+</pre>
+
+<p>Водночас для деяких алгоритмів перевага рекурсивного втілення буде навіть суттєвішою.</p>
+
+<h2 id="Дізнатись_більше">Дізнатись більше</h2>
+
+<h3 id="Загальні_відомості">Загальні відомості</h3>
+
+<ul>
+ <li>{{Interwiki("wikipedia", "Рекурсія (програмування)")}} у Вікіпедії</li>
+ <li><a href="/uk/docs/Web/JavaScript/Guide/Functions#Рекурсія">Докладніше про рекурсію в JavaScript</a></li>
+</ul>