Skip to content

Commit 5781f15

Browse files
authored
Merge pull request #364 from emoquery/patch-1
grammatical errors
2 parents 01d5914 + 1fc028a commit 5781f15

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

1-js/06-advanced-functions/01-recursion/article.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ alert( pow(2, 3) );
218218

219219
### Вихід
220220

221-
Під час виконання `pow(2, 1)`, умова `n==1` -- це істинна, на відміну того, що було раніше, тому перша гілка працює `if`:
221+
Під час виконання `pow(2, 1)`, умова `n==1` -- істинна, на відміну того, що було раніше, тому перша гілка виконує `if`:
222222

223223
```js
224224
function pow(x, n) {
@@ -232,7 +232,7 @@ function pow(x, n) {
232232
}
233233
```
234234

235-
Немає більше вкладених викликів, тому функція закінчується, повертаючись `2`.
235+
Немає більше вкладених викликів, тому функція закінчується, повертаючи `2`.
236236

237237
Оскільки функція завершується, то контекст виконання більше не потрібний, тому він видаляється з пам’яті. Попередній контекст відновлюється з вершини стека:
238238

@@ -324,13 +324,13 @@ let company = {
324324

325325
Іншими словами, компанія має відділи.
326326

327-
- Відділи можуть мати масив персоналу. Наприклад, відділ продажу має 2 співробітника: Евген та Аліса.
327+
- Відділи можуть мати масив персоналу. Наприклад, відділ продажу має 2 співробітника: Іван та Аліса.
328328
- Або відділ може бути розділеним на підрозділи, наприклад, `development` має дві гілки: `sites` та `internals`. Кожна з них має свій персонал.
329329
- Можливо також, що коли відділ зростає, він розділяється на субвідділи (або команди).
330330

331-
Наприклад, відділ `sites` у майбутньому може бути розділений на команди для `siteA` і `siteB`. І вони, потенційно, можуть бути розділити в подальшому. Це не зображено на малюнку, просто слід мати це на увазі.
331+
Наприклад, відділ `sites` у майбутньому може бути розділений на команди для `siteA` і `siteB`. І вони, потенційно, можуть бути розділені в подальшому. Це не зображено на малюнку, просто слід мати це на увазі.
332332

333-
Тепер припустимо, що ми хочемо, щоб функція отримати суму всіх зарплат. Як ми можемо це зробити?
333+
Тепер припустимо, що ми хочемо, щоб функція отримала суму всіх зарплат. Як ми можемо це зробити?
334334

335335
Ітеративний підхід нелегкий, тому що структура не проста. Перша ідея може полягати в тому, щоб зробити `for` цикл через `company` з вкладеним підциклами через 1-ий рівень відділів. Але тоді нам потрібно більше вкладених циклів, щоб ітеруватися через персонал у 2-му рівні, такому як `sites`... А потім ще один підцикл всередині них для 3-го рівня, який міг би з’явитися в майбутньому? Якщо ми поставимо 3-4 вкладені цикли у коді, щоб пройти один об’єкт, це стає досить потворним.
336336

@@ -339,9 +339,9 @@ let company = {
339339
Як ми бачимо, коли наша функція отримує відділ для підрахунку суми зарплат, є два можливі випадки:
340340

341341
1. Або це "простий" відділ з *масивом* людей -- тоді ми можемо підсумувати зарплату в простому циклі.
342-
2. Або це *об’єкт* з `n` підвідділами -- тоді ми можемо зробити `n` рекурсивних дзвінки, щоб отримати суму для кожного з підвідділів та поєднати результати.
342+
2. Або це *об’єкт* з `n` підвідділами -- тоді ми можемо зробити `n` рекурсивних викликів, щоб отримати суму для кожного з підвідділів та поєднати результати.
343343

344-
1-й випадок є базою рекурсії, тривіальном випадком, коли ми отримуємо масив.
344+
1-й випадок є базою рекурсії, тривіальним випадком, коли ми отримуємо масив.
345345

346346
2-й випадок, коли ми отримуємо об’єкт, -- це рекурсивний крок. Комплексне завдання розділяється на підзадачі для менших відділів. Вони в свою чергу можуть знову поділятися на підвідділи, але рано чи пізно поділ закінчиться і зведеться до випадку (1).
347347

0 commit comments

Comments
 (0)