1877
Комментарий:
|
2223
|
Удаления помечены так. | Добавления помечены так. |
Строка 6: | Строка 6: |
/!\ '''TODO''' — разгрести, упорядочить и поделить по урокам | |
Строка 8: | Строка 7: |
* нулевой объект и значение `or` и `and` * Рекурсия (только если успеем все три темы) |
* Разбор Д/З * Создание собственной программы * {o} Исполняемые объекты (программы и сценарии): * Переменные в shell; `PATH`; `.bash_profile: PATH=$PATH:$HOME/bin` * `ls -l`, `chmod +x` * shebang * Рекурсия |
Строка 13: | Строка 17: |
* Создание собственной программы * `.bash_profile: PATH=$PATH:$HOME/bin` * {o} Исполняемые объекты (программы и сценарии): * `ls -l`, `chmod +x` * shebang * Виды объектов: * {o} В файловой системе * {o} файлы, каталоги, символьные ссылки, etc. * {o} понятие iNode * В Python * некоторые стандартные типы * `id(объект)`, сравнение `is` * `from math import *` * Счётчик ссылок и сборка мусора * {o} Жёсткие ссылка на файлы, команда `ln` * Именование объектов в Python * Сценарии и callable |
* (если успеем) пример преобразования исходного кода * Разбор задачи «Платная лестница-1/2»: * неэффективное рекурсивное решение и его анализ * решение методом динамического программирования * (если успеем) в т. ч. «неправильное» рекурсивное * Введение в динамическое программирование: определение подзадач и их зависимостей |
Строка 33: | Строка 25: |
1. {i} Первое 1. Второе |
1. {i} Прочитать [[RW:Динамическое_программирование|о динамическом программировании в Википедии]] * В частности, [[RW:Числа_Фибоначчи|про числа Фибоначчи]] 1. <<Homework(ejvmsh:,PaidStairs,Платная лестница)>> 1. <<Homework(ejvmsh:,FibTail,Последние цифры большого числа Фибоначчи)>> 1. /!\ задача на рекурсию |
<свалка тем на будущее>
- Разбор Д/З
- Создание собственной программы
Исполняемые объекты (программы и сценарии):
Переменные в shell; PATH; .bash_profile: PATH=$PATH:$HOME/bin
ls -l, chmod +x
- shebang
- Рекурсия
- Вложенные пространства имён, потребление памяти
- ⇒ условия использования и неиспользования
- рекурсивные вызовы ⇔ общий код + стек состояний
- (если успеем) пример преобразования исходного кода
- Разбор задачи «Платная лестница-1/2»:
- неэффективное рекурсивное решение и его анализ
- решение методом динамического программирования
- (если успеем) в т. ч. «неправильное» рекурсивное
- Введение в динамическое программирование: определение подзадач и их зависимостей
Домашнее задание
Прочитать о динамическом программировании в Википедии
В частности, про числа Фибоначчи
Наступить на k-ю ступень лестницы A стоит Ak монет. Ввести через запятую «цены» ступеней A, и на следующей строке — ширину шага S (все числа натуральные) и вывести минимальную стоимость пути с земли до последней ступени (на которую наступать обязательно), при условии, что идти можно только вверх и перешагивать можно не более, чем через S-1 ступень.
5, 3, 6, 1, 1, 2, 3, 4, 7, 5, 5, 7, 1, 1, 4, 6, 3, 4, 7, 4, 2 4
14
(FibTail) Последние цифры большого числа Фибоначчи
Последовательность чисел Фибоначчи определяется следующим образом: F0 = F1 = 1, Fn+1 = Fn+Fn-1. Ввести N (возможно, довольно большое) и вывести последнюю цифру N-го числа Фибоначчи.
1234567
3
задача на рекурсию
Условные обозначения
— тема по Linux
— тема повышенной сложности
— теоретическое задание
— тема для самостоятельного изучения