Различия между версиями 1 и 8 (по 7 версиям)
Версия 1 от 2010-11-17 16:09:50
Размер: 590
Редактор: FrBrGeorge
Комментарий:
Версия 8 от 2010-11-24 22:00:27
Размер: 2953
Редактор: PavelSutyrin
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 6: Строка 6:
Какое-нибудь описание.
Строка 10: Строка 9:
  * Подтема 1
  * {o} Подтема 2
  * Рекурсивные определения и рекурсивные вычисления
  * Перебор с возвратами
  * Параметры функций: позиционные, именованые. Объявление, вызов.
  * Работа с группами параметров .format()
  * lambda-выражения (безымянные функции)
  * map(), zip()
Строка 16: Строка 19:
  1. {i} Первое
  1. Второе
  1. Написать рекурсивную функцию factorial(n), без проверки на отрицательный параметр. Выяснить, как ведет себя эта функция в случае "бесконечной рекурсии", т.е. неограниченного уменьшения параметра в рекурсивных вызовах. Поправить функцию так, чтобы при некорректном параметре возвращался None
  1. Написать рекурсивную функцию для подсчета количества цифр неотрицательного целого n.
  1. Дан многочлен степени n с коэффициентами a_0, a_1, a_2, ..., a_n (a_n -- коэффицинт x в степени n). Написать рекурсивную функцию {{{polyval}}} для вычисления его значения в точке x_0. Функция должна поддерживать обращения вида {{{
  polyval(0.5, (1,2,3)) # 1+2x+3x^2 в точке x=0.5
}}} для любого n. Подсказка: подумать, как выразить решение всей задачи через подзадачу меньшего размера. Где здесь размер задачи?..
   * вариант: поддерживать обращения вида {{{
  polyval(0.5, 1, 2, 3) # 1+2x+3x^2 в точке x=0.5
}}} для любого n.
  1. Решить следующую задачу методом рекурсивного перебора с возвратами. Найти путь (список координат полей), по которому шахматный конь, начав в левом верхнем углу доски (NxN полей, N > 5) обойдет ее всю , побывав на каждом поле всего один раз.
   * вариант: Дополнительно дано K > 0, найти K различных путей.

Тема занятия: Функции, рекурсия и переборная схема

  • {o} — тема по Linux

  • <!> ­— необязательная тема

  • Рекурсивные определения и рекурсивные вычисления
  • Перебор с возвратами
  • Параметры функций: позиционные, именованые. Объявление, вызов.
  • Работа с группами параметров .format()
  • lambda-выражения (безымянные функции)
  • map(), zip()

Домашнее задание

  • {i} — теоретическое задание

  • {*} — новая тема

  1. Написать рекурсивную функцию factorial(n), без проверки на отрицательный параметр. Выяснить, как ведет себя эта функция в случае "бесконечной рекурсии", т.е. неограниченного уменьшения параметра в рекурсивных вызовах. Поправить функцию так, чтобы при некорректном параметре возвращался None
  2. Написать рекурсивную функцию для подсчета количества цифр неотрицательного целого n.
  3. Дан многочлен степени n с коэффициентами a_0, a_1, a_2, ..., a_n (a_n -- коэффицинт x в степени n). Написать рекурсивную функцию polyval для вычисления его значения в точке x_0. Функция должна поддерживать обращения вида

      polyval(0.5, (1,2,3)) # 1+2x+3x^2 в точке x=0.5
    для любого n. Подсказка: подумать, как выразить решение всей задачи через подзадачу меньшего размера. Где здесь размер задачи?..
    • вариант: поддерживать обращения вида

        polyval(0.5, 1, 2, 3) # 1+2x+3x^2 в точке x=0.5
      для любого n.
  4. Решить следующую задачу методом рекурсивного перебора с возвратами. Найти путь (список координат полей), по которому шахматный конь, начав в левом верхнем углу доски (NxN полей, N > 5) обойдет ее всю , побывав на каждом поле всего один раз.

    • вариант: Дополнительно дано K > 0, найти K различных путей.


CategoryClass CategoryVmsh

LecturesVMSH/2010-11-24 (последним исправлял пользователь FrBrGeorge 2010-12-01 14:42:10)