Кот в мешке
Фраза «Купить кота в мешке» означает приобрести что-то за глаза, не зная ничего о недостатках или достоинствах покупки. Эта поговорка — плод остроумия французов. Скорее всего, благодаря своей образности и неожиданности, она довольно крепко укоренилась в русском, в английском и в немецком языках. Любопытно, что немцы сочинили несколько вариантов данного выражения. К примеру, о человеке, всучившем кому-то какую-то негодную вещь, скажут, что он «продал кота в мешке». В немецком языке широкое распространение получил фразеологизм «выпустить кота из мешка», иными словами сделать нечто тайное — явным. Источник
Второй этап. "Кот в мешке" (сроки выполнения - одна неделя)
Дорогие друзья - участники сетевого проекта "О-ах, рекурсия!"!
Вы прибыли во второй пункт нашего Маршрута. Его название "Кот в мешке". Почему?
Что вам известно о роли рекурсии в программировании? На данном этапе проекта "кот в мешке" выступает в роли аллегории применительно к понятию "рекурсия". Кто-то из вас купит кота, а кто-то выпустит его из мешка. В любом случае, наша цель - осмысление роли рекурсии в работе программиста.
Тема исследования: Как использование рекурсии облегчает труд программиста?
Объект исследования: рекурсия в программировании.
Цель исследования: Выяснить связь рекурсивных алгоритмов с некурсивными.
Задачи исследования:
Развить навыки анализа алгоритмов решения задачи.
Освоить алгоритм преобразования рекурсивного алгоритма в нерекурсивный и обратно.
Сформировать навыки программирования рекурсивных алгоритмов.
Научиться выполнять сравнительный анализ программных реализаций различных алгоритмов решения задачи.
План исследования:
1. Изучить материал дистанционного обучающего курса "Рекурсия", материалы статьи "Рекурсивное программирование", "Рекурсивные алгоритмы и функции" (С, Интуит), Рекурсивные функции с текстовым выводом (Решу ЕГЭ), "Рекурсивная функция в Python" и др.
Полезно посмотреть видео "Простая рекурсия, простые циклы" (Котлин, coursera), "Рекурсивные.функции (С#)", объяснение буквально на "пальцах" "Рекурсивные функции" (Pascal), "Рекурсия в Python".
2. Пройти персональное тестирование по изученному материалу (скриншот экрана с результатами прохождения теста разместить на онлайн доске команды):
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. Подготовить видеопрезентацию с описанием хода и результатов эксперимента.
9. Видеопрезентацию и ответ на проблемный вопрос разместить на общей виртуальной карте - онлайн-доске.
Результаты исследований (конечный продукт): виртуальная карта видеопрезентаций
* Бонусное задание
Если Вам интересно и есть свободное время, Вы можете выполнить дополнительное задание: подготовить компьютерную анимацию (видео) формирования некоторого фрактального изображения .
Материалы в помощь студентам
Онлайн-среды разработки [Электронный ресурс] / Библиотека программиста . - Режим доступа: https://proglib.io/p/online-ide/
18 онлайн-сервисов для создания презентаций