Вопрос №2995 от пользователя Sergey Margasov в уроке «Рекурсивный процесс», курс «Основы программирования»

Sergey Margasov

в решение учителя пока не смотрел. пристыдите и укажите пальцем где не прав:

export const sequenceSum = (begin, end, step) => {
// BEGIN (write your solution here)
  if (begin >= end) {
    return end;
  }
  return begin + sequenceSum(begin + step);
// END
};
7 0

Kirill Mokevnin

А тесты что вам говорят?

0

Sergey Margasov

не вспомню, но уже разобрался. не совсем понял задание, я подумал, что end тоже вычисляется. но мне не понятно почему параметры end и step надо всегда передавать при рекурсивном вызове. почему то казалось, что достаточно первый раз вызвать функцию с этими параметрами и они всегда будут доступны внутри.

0

Kirill Mokevnin

Они доступны внутри текущей функуции, но рекурсивный вызов проваливается в свое окружение, которое к внешнему не имеет отношения. То есть не важно откуда была вызвана функция и каким образом, новый вызов порождает новое исполнение тела функции. Соответветственно если вы в этот новый вызов не передали какие то параметры, то внутри их не будет и это "внутри" не имеет отношения к "внутри" этой же функции, но в вдругом вызове.

7

Sergey Margasov

спасибо за разъяснение. такие пробелы, да в самих курсах покрывать. потому как не всё очевидное вам, нам бывает неочевидным.

0

Kirill Mokevnin

Вы на это посмотрите с обратной стороны, при создании курса невозможно заранее понять все что будет неочевидно вам. Поэтому мы создаем и улучшаем наши курсы используя техники customer development и agile.

2

Sergey Margasov

это были просто мысли в слух )) конечно же всё не возможно. в любом случае всегда можно обратиться с вопросами через обратную связь

0

Oles Igorev

Да, тоже не понял, что функцию нужно было вызывать со всеми параметрами, пришлось подсмотреть.. Хотя в теории на примере это четко видно..

0

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев