«Языки программирования», 1 семестр
1. Понятие программирования, программы, структуры данных. Основные этапы решения задачи на компьютере. Примеры.
2. Понятие Алгоритма. Свойства алгоритмов. Формы записи алгоритма. Примеры.
3. Блок-схемы. Основные типы блоков. Правила соединения блоков. Примеры.
4. Базовые структуры алгоритмов. Дополнительные структуры алгоритмов. Примеры.
5. Понятие языка программирования. Составляющие элементы языка программирования: алфавит, лексемы, синтаксис, семантика. Классификация языков программирования. Понятие компилируемых и интерпретируемых языков. Инструменты программирования. Примеры.
6. Компилятор. Упрощенная модель компилятора.
7. Состав языка программирования С++: алфавит, лексемы, выражения, операторы. Виды лексем: идентификаторы, ключевые слова, знаки операций, константы, разделители. Примеры.
8. Понятие типа данных. Классификация типов данных в языке С++: базовые и составные типы. Целочисленные, вещественные, символьный, логический и пустой типы данных. Примеры.
9. Типичная структура программы на языке С++. Переменные, их описание, виды. Примеры.
10. Выражения, операнды, операции языка С++. Унарные, бинарные и тернарные операции. Классификация операций по назначению. Операция присваивания, преобразование типов в операции присваивания, сокращенные операции присваивания. Арифметические операции. Операции сравнения. Логические операции. Примеры.
11. Выражения, операнды, операции языка С++. Побитовые операции. Специальные операции. Операция приведения типов. Приоритеты операций. Преобразование типов в выражениях. Примеры.
12. Понятие оператора. Виды операторов С++. Составной блок. Условный оператор. Оператор выбора. Примеры.
13. Понятие оператора. Виды операторов С++. Понятие цикла. Виды операторов цикла: цикл с параметром, цикл с предусловие, цикл с постусловием. Операторы передачи управления: goto, break, continue, return. Примеры.
14. Понятие указателя. Виды указателей: указатель на объект, указатель на void, указатель на функцию. Инициализация указателей. Константные указатели. Операции с указателями. Назначение указателей. Примеры.
15. Понятие указателя. Виды указателей: указатель на объект, указатель на void, указатель на функцию. Структура памяти программы. Динамические переменные. Ссылки. Примеры.
16. Понятие массива. Доступ к элементам массива по индексу. Инициализация массива. Операции над элементами массива: ввод, вывод, нахождение минимального элемента, сортировка. Примеры.
17. Многомерные массивы. Доступ к элементам многомерного массива по индексу. Расположение многомерных массивов в памяти. Инициализация многомерных массивов. Операции над элементами двумерного массива: ввод, вывод, нахождение минимального элемента. Примеры.
18. Динамические массивы. Выделение и освобождение памяти. Двумерные динамические массивы. Примеры.
19. Понятие строки. Инициализация строк. Ввод строки с консоли. Печать строки на экран. Основные функции для работы со строками: strlen, strcmp, strcpy, strcat, strchr, strstr. Примеры.
20. Понятие строки. Инициализация строк. Ввод строки с консоли. Печать строки на экран. Функции преобразования различных типов данных в строку и обратно. Примеры.
21. Понятие функции. Объявление и определение функции. Вызов функции. Формальные и фактические параметры. Передача параметров в функцию по ссылки и по значению. Возврат значений из функции. Примеры.
22. Понятие функции. Объявление и определение функции. Функции, возвращающие void. Передача массивов в функцию. Примеры.
23. Рекурсивные функции. Прямая и косвенная рекурсия. Дерево вызовов рекурсивной функции, рекурсивный спуск, рекурсивный возврат, условие окончания рекурсивного спуска. Назначение рекурсий, достоинства и недостатки Примеры.
24. Понятие функции. Параметры функций со значениями по умолчанию. Перегрузка функций. Неоднозначность при перегрузке. Примеры.
25. Понятие функции. Объявление и определение функции. Шаблоны функций. Функция main(). Примеры.
26. Типы данных, определяемые пользователем. Переименование типов. Перечисления. Примеры.
27. Типы данных, определяемые пользователем. Понятие структуры. Доступ к полям структуры. Инициализация структур. Присвоение структур. Указатели на структуру. Примеры.
28. Типы данных, определяемые пользователем. Битовые поля и объединения. Примеры.
29. Понятие потока. Виды потоков. Способы работы с потоками в С++. Понятие файла. Последовательность действий при работе с файлами. Текстовые и бинарные файлы. Примеры.
30. Работа с файлами с помощью функций, унаследованных их языка С. Примеры.
31. Работа с файлами с помощью потоковых классов С++. Примеры.
При подготовке к зачету использовать материалы лекций и учебников по программированию.