Course Description


Введение в олимпиадное программирование на языке С++. Если вы хотите участвовать в городских, региональных, республиканских и международных олимпиадах по информатике, то этот вводный курс для вас. 


Курс включает в себя следующие темы: 

  • основы языка программирования С++ 
  • работа с файловым менеджером Far Manager 
  • алгоритмы сортировки и различные структуры данных 
  • работа с библиотекой STL
  • бонусные материалы о том, как “стресс”-тестировать решение в условиях сжатых временных и ресурсных рамок. 


Курс разработан для учащихся без опыта программирования. По прохождению курса вы научитесь создавать программы на языке С++, решать самые простые задачи и понимать синтаксис языка С++. Все, что вы пройдете на этом курсе пригодится для изучения более сложных алгоритмов и решения более сложных задач городского уровня и выше. 

Преподаватель

Асем Кабидолданова

Кандидат физико-математических наук, доцент кафедры дифференциальных уравнений и теории управления Казахского национального университета им аль-Фараби, победитель конкурса “Лучшее учебное издание” (2014) за книгу «Управляемость линейных динамических систем», Лучший молодой ученый КазНУ (2015). Прошла стажировку в Институте математики Университета Гумбольдта (Берлин, Германия,2015). Автор книг: Управляемость линейных динамических систем. Алматы: Қазақ университеті, 2014. 132 с.; Тиімді басқару дəрістері. Алматы: Қазақ университеті, 2014. 132 с. 141 с. (в соавторстве с С.А. Айсагалиевым); Оптимальное управление динамических систем. - Saarbrucken, Germany: Palmarium Academic Publishing, 2012. 288 с. . (в соавторстве с С.А. Айсагалиевым).

Course curriculum

  • 1

    Приветствие

    • Структура курса

  • 2

    Установка программного обеспечения и написание первой программы на С++

    • Установка C++, Far, Настройка Path

    • Принципы работы в Far Manager

    • Ввод и Вывод через Cin и Cout

    • Ввод и Вывод через Printf и Scanf

    • Типы данных

    • Типы данных в С++

    • Файловый ввод-вывод

  • 3

    Условный оператор и структуры

    • Оператор IF ELSE

    • Примеры решения задач, Операторы сравнения

    • Операторы сравнения

    • Структуры pair. Задача

    • Структуры. Примеры

    • Операторы сравнения

    • Cтруктуры

  • 4

    Практические задания 1

    • Как сдавать домашнее задание

    • Видео: Как сдавать домашнее задание

    • Театральная площадь

    • Отправка кода на проверку по задаче Театральная площадь

    • Арбуз

    • Отправка кода на проверку - Арбуз_

  • 5

    Массивы и циклы

    • Цикл For. Несколько примеров

    • Цикл While. Примеры

    • Массивы. Объявление и использование

    • Примеры решения задач с использованием массивов и циклов

    • Задача на массивы и циклы

    • Массивы

    • Циклы

  • 6

    Строки и сортировка

    • Символы. Различные методы вывода/ввода символов

    • Строки. Операции со строками. Различные методы вывода/ввода строк

    • Сортировка символов внутри строки. Сортировка произвольных данных. Примеры использования sort()

    • Решение задач на сортировку и строки. Пример 1

    • Решение задач на сортировку и строки. Пример 2

    • Символы и строки

    • Сортировка строк. Задачи

    • Сортировка и строки

  • 7

    Практические задания 2

    • Видео: Как сдавать домашнее задание

    • Слишком длинные слова

    • Следующий раунд

    • Команда

    • Bit++

    • Футбол

    • Петя и строки

    • Математика спешит на помощь

    • Отправка кода на проверку - Слишком длинные слова

    • Отправка кода на проверку - Следующий раунд

    • Отправка кода на проверку - Команда

    • Отправка кода на проверку - Bit++

    • Отправка кода на проверку - Футбол

    • Отправка кода на проверку - Петя и строки

    • Отправка кода на проверку - Математика спешит на помощь

  • 8

    Функции и процедуры

    • Объявление функции и процедур. Примеры использования

    • Понятие рекурсии. Примеры задач

    • Рекурсия. Задача

    • Примеры использования #define и typedef

    • Рекурсия

    • Функции и процедуры

    • define и typedef

  • 9

    Практические задания 3

    • Юра и заселение

    • Отправка кода на проверку - Юра и заселение

    • Перевод

    • Отправка кода на проверку - Перевод

    • Красивый год

    • Отправка кода на проверку - Красивый год

    • Кефа и первые шаги

    • Отправка кода на проверку - Кефа и первые шаги

    • Подарки

    • Отправка кода на проверку - Подарки

    • Дабстеп

    • Отправка кода на проверку - Дабстеп

    • Девушка или Юноша

    • Отправка кода на проверку - Девушки или Юноша

  • 10

    Библиотека STL

    • Контейнеры STL. Примеры: vector, find, min_element, max_element, swap

    • Set

    • MAP

    • Queue, deque, Примеры

    • STL. Примеры задач

    • Библиотека STL. Задачи

    • Библиотека STL

  • 11

    Тестирование программ

    • Написание шаблона template.cpp и построчный разбор include, typedef, define

    • Генерирование случайных чисел. Примеры написания генератора случайных тестов

    • Написание проверочных скриптов и stress-чекеров

    • Использование run.exe и invoke.dll

    • Шаблон template

  • 12

    Практические задания 4

    • А и В и ошибки компиляции

    • Перевод заключенных

    • Хранители

    • Миша и смена хэндлов

    • Девочка и максимальная сумма

    • Отправка кода на проверку - А и В и ошибка компиляции

    • Отправка кода на проверку - Перевод заключенных

    • Отправка кода на проверку - Хранители

    • Отправка кода на проверку - Миша и смена хэндлов

    • Отправка кода на проверку - Девочка и максимальная сумма