Мне нравится С++

Язык программирования С++ является одним из самых популярных и распространенных языков на сегодняшний день. Это высокоуровневый компилируемый язык программирования общего назначения, который подходит для создания самых различных приложений. Язык С++ используется в системном программировании, при создании операционных систем, драйверов, различных утилит, антивирусов. Например, часть ОС Windows написана на С++.

Его применяют и в тех программах, где важны скорость работы и производительность, например для создания создания игр с богатой насыщенной визуализацией.

Знание основ языка С++ пригодится и школьникам,  для участия в олимпиадах, решении задач ЕГЭ. 

 

Педагоги

Ермакова Н.И.

Содержание программы

1-й год обучения
Язык программирования С++. Основные элементы языка. Структура программы. Требования к стилю программирования. Библиотеки. Подключение библиотек. Вывод на экран.

Переменная. Тип переменной. Простые типы данных. Числовые типы. Присваивание. Операции и стандартные функции для работы с числовыми типами. Алгоритм обмена значений двух переменных. Приоритет операций. Ввод переменных с клавиатуры. Константы.

Операции отношения. Проверка условия и ветвление в алгоритме. Полная и неполная форма оператора if. Блоки операторов. Вложение ветвлений. Логический тип данных. Логические операции и их приоритет. Ветвление по ряду условий (выбор).Тестирование программ.

Циклы. Итерационные циклы или циклы с условием. Цикл с предусловием. Цикл с постусловием. Цикл с параметром. Два вида цикла с параметром. Цикл в цикле.

Графические возможности языка. Подключение графической библиотеки. Основные графические примитивы. Управление цветом.

Конструирование алгоритма «сверху вниз». Вспомогательный алгоритм. Процедура. Функция. Процедуры и функции с параметрами. Формальные и фактические параметры. Локальные и глобальные параметры. Способы передачи параметров.

Рекурсия. Глубина рекурсии. Прямая и косвенная рекурсия. Комбинаторные вычисления.


Структурные (сложные) типы данных. Массивы. Одномерные массивы. Элемент массива, его индекс и значение. Способы заполнения массива. Вывод массива. Работа с массивами: действия с элементами, поиск.

Строки. Строки как массив символов. Основные действия со строками. Стандартные функции и процедуры для работы с ними.

 

2-й год обучения

Повторение основных команд линейного алгоритма. Повторение основных структур языка. Массивы. Одномерные массивы. Способы заполнения массива. Вывод массива. Поиск в массиве.

Создание циклической структуры с ветвлениями, работа с массивами.

Одномерные массивы, способы сортировки (простые и сложные). Матрицы и действия с ними. Сортировка матриц.

Файлы. Виды файлов. Текстовые файлы. Работа с файлами.

Структуры в C++. Обращение к полям структуры. Хранение структур в файлах. Сортировка структур.

Динамические массивы. Тип vector из библиотеки STL. Итераторы. Словари. Списки. Перебор элементов словаря.

Стек. Очередь. Хранение очереди в массиве. Дек.

Деревья в С++. Обходы дерева. Деревья поиска. Вычисление арифметических выражений. Хранение дерева в массиве.

Графы в языке C++. Задача коммивояжёра. Жадные алгоритмы. Случайные перестановки. Передача данных по ссылке.

Динамическое программирование. Одномерные задачи. Редактирование строк. Оптимальная стратегия

Классы и объекты в языке C++. Объектно-ориентированный анализ задачи. Конструкторы классов. Разбиение на модули.

Инкапсуляция. Возможность изменения внутреннего устройства объектов. Свойства «только для чтения».

Наследование. Иерархия классов. Базовый класс. Абстрактный класс. «Чистые» виртуальные методы. Защищённые поля и методы (protected).

Полиморфизм. Указатели на базовый класс. Виртуальные методы. Позднее связывание. Деструктор.

Организация взаимодействия объектов.

 

Цели программы

Помочь овладеть базовыми понятиями теории алгоритмов и научить реализации алгоритмов в виде программ, написанных на языке программирования С++.

Результат программы

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

Особые условия проведения

Необходимо, чтобы учащиеся обладали навыками работы в операционной системе Windows.

Материально-техническая база

  • Компьютерный класс
  • мультимедийный проектор
  • интерактивная доска
  • среда программирования: Dev-C++, Code::Blocks
  • выход в интернет (на сайт дистанционной подготовки https://informatics.mccme.ru/)