Основы и методология программирования 2016/2017 пилотный поток/161-2 — различия между версиями
Tiunovas (обсуждение | вклад) |
Tiunovas (обсуждение | вклад) |
||
Строка 172: | Строка 172: | ||
[http://pastebin.com/JWdbkdnK Код, написанный на семинаре.] | [http://pastebin.com/JWdbkdnK Код, написанный на семинаре.] | ||
+ | |||
+ | ===Консультация 06.10.2016=== | ||
+ | Некоторые нововведения C++11. std::initializer_list, constexpr. Семантика перемещения: rvalue ссылки, move, forward. | ||
+ | |||
+ | [http://pastebin.com/R1W5QhyA Разобранное на консультации.] | ||
===Домашняя работа=== | ===Домашняя работа=== |
Версия 18:25, 6 октября 2016
Содержание
- 1 Контакты семинариста
- 2 Контакты ассистента
- 3 Семинар 05.09.2016
- 4 Семинар 07.09.2016
- 5 Семинар 12.09.2015
- 6 Семинар 14.09.2015
- 7 Семинар 19.09.2016
- 8 Семинар 21.09.2016
- 9 Семинар 26.09.2016
- 10 Семинар 28.09.2015
- 11 Семинар 03.10.2016
- 12 Семинар 05.10.2016
- 13 Консультация 06.10.2016
- 14 Домашняя работа
Контакты семинариста
Почта finisterra@yandex.ru
VK vk.com/finisterra
Телефон +7(915)004-91-33
Telegram lastearth
Контакты ассистента
Почта tiunovas@mail.ru
VK https://vk.com/id144882148
Telegram astiunov
Контест с дополнительными задачами: https://official.contest.yandex.ru/contest/2868/enter/.
Семинар 05.09.2016
HelloWorld на C++. Знакомство с linux. Основные команды, которые следует освоить:
- ls
- cd
- vim
- g++
Также стоит посмотреть на команды
- man
- cat
- less
- grep
и попрактиковаться в перенаправлениях потоков.
Семинар 07.09.2016
Решение задач.
- числа Фибоначчи
- ASCII-таблица
- Треуголник Паскаля
- Быстрое возведение в степень
- Непарное число
Типичные ошибки и замечания по style guide'у:
- именование переменных
- инициализация переменных при создании
Полезные ссылки
Семинар 12.09.2015
Решение задач.
- Утилита head (ввод-вывод)
- gcd (работа с функциями)
- Частоты символов (ввод-вывод и вектор)
- Транспонирование матрицы (вектора векторов)
К среде надо подготовиться к контрольной по вводу-выводу, базовым конструкциям языка, циклам и функциям. Также советую познакомится с интерфейсом Яндекс.Контеста на примере тренировочного набора задач.
Семинар 14.09.2015
Домашнее задание: разбиться на пары и прислать мне на почту ревью кода напарника по всем отправленным на КР задачам. Принимается вплоть до полуночи воскресенья, то есть до конца недели.
ФИО | Оценка | Прислал ревью |
---|---|---|
Алейкин Сергей Дмитриевич | 10 | + |
Бобровский Артемий Андреевич | 6 | + |
Васильев Олег Юрьевич | 10 | |
Грицаев Матвей Григорьевич | 4 | + |
Дрынкин Роберт Робертович | 6 | |
Ершов Олег Владиславович | 6 | + |
Кочергин Владислав Константинович | 8 | + |
Лавренов Николай Артемович | 10 | + |
Лавритов Дмитрий Ильич | 6 | + |
Семенов Михаил Александрович | 4 | + |
Усов Федор Андреевич | 6 | + |
Якунчева Ирина Юрьевна | 8 | + |
Семинар 19.09.2016
Ассоциацивные массивы. Языковая статистическая модель. N-граммы.
Дома попробуйте обучить модели по словам, а не по буквам. Также можно поэкспериментировать со смешением распределений по разным N.
Семинар 21.09.2016
Написание структур. Специализация std::less, std::equal_to, std::hash для своих структур. Шаблонные параметры std::map, std:set, std::unordered_map, std::unordered_set.
Задачи
- поиск наиболее популярного квадрата на клетчатой плоскости по набору точек
- обработка запросов "содержится ли точка хотя в одном отрезке из фиксированного набора"
- проверка наличия вертикальной оси симметрии у набора точек
Семинар 26.09.2016
Написание шаблонных функций. Специализация шаблонных функций. Шаблонные параметры по умолчанию. Написание алгоритмов, аналогичных <algorithm>.
Задачи
- transform
- partition на ForwardIterator'ах
- merge
- lower_bound
В среду 28 сентября на первой паре, как всегда, будет контрольная по пройденным материалам.
Семинар 28.09.2015
Результаты контрольной:
ФИО | Оценка | Прислал ревью |
---|---|---|
Алейкин Сергей Дмитриевич | 8 | |
Бобровский Артемий Андреевич | 6 | |
Васильев Олег Юрьевич | 0 | |
Грицаев Матвей Григорьевич | 6 | |
Дрынкин Роберт Робертович | 8 | |
Ершов Олег Владиславович | 6 | |
Кочергин Владислав Константинович | 8 | |
Лавренов Николай Артемович | 6 | |
Лавритов Дмитрий Ильич | 6 | |
Семенов Михаил Александрович | 8 | |
Усов Федор Андреевич | 4 |
Домашнее задание: как в прошлый раз, разбиться на пары и прислать мне на почту ревью кода напарника по всем отправленным на КР задачам.
Принимается вплоть до полуночи воскресенья, то есть до конца недели.
Семинар 03.10.2016
Класс для работы с рациональными числами (не шаблон и шаблон). Конструкторы, список инициализации, const, перегрузка операторов, friend.
Семинар 05.10.2016
Дополнительные применения шаблонов, классы типов, sfinae.
Консультация 06.10.2016
Некоторые нововведения C++11. std::initializer_list, constexpr. Семантика перемещения: rvalue ссылки, move, forward.
Домашняя работа
Распределение по вариантам:
ФИО | A | B | C |
---|---|---|---|
Алейкин Сергей Дмитриевич | 2 | 2 | 2 |
Бобровский Артемий Андреевич | 1 | 1 | 1 |
Васильев Олег Юрьевич | 2 | 1 | 2 |
Грицаев Матвей Григорьевич | 1 | 2 | 2 |
Дрынкин Роберт Робертович | 2 | 1 | 1 |
Ершов Олег Владиславович | 1 | 2 | 2 |
Кочергин Владислав Константинович | 1 | 2 | 2 |
Лавренов Николай Артемович | 1 | 2 | 1 |
Лавритов Дмитрий Ильич | 2 | 2 | 2 |
Семенов Михаил Александрович | 1 | 1 | 2 |
Усов Федор Андреевич | 2 | 2 | 1 |