- •Алгоритм.
- •Множественный выбор switch.
- •Оператор do … while ( с постусловием ).
- •Do оператор ;
- •Оператор цикла for.
- •Использование операторов break и continue в циклах.
- •Функции ввода-вывода.
- •Общий вид программы.
- •Вложенные циклы.
- •Адреса и указатели.
- •Массивы.
- •Int a[10] ; // целочисленный вектор из 10 элементов.
- •Векторы.
- •Сортировка вектора.
- •Матрицы.
- •Строки.
- •Подпрограммы.
- •Директива препроцессора #define .
- •Области видимости.
- •Классы памяти.
- •Рекурсия.
- •Подготовка к зачету.
- •Структуры.
- •Int ball [4] ; // описание третьего поля – оценки.
- •Очередь.
- •Линейные списки.
- •Деревья.
- •Int n, k ; // ее размерности
- •Void print ( void ) // печать матрицы
- •Определение методов вне класса.
- •Частные и общие данные.
- •Конструктор.
- •Перегрузка операторов.
- •Неявный указатель *this.
- •Дружественные функции.
- •Класс множество.
- •Наследование.
- •Объекто-ориентированное программирование.
- •Список вопросов к экзамену.
- •Литература.
Подготовка к зачету.
Зачет в первом семестре представляет собой решение задачи одной из следующих групп.
1. Вычислительные.
Уметь определять делимость чисел, простые числа, цифры любого числа, перевод из любой системы счисления в любую, вычислять члены последовательности суммы и произведения.
Задачи для проверки:
1.1. Определить количество «счастливых билетов» в катушке от 000 000 до 999 999.
1.2. Вычислить
, где
,
.
С точностью до 0.001.
2. Матрицы и векторы.
Уметь находить максимальный и минимальный элемент, сумму и произведение элементов, отличать элемент и его индексы, переставлять значения элементов.
Задачи для проверки:
2.1. Заполнить матрицу символами по алфавиту.
2.2. Задана матрица 10*10, получить из нее матрицу размерности 8*8, путем вычеркивания первой и последней строки, первого и последнего столбца.
2.3. Найти в матрице элементы сумма индексов, которых четна, и заменить их нулем.
3. Геометрические задачи.
Уметь работать со множеством точек, как с двумерным массивом или двумя векторами. Организовывать перебор точек, вычислять расстояние между ними.
Задачи для проверки:
3.1. Задано 5 точек, определить периметр фигуры.
3.2. Проверить попадает ли произвольная точка в область, заданную пересечением круга с радиусом r и центром в начале координат и полуплоскости y>0.
4. Строки.
Уметь выделить слово, сосчитать его длину, сравнивать символы.
Задачи для проверки:
4.1. Сравнить первое и последнее слово строки.
4.1. Проверить является ли первое слово обращением последнего в заданной строке.
СЛОЖНЫЕ СТРУКТУРЫ ДАННЫХ.
К сложным структурам данных будем относить графы, деревья, стеки очереди и линейные списки.
Рассмотрим каждый из этих объектов и их программную реализацию.
ГРАФ.
Граф – это пара ( V, E), где V={ 1,2,3,4,5 } – множество вершин, а E={ (1,2),(2,3),(2,5),(2,4),(5,4) }
Множество неупорядоченных пар вершин из Е, называемых ребрами.
Граф может быть ориентированным, тогда пары вершин упорядочены и называются дугами.
Каждому ребру или дуге может быть поставлено в соответствие число – вес или стоимость. Классическая задача – путь минимальной стоимости в графе. Для того, чтобы ее решить нужно промоделировать граф. Представить его в памяти машины можно без каких-либо специальных структур матрицами смежности или инцидентности.
Матрица смежности показывает связи между вершинами.
Наличие пути от вершины к вершине обозначается 1 либо весом ребра. В нашем примере – второе.
|
1 |
2 |
3 |
4 |
5 |
1 |
0 |
1 |
6 |
# |
5 |
2 |
# |
0 |
2 |
7 |
# |
3 |
# |
# |
0 |
3 |
# |
4 |
8 |
# |
# |
0 |
4 |
5 |
# |
# |
# |
# |
0 |
# - отсутствие пути
Матрица смежности не ориентированного графа симметрична.
Матрица инцидентности показывает связи между вершинами и ребрами(дугами).
Вершины – строки, ребра – столбцы. В строке столько цифр, сколько ребер выходит из данной вершины. В данном примере номер ребра и его вес совпадают, в произвольном случае вес - это любое число.
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
1 |
# |
# |
# |
5 |
6 |
# |
# |
2 |
# |
2 |
# |
# |
# |
# |
7 |
# |
3 |
# |
# |
3 |
# |
# |
# |
# |
# |
4 |
# |
# |
# |
4 |
# |
# |
# |
8 |
5 |
# |
# |
# |
# |
# |
# |
# |
# |
