470823481
Нодира
498526497
Анна
364978079
Юлия

Закрыть

Общая информация
АИШ 10 лет О программе Схема обучения Программа обучения Стоимость обучения Преподаватели Новости и успехи Дни открытых дверей Работы слушателей О филиале АИШ Летняя школа
Обучающимся
Расписание занятий Списки групп и оценки Поиск школьника
Внеучебная жизнь
Олимпиады Политех-квест КРОСС И3 Курс для родителей Small Basic - клуб Битва роботов
Обратная связь
Форум Как нас найти Контакты

Дни открытых дверей Академии информатики для школьников —

Печать

Процедурное программирование на С/С++

( Процедурное программирование на С/С++ )

Продолжительность обучения: 17 ак.ч. лекции очно + 31 ак.ч. практики очно + 24 ак.ч. самостоятельно
График обучения: 72 академических часа

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

Аннотация

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

Основной целью курса является осваивание процедурных  возможностей языков  C/C++ и работа  со структурированными данными, такими как нуль-терминированные строки, массивы (одномерные и двумерные) и структуры.  Помимо этого,  в курсе будет немало времени уделено грамотному манипулированию с динамической памятью. 

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

По окончании обучения слушатели выполняют экзаменационную работу (разрабатывают программу на заданную тему) для оценки полученных знаний.

Знания и умения, полученные в результате обучения

В результате обучения учащиеся:

  • получат навыки разработки многомодульного консольного приложения в среде Visual C++,
  • овладеют множеством инструкций и операторов языков С/С++, в том числе низкоуровневыми возможностями языка (например, побитовыми операциями),
  • научатся грамотно использовать встроенные типы данных и создавать пользовательские агрегатные типы данных.
  • познакомятся с различными способами выделения памяти  и научатся корректно манипулировать памятью, в том числе динамической,
  • получат опыт использования возможностей стандартной библиотеки.

Требования к начальному уровню знаний

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

Слушатели АИШ, успешно (с оценкой не ниже «Хорошо») закончившие курс: «Структурное программирование на С/С++» принимаются без предварительного тестирования.

Программа курса

Занятие 1. Повторение (базовые средства языка C++)

  • Содержание семестра, организация занятий
  • Типы данных  в языке С/С++. Литералы. Управляющие последовательности. Перечисления (повторение)
  • Переменные и связанные с ними понятия (повторение)
  • Операторы: префиксные, постфиксные, операции приведения типа (повторение)
  • Инструкции выбора и цикла (повторение)
  • Тернарный оператор
  • Проверка усвоения материала курса «Структурное программирование на С/С++»

Занятие 2. Функции (повторение). Препроцессор

  • Обработка пользовательского ввода
  • От исходного кода до исполняемого файла (повторение)
  • Декомпозиция задачи
  • Разделение программы на модули
  • Внешние переменные
  • Функции без параметров
  • Директивы препроцессора (#define, #include)
  • Практическая  работа. Разработка проекта с использованием функций без параметров

Занятие 3. Массивы (одномерные и двумерные)

  • Одномерные массивы. Массив символов (повторение)
  • Нуль-терминированные строки
  • Двумерные массивы
  • Упражнения на написание программ
  • Практическая работа. Разработка проекта с использованием  встроенных массивов

Занятие 4. Указатели (повторение). Функции с параметрами

  • Указатели (повторение)
  • Арифметика указателей
  • Функции. Передача параметров по значению (повторение)
  • Ссылки
  • Функции. Передача параметров по адресу (по указателю, по ссылке)
  • Практическая работа (повторение). Разработка программы с использованием основных инструкций (ветвление, цикл)

Занятие 5. Структуры. Массивы и указатели

  • Структуры Си. (повторение)
  • Встроенный массив в качестве поля структуры
  • Передача структуры в функцию (по значению и по адресу)
  • Возврат структуры по значению
  • Связь массивов и указателей
  • Массив указателей. Массив строк
  • Практическая работа. Разработка проекта с использованием структур и функций с параметрами

Занятие 6. Разработка многофайлового проекта

  • Декомпозиция задачи (повторение)
  • Разработка проекта программы
  • Практическая работа. Разработка многофайлового проекта с использованием структур и функций с параметрами

Занятие 7. Функции и массивы

  • Передача одномерных массивов в функцию
  • Использование функций стандартной библиотеки для работы со строками
  • Функции и ключевое слово const
  • Перегрузка имен функций
  • Практическая работа. Разработка многофайлового проекта с использованием структур и функций с параметрами

Занятие 8. Динамическое выделение памяти

  • Операторы new, delete (повторение)
  • Динамическое выделение памяти под одиночную переменную
  • Динамические одномерные  массивы
  • Передача динамического одномерного массива в функцию
  • Использование библиотек сторонних производителей
  • Практическая работа. Разработка программы с использованием библиотеки для работы с консолью

Занятие 9. Файловый ввод-вывод

  • Понятие потока
  • Файловый ввод-вывод с помощью  fstream
  • Практическая работа. Разработка многофайлового проекта с использованием структур и функций с параметрами и файлового ввода-вывода

Занятие 10. Двумерные массивы и функции.

  • Передача двумерного встроенного массива в функцию
  • Передача массива строк в функцию
  • Динамические двумерные  массивы
  • Передача  динамических двумерных массивов в функцию
  • Использование библиотеки  управления оконным приложением
  • Практическая работа. Разработка  консольного проекта, управляющего отображением двумерного динамического массива в окне Windows

Занятие 11. Побитовые операции. Битовые поля

  • Побитовые операции
  • Использование  побитовых операций для «управления устройством»
  • Битовые поля
  • Практическая работа. Решение задач с использованием  побитовых операций

Занятие 12

  • Экзамен. Разработка программы с использованием динамических двумерных массивов  и функций
  • Подведение итогов курса