Кот в мешке

Фраза «Купить кота в мешке» означает приобрести что-то за глаза, не зная ничего о недостатках или достоинствах покупки. Эта поговорка — плод остроумия французов. Скорее всего, благодаря своей образности и неожиданности, она довольно крепко укоренилась в русском, в английском и в немецком языках. Любопытно, что немцы сочинили несколько вариантов данного выражения. К примеру, о человеке, всучившем кому-то какую-то негодную вещь, скажут, что он «продал кота в мешке». В немецком языке широкое распространение получил фразеологизм «выпустить кота из мешка», иными словами сделать нечто тайное — явным. Источник

Второй этап. "Кот в мешке" (сроки выполнения - одна неделя)

Дорогие друзья - участники сетевого проекта "О-ах, рекурсия!"!

Вы прибыли во второй пункт нашего Маршрута. Его название "Кот в мешке". Почему? 

Что вам известно о роли рекурсии в программировании? На данном этапе проекта "кот в мешке" выступает в роли аллегории применительно к понятию "рекурсия". Кто-то из вас купит кота, а кто-то выпустит его из мешка. В любом случае, наша цель - осмысление роли рекурсии в работе программиста.

Тема исследования: Как использование рекурсии облегчает труд программиста?

Объект исследования: рекурсия в программировании.

Цель исследования: Выяснить связь рекурсивных алгоритмов с некурсивными. 

Задачи исследования:

 Развить навыки анализа алгоритмов решения задачи.

Освоить алгоритм преобразования рекурсивного алгоритма в нерекурсивный и обратно.

Сформировать навыки программирования рекурсивных алгоритмов.

Научиться выполнять сравнительный анализ программных реализаций различных алгоритмов решения задачи.

План исследования:

1. Изучить материал дистанционного обучающего курса "Рекурсия", материалы статьи "Рекурсивное программирование", "Рекурсивные алгоритмы и функции" (С, Интуит), Рекурсивные функции с текстовым выводом (Решу ЕГЭ), "Рекурсивная функция в Python" и др.

Полезно посмотреть видео "Простая рекурсия, простые циклы" (Котлин, coursera), "Рекурсивные.функции (С#)", объяснение буквально на "пальцах" "Рекурсивные функции" (Pascal), "Рекурсия в Python".

2. Пройти персональное тестирование по изученному материалу (скриншот экрана с результатами прохождения теста разместить на онлайн доске команды):

          тест  1 (Pascal)                                                   тест (С#)

          тест 2 (Pascal)       тест (Python)

3. Разработать  программы решения нескольких задач, используя рекурсивную и нерекурсивную схемы решения (вариант для команды выбирается из предложенного списка задач по номеру, соответствующему номеру команды в таблице регистрации), ссылки на программы разместить в таблице.

 4. Подготовить критерии сравнительной оценки рекурсивной и нерекурсивной схем решения.

Полезно вдумчивое прочтение статьи Брайан М. Пасхин. Cравнение цикла и рекурсии с точки зрения производительности приложений / IBM Developer [Электронный ресурс]. - Режим доступа: https://clck.ru/NGu4F. - Дата доступа: 3.05.2020. 

5. Провести сравнительный анализ разработанных командой программ согласно подготовленным критериям.

6. Апробировать критерии сравнительной оценки на примерах решений других команд.

 




Replit: руководство для начинающих 

Инструкция по работе в компиляторе Repl.it          

          Онлайн-компиляторы

          Как я поборол рекурсию: учебный детектив  [Электронный ресурс] / geekbrains.ru. - Режим доступа:  https://geekbrains.ru/posts/recursion_education 

7. Представить в графическом виде или псевдокоде алгоритм преобразования рекурсивного алгоритма в нерекурсивный и обратно.

8. Подготовить видеопрезентацию с описанием хода и результатов эксперимента.

          Редактор для создания анимационных фильмов Blender 

9. Видеопрезентацию и ответ на проблемный вопрос разместить на общей виртуальной карте - онлайн-доске.

Результаты исследований (конечный продукт): виртуальная карта видеопрезентаций

* Бонусное задание

Если Вам интересно и есть свободное время, Вы можете выполнить дополнительное задание: подготовить компьютерную анимацию (видео) формирования некоторого фрактального изображения .

Материалы в помощь студентам