Основы и методология программирования 2016/2017 пилотный поток/161-2 — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Семинар 19.09.2016)
(Семинар 26.09.2016)
Строка 116: Строка 116:
 
* merge
 
* merge
 
* lower_bound
 
* lower_bound
 +
 +
В среду 28 сентября на первой паре, как всегда, будет контрольная по пройденным материалам.

Версия 17:06, 26 сентября 2016

Контакты семинариста

Почта finisterra@yandex.ru
VK vk.com/finisterra
Телефон +7(915)004-91-33
Telegram lastearth

Семинар 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

Контрольная работа №1

Домашнее задание: разбиться на пары и прислать мне на почту ревью кода напарника по всем отправленным на КР задачам. Принимается вплоть до полуночи воскресенья, то есть до конца недели.

ФИО Оценка Прислал ревью
Алейкин Сергей Дмитриевич 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 сентября на первой паре, как всегда, будет контрольная по пройденным материалам.