Некоторые задачи требуют решения с использованием определённых техник (например, рекурсивной функции), но в принципе того же результата можно получить и без них. При этом тесты проверяют только результат выполнения функции, но не то, как функция работает. В итоге студент может не понять урок и применить ту технику, которую он уже знает, а не ту, которую ему нужно изучить.
Для проверки того, как функция работает, нужно исследовать код решения. Вот пример того, как это можно сделать для проверки на то, использует ли студент рекурсивную функцию, в случае Javascript. Написал с помощью chatGPT (для ускорения и чтобы голову не ломать над регулярным выражением), но проверил, работает верно.
Некоторые задачи требуют решения с использованием определённых техник (например, рекурсивной функции), но в принципе того же результата можно получить и без них. При этом тесты проверяют только результат выполнения функции, но не то, как функция работает. В итоге студент может не понять урок и применить ту технику, которую он уже знает, а не ту, которую ему нужно изучить.
Для проверки того, как функция работает, нужно исследовать код решения. Вот пример того, как это можно сделать для проверки на то, использует ли студент рекурсивную функцию, в случае Javascript. Написал с помощью chatGPT (для ускорения и чтобы голову не ломать над регулярным выражением), но проверил, работает верно.
Вот собственно обсуждаемый пример: требуется написать рекурсивную функцию, реализующую итеративный процесс. https://ru.hexlet.io/courses/introduction_to_programming/lessons/iterative/exercise_unit
Этот подход можно улучшить и для проверки того, итеративный процесс или рекурсивный.