
- •Основы алгоритмизации и программировани
- •Тема . Подставляемые (встраиваемые) функции. Перегрузка функций
- •Тема. Рекурсивные функции
- •Тема 4. Производные типы. Тип указатель: указатели на объекты.
- •Тема. Тип указатель: указатели на функции.
- •Тема. Символьные данные и строки.
- •Тема. Функции для работы со строками.
- •Тема . Массивы: одномерные массивы.
- •Тема. Одномерные массивы: задачи сортировок элементов массива.
- •Тема. Двумерные массивы.
- •Тема. Структуры
- •Тема. Структуры и указатели
- •Тема . Объединения
- •Тема. Битовые поля
- •Тема . Стандартные файлы и функции по работе с ними.
- •Тема. Распределение памяти. Динамическое выделение памяти.
- •Тема. Одномерные динамические массивы.
- •Тема 19. Двумерные динамические массивы.
- •Тема. Динамические структуры данных.
- •Тема . Динамические структуры данных: однонаправленные и двунаправленные списки.
- •Тема. Динамические структуры данных: очередь и стек.
- •Тема. Динамические структуры данных: бинарные деревья.
- •4 Контрольные задания Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Задание 6
- •5. Примеры выполнения домашних заданий
- •1. Запуск приложения:
- •2. Создание консольного приложения:
- •4. Ввод программного кода:
- •5. Построение проекта:
- •1. Запуск приложения:
- •2. Создание консольного приложения:
- •4. Ввод программного кода:
- •5. Построение проекта:
- •Лабораторные работы
- •Лабораторная работа. Подставляемые (встраиваемые) функции. Перегрузка функций.
- •Лабораторная работа. Рекурсивные функции.
- •Лабораторная работа. Производные типы. Тип указатель: указатели на объекты.
- •Лабораторная работа. Тип указатель: указатели на функции.
- •Лабораторная работа. Решение задач с использованием указателей.
- •Лабораторная работа. Символьные данные и строки.
- •Лабораторная работа. Функции для работы со строками.
- •Лабораторная работа. Одномерные массивы: задачи сортировок элементов массива.
- •Лабораторная работа. Двумерные массивы: задачи поиска, замены и суммирования элементов двумерного массива.
- •Лабораторная работа . Двумерные массивы: задачи сортировок и перестановок в двумерных массивах.
- •2.5. Контроль знаний (тесты, образец билета, вопросы для экзамена, зачета)
- •2.5.2 Итоговый контроль знаний
Тема. Динамические структуры данных: бинарные деревья.
Дерево – это структура данных, представляющая собой совокупность элементов и отношений, образующих иерархическую структуру этих элементов (рис. 1). Каждый элемент дерева называется вершиной (узлом) дерева. Вершины дерева соединены направленными дугами, которые называют ветвями дерева. Начальный узел дерева называют корнем дерева, ему соответствует нулевой уровень. Листьями дерева называют вершины, в которые входит одна ветвь и не выходит ни одной ветви.
Каждое дерево обладает следующими свойствами:
1) существует узел, в который не входит ни одной дуги (корень);
2) в каждую вершину, кроме корня, входит одна дуга.
Деревья особенно часто используют на практике при изображении различных иерархий. Например, популярны генеалогические деревья.
2.4. Методические указания (рекомендации)
2.4.2. Методические указания по выполнению практических и лабораторных работ
Номер варианта заданий определяется по двум последним цифрам номера студенческого билета (шифра студента) в соответствии с табл. 1. (по дисциплине «Основы алгоритмизации и программирование» выполняются задания 4 5, 6.
Таблица 1
Выбор номера варианта
шифра
Предпоследняя цифра шифра |
1 |
2 |
3 |
4 |
5 |
6
|
7 |
8 |
9 |
0 |
1, 3, 5, 7, 9 |
I |
II |
III |
IV |
V |
VI |
VII |
VIII |
IX |
X |
2, 4, 6, 8, 0 |
XI |
XII |
XIII |
XIV |
XV |
XVI |
XVII |
XVIII |
XIX |
XX |
Например, если две последние цифры шифра 63, номер варианта будет XIII.
Задания должны быть описаны по следующей структуре:
условие задачи;
описание входных данных для задачи с указанием типа информации, формата и структуры данных, диапазона изменения данных, максимального объёма данных;
описание выходных данных ( аналогично описанию входных данных);
описание идентификаторов, используемых в блок-схеме и тексте программы;
блок-схема программы, выполненная в соответствии с требованиями ГОСТ 19.002-80, и её описание;
описание программы с анализом использования языковых средств и контрольного примера;
листинг программы, отлаженной и прочитанной на данных контрольного примера.
Выполненная контрольная работа проверяется преподавателем во время консультаций, график которых составляется деканатом и рассылается каждому студенту. Если контрольная работа выполнена правильно, студент получает «зачёт». В противном случае в работу вносятся исправления и она представляется преподавателю на повторную проверку.
4 Контрольные задания Задание 1
Составить блок-схему и программу увеличения большего из двух чисел на 1.
Составить блок-схему и программу определения значений переменной Y по одной из формул в зависимости от величины X :
Составить блок-схему и программу, которая большее из двух произвольных чисел возводит в квадрат, а меньшее увеличивает на единицу.
Составить блок-схему и программу нахождения суммы квадратов всех нечётных чисел в интервале от 30 до 80.
Составить блок-схему и программу нахождения всех членов геометрической прогрессии от 1 до 25 со знаменателем 1,25.
Составить блок-схему и программу, по которой меньшее из двух чисел будет умножено на большее, а большее разделено на меньшее.
Составить блок-схему и программу определения значения переменной Y по одной из формул в зависимости от величины X :
С клавиатуры вводится 10 произвольных чисел. Составить блок-схему и программу определения суммы всех вводимых чисел.
Составить блок-схему и программу нахождения суммы удвоенных чётных чисел в интервале от 15 до 90.
Составить блок-схему и программу нахождения произведения ряда натуральных чисел от 15 до 41.
Составить блок-схему и программу нахождения произведения всех членов арифметической прогрессии от 10 до 30 с шагом 1,15.
Составить блок-схему и программу определения наименьшего из десяти произвольных чисел, введённых с клавиатуры.
Составить блок-схему и программу определения наибольшего из десяти произвольных чисел, введённых с клавиатуры.
С клавиатуры вводится 10 произвольных чисел. Составить блок-схему и программу, определяющие количество введённых отрицательных чисел.
С клавиатуры вводится 10 произвольных чисел. Составить блок-схему и программу, определяющие количество введённых положительных чётных чисел.
С клавиатуры вводится 10 произвольных чисел. Составить блок-схему и программу, определяющие сумму нечётных чисел и их среднее арифметическое значение.
Составить блок-схему и программу, выводящие на экран дисплея таблицу квадратов чисел, меняющихся в интервале от 1 до 20 с шагом 0,5.
Составить блок-схему и программу определения площади квадратов со стороной, меняющейся от 2 до 4 см с шагом 3 мм.
Составить блок-схему и программу определения площади прямоугольников высотой 4 см с основанием, меняющимся от 3 до 6 см с шагом 2 мм.
Составить блок-схему и программу определения объёма кубов со стороной, меняющейся от 5 до 8 см с шагом 2 мм.
Составить блок-схему и программу определения значения переменной Y по одной из формул:
Аргумент X меняется в интервале от -5 до 5 с шагом 0,2.