NSU Programming Программирование на C++ и Python

Задания

Задания разделены на десять тематических блоков. Для получения за курс оценки "удовлетворительно" необходимо набрать по 5 баллов из первых девяти блоков. Можно выбирать любые задачи из каждого блока. Для получения оценки "хорошо" ("отлично") необходимо выполнить условия получения оценки "удовлетворительно" и, кроме того, набрать в сумме не менее 60 (80) баллов.

Язык C++

  1. Потоки ввода-вывода, строки

    1. Hello, Classroom! (1 балл)
    2. Второе вхождение (2 балла)
    3. Минимальная строка (2 балла)
    4. Палиндром (3 балла)
    5. Бормотание (5 баллов)
  2. Контейнеры стандартной библиотеки C++

    1. Перемещение строк (2 балла)
    2. Разворот последовательности (3 балла)
    3. Анаграммы (3 балла)
    4. Количество уникальных строк (3 балла)
    5. Вычисление арифметического выражения (5 баллов)
    6. Баланс скобок (3 балла)
  3. Алгоритмы стандартной библиотеки C++

    1. Сортировка по модулю (2 балла)
    2. Сортировка без учета регистра (2 балла)
    3. Часть вектора (3 балла)
    4. Разбиение на слова (3 балла)
    5. Перебор перестановок (3 балла)
    6. Поиск ближайшего элемента (3 балла)
  4. Объектно-ориентированное программирование

    1. Отсортированные строки (2 балла)
    2. Способы инициализации (2 балла)
    3. Номер телефона (3 балла)
    4. Суммирование матриц (6 баллов)
    5. Символьная арифметика (4 балла)
    6. Лоренц-вектор (4 балла)
    7. Статистика массива (5 баллов)
  5. Обобщенное программирование

    1. Часть множества (2 балла)
    2. Удаление повторов (2 балла)
    3. Все в квадрат (4 балла)
    4. Максимальный элемент по предикату (4 балла)
    5. Таблица (6 баллов)
    6. Дек на основе двух векторов (6 баллов)

Язык python

  1. Основы языка python

    1. Набор заданий I (5 баллов)
    2. Набор заданий II (5 баллов)
    3. Набор заданий III (5 баллов)
  2. Стандартная библиотека python

    1. Набор заданий I (5 баллов)
    2. Набор заданий II (5 баллов)
    3. Набор заданий III (5 баллов)
  3. Работа с numpy

    1. Набор заданий I (5 баллов)
    2. Набор заданий II (5 баллов)
    3. Монте-Карло интегрирование (4 балла)
    4. Монте-Карло генератор (4 балла)
    5. Клеточный автомат "Жизнь" (4 балла)
    6. Наибольшая общая подпоследовательность (5 баллов)
  4. Работа с matplotlib

    1. Отбор сигнальных событий (5 баллов)
    2. Линейная корреляция (5 баллов)
    3. Кольца Ньютона (>5 баллов)
    4. Фурье-анализ сигнала (>5 баллов)
    5. Свертка с разрешением (>5 баллов)
  5. Работа с pygame

    1. Игра "Nim" (>7 баллов)
    2. Игра "Жизнь" (>8 баллов)
    3. Просачивание (>8 баллов)
    4. Динамическая визуализация графа (>8 баллов)
    5. Игра "Hex" (>8 баллов)

Дополнительные задания

Студент сам может предложить дополнительное задание и выполнить его по согласованию с семинаристом. Тема задачи, например, может быть связана с курсовой работой студента.