
КЭкзCPP / программа_курса
.doc
1 |
Системы счисления |
Позиционные и непозиционные системы счисления. Основные характеристики системы счисления. Позиционные системы счисления с неотрицательной базой; 2-ая и 16-ричная системы счисления. Выполнение основных арифметических операций в этих системах. Перевод чисел из одной системы счисления в другую. Перевод целых, дробных, смешанных чисел из системы P в систему q средствами P-ичной, q-ичной арифметик. Перевод чисел Pq, где P=qk. |
2 |
Формы представления чисел в ЭВМ. |
Представление с фиксированной точкой. Прямой, дополнительный коды. Диапазон изменения чисел с фиксированной точкой. Выполнение арифметических операций над такими числами.
|
3 |
Понятие алгоритма решения задачи.
|
Основные свойства алгоритмов. Характеристики алгоритмов. Размер задачи. Временная, емкостная сложности. Понятие временной сложности в худшем смысле. Средства для описания алгоритмов: блок-схемы, псевдокоды, алгоритмические языки. C++. Пример простой программы. Этапы выполнения программы на С++. |
4 |
Язык программирования С++. |
Алфавит, синтаксис, семантика языка. Простейшие конструкции языка (лексические единицы): идентификаторы, служебные (ключевые) слова, разделители, знаки операций, метки, константы. Комментарий, его место, запись и назначение. Общая структура программы на С++. |
5 |
Понятие типа данных. |
Основные положения концепции типов данных. Основные (стандартные) типы: целый, вещественный, символьный, логический типы, запись констант каждого типа. Описание переменных. |
6 |
Выражение в С++. |
Тип выражения. Приоритеты операций. Префиксные и постфиксные операции. Совместимость типов. Преобразование типов. Вычисление выражений. |
7 |
Простейшие операторы С++. |
Запись операторов, их назначение, выполнение. Основные управляющие структуры, используемые для описания алгоритмов: следование, развилка (выбор), цикл. Операторы ввода-вывода (выполнение простейших процедур чтения информации с клавиатуры, вывода информации на экран); оператор присваивания; составной оператор. Линейные участки алгоритмов. |
8 |
Разветвляющиеся алгоритмы. |
Условный оператор; оператор выбора (переключатель). Примеры. |
9 |
Циклические алгоритмы. |
Виды циклов: итерационные циклы, циклы с параметром. Операторы цикла. Замена одного цикла другим. Кратные циклы. Оптимизация циклов. |
10 |
Функции в С++. |
Описание функции. Вызов функции. Формальные и фактические параметры. Способы передачи данных в функции: передача значением и по адресу. Использование ссылок. Прототипы функции. Локальные и глобальные переменные. Область действия имен. |
11 |
Указатели |
Инициализация указателей. Операции с указателями: операция разыменования, арифметические операции с указателями. |
12 |
Массивы |
Описание, инициализация массива, использование. Доступ к элементу массива. Связь массивов и указателей. Передача массивов в функции. Организация работы с массивом переменной длины. Динамические одномерные массивы. Двумерные массивы. Хранение массивов. |
13 |
Работа с C строками |
Описание строк. Особенности инициализации и хранения. Доступ к элементу строки. Основные функции языка С для обработки строк. Ввод-вывод строк. Преобразование символьной информации в числовую.
|
14 |
Структуры |
Описание, инициализация структуры. Доступ к полям структуры. Использование структур в программе: присваивание, ввод-вывод структур, передача структур в функции и обратно. Хранение структур. |
15 |
Файлы |
Ввод-вывод данных разных типов. Организация программы, в которой используется ввод данных из файла, вывод результатов в файл. |
16 |
Задача поиска |
Алгоритмы поиска: линейный поиск, линейный поиск с использованием барьера (слева/справа), двоичный (бинарный) поиск. |
17 |
Задача сортировки |
Задача сортировки совокупности с фиксированным количеством однотипных элементов. Упорядочивающая функция. Три группы методов сортировки на том же месте: сортировка выбором; сортировка с помощью обмена; сортировка включением. Прямые методы сортировки, очевидные модификации прямых методов. Описание методов, оценка временной сложности прямых методов сортировки. Сравнение прямых методов. Сортировка слиянием. Особенности сортировки совокупности элементов сложных типов. Сортировка по ключу. Использование вектора упорядочивающей функции, вектора индексов (замена перемещений элементов совокупности перемещением их индексов). |
18 |
Рекурсия (явная и неявная). |
Понятие глубины рекурсии. Организация рекурсивного алгоритма. Сортировка Хоара (быстрая сортировка, рекурсивный вариант). Ханойские башни. Два алгоритма формирования перестановок в лексикографическом порядке |