3. Написать процедуру, которая выполняет вставку компоненты по заданному ключу.
include <stdio.h>
#include <stdlib.h>
#define MyType int
//Будем считать, что ключ в нашем случае - это эзначение типа int.
//Хранение значений -в виде двоичного однонаправленного дерева. Левое поддерево - данные, со значением ключа меньше, чем вершина, прваое - большим, чем вершина.
typedef struct element //элемент-вершина дерева.
{
int key;
struct element * left_el;
struct element * right_el;
MyType val;
} MyElement;
typedef struct
{
MyElement * tree_root; //корень;
int size;
} MyMap; //сама структура хранилища.
MyMap initNewMap()
{
MyMap mm;
mm.tree_root=NULL;
mm.size=0;
return mm;
}
int add_element(MyMap * mm, int k, MyType el) //добавить пару ключ-значение
{
MyElement * new_el = malloc(sizeof(MyElement));
if(new_el)
{
new_el->key=k;
new_el->val=el;
new_el->left_el=NULL;
new_el->right_el=NULL;
if(mm->tree_root==NULL)
{
mm->tree_root=new_el;
mm->size++;
return 0;
}
if(!paste_element(new_el, mm->tree_root))
{
mm->size++;
//printf("SIZE: %d \n", mm->size);
return 0;
}
else
{
printf("ERROR!\n");
}
}
else
{
return -1;
}
}
int paste_element(MyElement * me, MyElement * root) //рекурсивная функция вставки. 0 - в случае успеха, -1 - ошибка
{
if(root==NULL)
{
return -1;
}
if(me->key==root->key)
{
root->val=me->val;
return 0;
//printf("ALREADY EXIST!\n"); //Значиение с совпадающим ключем заменяет текущее
}
if(me->key<root->key)
{
if(root->left_el==NULL)
{
//printf("ADD LEFT!\n");
root->left_el=me;
return 0;
}
else
root=root->left_el;
}
if(me->key>root->key)
{
if(root->right_el==NULL)
{
//printf("ADD Right!\n");
root->right_el=me;
return 0;
}
else
root=root->right_el;
}
paste_element(me, root);
}
MyType get_value(MyMap *mm, int key)
{
return find_element(key, mm->tree_root);
}
MyType find_element(int key, MyElement * root)
{
if(root==NULL)
{
return -1;
}
if(key==root->key)
return root->val;
else
{
if(key<root->key)
{
if(root->left_el==NULL)
{
return -1;
}
else
root=root->left_el;
}
if(key>root->key)
{
if(root->right_el==NULL)
{
return -1;
}
else
root=root->right_el;
}
find_element(key, root);
}
}
int main(void)
{
MyMap m_map = initNewMap();
add_element(&m_map, 12, 13);
add_element(&m_map, 15, 14);
add_element(&m_map, 14, 16);
add_element(&m_map, 15, 12);
add_element(&m_map, 19, 123);
add_element(&m_map, 39, 121);
printf ("VALUE 15: %d\n",get_value(&m_map, 15));
printf ("VALUE 19: %d\n",get_value(&m_map, 19));
printf ("VALUE 12: %d\n",get_value(&m_map, 12));
printf ("VALUE 12: %d\n",get_value(&m_map, 552));
return 0;
}
- Билет 1.
- 1. Инкапсуляция, наследование, полиморфизм. Классы, объекты и отношения между ними. Диаграммы логического уровня.
- 2. Симметричные блочные криптоалгоритмы. Сеть Фейстеля.
- Билет 2
- 1. Объявление и реализация классов на языке Паскаль.
- 2. Интерфейс. Пользовательский интерфейс. Классификация пользовательских интерфейсов.
- Билет 3.
- 1. Графы. Основные определения. Машинное представление графов в последовательной памяти и связанной памяти.
- 2. Общая схема симметричной криптосистемы. Алгоритм построения цепочек.
- 3. Написать процедуру, которая выполняет вставку компоненты по заданному ключу.
- Билет 4.
- 1. Нормальный алгоритм Маркова.
- 2. Парадигмы интерфейсов.
- Билет 5.
- 1. Понятие процесса. Состояние процессов. Алгоритмы планирования процессов.
- 2. Общие сведения об ассиметричных криптоалгоритмах. Понятие электронной цифровой подписи.
- 3. Вычислить факториал числа 8.
- Билет 6.
- 1. Файловая системаFat.
- 2. Основные компоненты графических пользовательских интерфейсов.
- 3. Если элементы массивыD[1…5] равны соответственно 4, 1, 5, 3, 2, то значение выражениеD[d[3]]-d[d[5]] равно?
- Билет 7
- 1. Структуры распределенных вычислительных систем(топология, физические и логические элементы сетей эвм)
- 2. Встроенные средства контроля доступа в современных ос.
- 3. Указать к какому классу относится каждый из перечисленныхIPадресов:
- Билет 8
- 1.Трансляторы, компиляторы и интерпретаторы: определение, общая схема работы. Варианты взаимодействия блоков транслятора.
- 2. Эргономические требования, предъявляемые к дизайну пользовательских интерфейсов.
- 3. Указать к какому классу относится каждый из перечисленныхIPадресов:
- Билет 9
- 1. Сети Петри. Моделирование процессов на основе сетей Петри.
- 2. Нормализация таблиц при проектировании баз данных. Нормальные формы (1нф, 2нф, 3нф, нфбк).
- 3. Составить программу, которая формирует очередь, добавляя в неё произвольное количество компонент.
- Билет 10.
- 1. Понятие алгоритма. Интуитивное понятие алгоритма.
- 2. Функции субд.
- Билет 11.
- 1. Структура данных типа стек. Логическая структура стека. Машинное представление стека и реализация операций.
- 2. Принципы и виды отладки программного средства. Автономная отладка программного средства. Комплексная отладка программного средства.
- 3. Дан массив типаwordразмерностьюn. Найти сумму всех элементов, не превышающих заданногоm, далее вывести на экран.
- Билет 12.
- 1. Сети Петри. Моделирование процессов на основе сетей Петри.
- 2. Модели объектов проектирования .
- Билет 13.
- 1. Концепции информационного моделирования. Создание моделей на языкеUml.
- 2. Модели систем управления данными: сетевая, иерархическая, реляционная модель.
- Билет 14.
- 1. Принципы создания компонент в визуальных средах разработки.
- 2. Жизненный цикл программного обеспечения. Модели жизненного цикла по: каскадная, спиральная. Стадии, фазы работы жизненного цикла.
- Билет 15.
- 1. Деревья. Основные определения. Логическое представление и изображение деревьев. Бинарные деревья. Машинное представление деревьев в памяти эвм. Алгоритмы прохождения деревьев.
- 2. Реляционная модель данных. Базовые понятия. Отношения и свойства отношений. Составляющие реляционной модели данных.
- Билет 16.
- 1. Предваренная, скулемовская и клазуальная формы. Логическое следование. Унификация. Алгоритм унификации. Исчисление метода резолюций.
- 2. Структура внешнего описания пс. Качество по. Критерии и примитивы качества.
- Билет 17.
- 1. Понятия прерывания. Виды прерываний. Механизмы прерываний.
- 2. Стадии и этапы разработки базы данных.
- 3. Дан массив типаwordразмерностьюn. Найти сумму всех элементов не прерывающих заданногоm, далее вывести на экран.
- Билет 18.
- 1. Понятие о способах коммутации в распределенных вычислительных системах(коммутации каналов, коммутация пакетов).
- 2. Процессы управления разработкой пс. Структура управления разработки пс. Планирование составление расписания по разработке пс. Аттестация пс.
- 3. НаписатьHtmLкод для отображения в браузере таблицы:
- Билет 19.
- 1. Характеристики транспортного и прикладного уровней стека протоколовTcp/ip.
- 2. Трехуровневая архитектура схем баз данных в субд.
- 3. НаписатьHtmLкод для отображения в браузере таблицы:
- Билет 20.
- 1. Формальные языки и грамматики. Классификация грамматик по Хомскому.
- 2. Методы разработки структуры пс. Восходящая разработка пс. Нисходящая разработка. Конструктивный подход. Архитектурный подход разработки пс.
- Билет 21.
- 1. Конечные автоматы, автомат со стековой памятью (магазин).
- 2. Организация шин.
- Билет 22.
- 1. Сети Петри. Моделирование процессов на основе сетей Петри.
- 2. Организация памяти эвм.
- Билет 23.
- 1. Понятия прерывания. Виды прерываний. Механизмы прерываний.
- 2. Инструментальные среды разработки и сопровождения программных средств и принципы их классификации. Основные классы инструментальных сред разработки и сопровождения программных средств.
- Билет 24.
- 1. Динамическое поведение объектов. Состояния, события, сигналы и сообщения. Модели взаимодействия объектов.
- 2. Типы структур вычислительных машин и систем, перспективы и развития.
- Билет 25
- 1. Структура данных типа стек. Логическая структура стека. Машинное представление стека и реализация операций.
- 2. Основные понятия, определения и назначение сапр
- 3. Составить программу, которая формирует очередь, добавляя в неё произвольное количество компонент.
- Билет 26.
- 1. Сравнительный анализ алгоритмов поиска: линейный, двоичный.
- 2. Факторы, определяющие развитие архитектуры вычислительных систем.
- 3. Составить программу, которая формирует очередь, добавляя в неё произвольное количество компонент.
- Билет 27.
- 1. Рекурсивные функции. Лямбда- исчисление Черча.
- 2. Обеспечивающие системы сапр.
- Билет 28.
- 1. Память. Типы адресов. Виды распределения памяти.
- 2. Архитектура системы команд.
- 3. Найти в массиве максимальный элемент и его индекс. Вывести на печать.
- Билет 29.
- 1. Аппаратура передачи данных (модемы).
- 2. Проектные процедуры в сапр.
- Билет 30.
- 1. Характеристика канального и сетевого уровней стека протоколовTcp/ip.
- 2. Стековая архитектура вычислительных машин.
- Билет 31
- 1. Синтаксический разбор. Классификация методов синтаксического разбора.
- 2. Интеграция систем автоматизации проектирования и управления(cad–cam–capp– системы).
- Билет 32
- 1. Понятие алгоритма. Интуитивное понятие алгоритма.
- 2. Объекты и отношения в программировании. Сущность объектного подхода к разработке программных средств. Особенности объектного подхода к разработке внешнего описания программного средства.
- 3. Указать к какому классу относится каждый из перечисленныхIPадресов:
- Билет 33.
- 1. Объявление и реализация классов на языке Паскаль.
- 2. Архитектура клиент-сервер. Распределенные базы данных.
- Билет 34.
- 1. Характеристики транспортного и прикладного уровней стека протоколовTcp/ip.
- 2. Вычислительные методы решения задач на эвм. Приближения функций. Интерполяция и Метод наименьших квадратов.
- Билет 35.
- 1. Компоненты и интерфейсы. Диаграммы физического уровня.
- 2. Правовые вопросы организации Интернет-сайта.
- Билет 36.
- 1. Структуры данных типа очередь. Логическая структура очереди. Машинное представление очередиFifOи реализация операций. Очереди с приоритетами.
- 2. Моделирование как процесс познания. Математическая модель, понятие вычислительного эксперимента и его структура.
- 3. Составить программу, которая формирует стек, добавляя в него произвольное количество компонент.
- Билет 37
- 1. Улучшенные методы сортировки. Сортировка Шелла, Хоара, улучшенная сортировка выбором. Сортировка с помощью дерева.
- 2. Правовые вопросы, возникающие при использовании электронной почты.
- 3. Составить программу, которая формирует стек, добавляя в него произвольное количество компонент.
- Билет 38.
- 1. Классификация ос. Требования, предъявляемые к ос.
- 2. Понятие системы. Математическое определение системы. Классификация систем.
- Билет 39.
- 1. Понятия файла. Структура файла. Реализация файлов
- 2. Виды объектов авторского права. Виды авторских прав. Программы для эвм и базы данных, как объектов авторского права.
- 3. Подсчитать сколько раз в массиве встречается заданный элементN. Вывести количество данных вхождений.
- Билет 40.
- 1. Характеристики локальных вычислительных сетей типаEthernet.
- 2. Нормальный алгоритм Маркова.
- 3. Написать кодcssфайла в котором при помощи псевдоклассов описывается поведение ссылок отличное от стандартного.
- Билет 41.
- 1. Взаимодействие узлов с использованием стека протоколовTcp/ip.
- 2. Объекты патентного права.
- 3. Указать к какому классу относится каждый из перечисленныхIPадресов:
- Билет 42.
- 1. Машина Тьюринга.
- 2. Уровни моделирования. Общая характеристика и особенности. Моделирование на микроуровне. Обобщенная модель и моделирование тепловых систем (краевая задача для уравнения теплопроводности)
- 2) Уравнение теплопроводности
- Билет 43.
- 1. Архитектура системы команд.
- 2. Уровни моделирования. Моделирование на макроуровне. Типичная общая модель и моделирование электрических систем.
- Билет 44.
- 1. Структуры данных типа очередь. Логическая структура очереди. Машинное представление очередиFifOи реализация операций. Очереди с приоритетами.
- 2. Принципы построения современных эвм.
- 3. Найти в массиве максимальный элемент и его индекс. Вывести на печать.
- Билет 45.
- 1. Характеристика канального и сетевого уровней стека протоколовTcp/ip.
- 2. Численное решение задачи Коши для обыкновенных дифференциальных уравнений. Метод Эйлера. Одношаговые и многошаговые методы.
- 3. Указать к какому классу относится каждый из перечисленныхIPадресов: