На этом курсе мы познакомимся с интерфейсами IEnumerable + IEnumerator.
На примере решения задачи разложения числа на простые множители
мы будем создавать итератор, который будет перебирать простые числа.
Содержание курса
+ создание класса по интерфейсу IEnumerable
+ создание класса по интерфейсу IEnumerator
+ подробное объяснение, зачем нужно два класса.
+ использование yield для удобной реализации итератора.
+ создание итератора через функцию, не создавая спец. класса.
# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 | Итератор. Разложение числа на простые множители. |
1 тест |
|||
На этом уроке мы создадим очевидный алгоритм, который будет раскладывать число на просты множители. Отчёт отправил: 2146. Иван Выполнено за 20 мин. [Показать отчёт] Научился: Раскладывать число на множетели программно Сложности: :) Все было понятно. Комментарии: Начало интригующее. Очень интересная тема! |
|||||
2 | Итератор. Создание пустого итератора. |
1 тест |
|||
На этом уроке мы подберём ключ к циклу foreach. создадим класс, который позволит создать свой алгоритм для перебора значений в обычном цикле foreach. Нaпиши, что такое итератор, своими словами. Отчёт отправил: 2146. Иван Выполнено за 15 мин. [Показать отчёт] Научился: Пока смотрю. Сложности: Вникаю Комментарии: Понял, как куда ходит. Но пока не понял зачем два класса. Хотя, если бы не показали, что можно все в один запихнуть, то и не задался бы таким вопросом(но это все от недостатка знаний!). Интрига сохраняется, и это здорово! |
|||||
3 | Итератор. Перебор чисел в итераторе. |
|
|||
На этом уроке мы добавим в созданный класс перебор чисел. Начнём с двойки и будем его всё время увеличивать "до бесконечности". В конце урока добавим ограничение, чтобы итератор останавливался. Отчёт отправил: 2146. Иван Выполнено за 15 мин. [Показать отчёт] Научился: Пошаговый режим очень помогает в понимании того, что происходит Сложности: Следить за переходами на каждом слове. Комментарии: Нужно почаще запускать пошаговый режим. |
|||||
4 | Итератор. Перебор простых чисел. |
2 теста |
|||
На этом уроке мы сдеаем так, чтобы наш класс возвращал в цикл только простые числа, как и было задуманно изначально. Отчёт отправил: 2146. Иван Выполнено за 15 мин. [Показать отчёт] Научился: Все необычно Сложности: Интересно, как public стал вдруг лишним Комментарии: Да! Красота - страшная сила, но иногда требует жертв. |
|||||
5 | Итератор. Зачем нужно два класса |
1 тест |
|||
На этом уроке мы разберёмся, зачем всё-таки нужно два класса один для создания итератора, второй для его использования. Для демонстрации напишем программу, которая выведет на экран таблицу умножения простых чисел. Отчёт отправил: 2146. Иван Выполнено за 30 мин. [Показать отчёт] Научился: Разобрался, зачем нужен отдельный класс. Сложности: :) Комментарии: Спасибо за ценное дополнение! |
|||||
6 | Итератор. Волшебное слово yield. |
3 теста |
|||
На этом уроке мы узнаем, как упростить создание итератора. Для этого достаточно просто написать нужный нам цикл, внутри которого воспользоватся волшебным словом yield. Отчёт отправил: 2146. Иван Выполнено за 15 мин. [Показать отчёт] Научился: Использовать yield! Сложности: Это надо пропустить через себя, чтобы начать использовать не задумываясь. Комментарии: Здорово! Магия работает! |
|||||
7 | Итератор. Список простых чисел. |
1 тест |
|||
На этом уроке мы перепишем алгоритм перебора простых чисел с использованием списка, который будет постепенно, по мере необходимости, пополняться новыми простыми числами. Отчёт отправил: 2146. Иван Выполнено за 15 мин. [Показать отчёт] Научился: Вычислять данные по мере необходимости. Сложности: Надо будет еще раз посмотреть с утра. Комментарии: Опять работает! Даже жалко было все стирать. Очень понравилось, что вычислять можно не скопом, а по одному числу, и сразу его проверять. |
|||||
8 | Итератор. Один метод вместо классов. |
|
|||
На этом уроке мы увидим, что класс, оказывается, создавать не обязательно. Магия слова yield сделает всё за тебя, можно просто один раз организовать перебор нужных элементов, и потом его можно использовать через обычный foreach в любом месте программы. Вся прелесть в том, что перебор элементов происходит по мере необходимости. Отчёт отправил: 2146. Иван Выполнено за 10 мин. [Показать отчёт] Научился: Сокращать несократимое. Сложности: Надо теперь этот как-то освоить, чтобы использовать в своих программах. Комментарии: Здорово! Уроки понравились. Очень ценно, что можно увидеть свертывание кода(так сказать). Именно такой метод преподавания помогает понять, как же на самом деле все это работает. Просто какая-то инверсия инкапсуляции! Забираемся в черный ящик и смотрим как же оно там работает! |
|||||
9 | ФИНАЛЬНЫЙ УРОК |
без видео |
|||
Поздравляю с окончанием курса! Оставь, пожалуйста, отзыв о курсе. Какой курс ты будешь проходить следующим? |
|||||
10 | VIP. Оптимизация поиска простых чисел |
1 тест |
|||
Пишем функцию для поиска простых чисел и поэтапно оптимизируем её в двух направлениях. |
|||||
Итого: 10 видеоуроков |
2 час. 42 мин. 10 тестов |
44 чел. | |||
Финалисты: Иван Воронин, Елена, Артём, Новопашин Владимир, Алексей В., Фомичева Наталья, Rita, Станислав, Neverwinter 2, Permitin Alexey, aleksey-k, Николай Денисов, Денис, Bazel, kalobyte, Yefim, Tekashnik, Алексей Малышев, Sergio, Роман, konstantin, Сергей Стефаненко, chokayes, ser2018, vip, Виктор, Дмитрий, Максим Лапшинов, FireWolf, Слава, Денис, Александр, New programist, no name, Deep Network, Кирилл, Max, Kitsuneco, Дмитрий, Anatoli, MaxB, София, Tom, Tim . |