- •1.1. Внутренняя сортировка (сортировка массивов).
- •Число степеней свободы материальной системы. Обобщенные координаты.
- •1.4 Розробити консольну програму, яка відкриває файл порціями по 4Кб та відображае його зміст в вікні. Для роботи з файлами викорастати Win32 Api
- •Определить маску подсети, которая соответствует диапазону ip-адресов.
- •1 Способ
- •2 Способ
- •2.2 Проектирование концептуальной модели предметной области с использованием er – диаграммы
- •2.3 . Принцип возможных перемещений. Обобщенные силы.
- •2.4 Написать 2 варианта запуска Notepad.Exe для обработки файла
- •1 Способ
- •2 Способ
- •3.2 Структура данных и ограничения реляционной модели. Реляционная модель.
- •Внешние ключи.
- •Основные стратегии поддержки ссылочной целостности.
- •Языки манипулирования данными в реляционной модели.
- •3.3 Вариационный принцип Гамильтона
- •3.4 Написать 2 конс. Программы Master и Slave. Master запускает Slave и передает ей через ком. Строку дескриптор своего процесса. Slave ожидает окончания работы Master и выдает сообщение.
- •4.2 Нормализация отношений и теория нормальных форм
- •Теория нормальных форм.
- •4.3 Дифференциальные уравнения Лагранжа II рода
- •4.4 Написать 2 программы, демонстрир. Синхрониз. Процессов с пом. Событий.
- •5.2 Алгоритм приведения отношений к третьей нормальной форме.
- •5.3 Фазовая плоскость. Фазовые кривые. Особые точки на фазовой плоскости, их классификация.
- •Классификация особых точек
- •5.4 Программа, демонстрирующая синхронизацию доступа к глобальному массиву с пом. Мютексов
- •6.2 Использование операций реляционной алгебры для создания языка запросов Основные операции:
- •1. Унарные(с одним отношением). 2. Бинарные.
- •Производные операзии
- •6.3 Численное интегрирование уравнений Лагранжа
- •6.4 Программа, выводящая информ . О загрузке операт . Памяти компьютера
- •7.2 Назначение языка sql.
- •Типы данных
- •7.3 Дифференциальные уравнения Гамильтона
- •7.4 Параметризированный класс очередь
- •8.1 Понятие дерева. Классификация деревьев. Способы представления дерева.
- •8.2 Структура запросов sql. Запросы с условием.
- •Запросы с группировкой.
- •Сортировка (упорядочивание) выходных полей.
- •Объединение таблиц (команда union).
- •Использование кванторов в подзапросах.
- •8.3 Динамика популяции при отсутствии и наличии смертности
- •8.4 Составить программу на Asm для очистки экрана
- •9.1 Общие операции над деревьями. Процедуры добавления и удаления элемента. Количество листьев и узлов в дереве.
- •9.2 Язык манипулирования данными sql. Добавление строк.
- •Удаление строк.
- •Изменение данных.
- •9.3 Система «хищник-жертва»
- •9.4 Cоставить прграмму на Asm для преобразования строчных букв в прописные
- •10.1 Общие операции над деревьями. Процедуры добавления и удаления элемента. Количество листьев и узлов в дереве.
- •10.2 Язык определения данных sql. Создание бд.
- •Создание таблиц.
- •Модификация таблиц.
- •10.3 Автоколебания. Предельный цикл. Асимптотический метод исследования автоколебаний.
- •10.4 Сост . Прогр . На Asm для нахождения в заданном массиве номера первого числа, равного нулю
- •11.1 Формат команд процессора 80386. Способы адресации, которые применяются в командах процессора 80386.
- •11.2 Предоставления прав доступа sql.
- •11.3 Виды топологических структур и их характеристики.
- •Класс широковещательные сети
- •2. Древовидная топология.
- •3. Звездообразная топология.
- •Класс последовательные сети
- •1. Звездообразная топология с активным центром.
- •2. Кольцевая топология.
- •11.4 Написать на Asm программу для сохранения текстового экрана в буфере и последующей записи буфера в файл
- •12.1 Методы передачи данных в сетях эвм.
- •1 Коммутация каналов
- •Коммутация сообщений
- •Коммутация пакетов
- •12.2 Защищенный режим работы микропроцессора. Адресация в защищенном режиме. Дескрипторные таблицы. Формат дескриптора сегмента. Модель памяти flat.
- •Проектирование приложений в системе клиент - сервер.
- •Проектирование форм. Формы для просмотра.
- •Формы для ввода данных.
- •Проектирование отчетов.
- •Тестирование приложения.
- •Распределенные базы данных.
- •12.4 Дан файл символов построить частотный словарь, представив его виде бинарного дерева поиска и составить линейно скобочную запись.
- •13.1 Win32 api и поддерживающие его платформы. Объекты ядра. Защита. Совместное использование объектов ядра несколькими процессами. Процессы. Описатель экземпляра процесса.
- •13.2 Системы искусственного интеллекта на основе решателей задач
- •13.3 Архитектура сетей эвм. Иерархия протоколов.
- •13.4 Дан файл, компоненты которого являются действительными числами. Сформировать линейный список и
- •14.1 Потоки. Функция CreateThread. Завершение потока. Распределение процессорного времени между потоками. Изменение класса приоритета процесса. Установка относительного приоритета потока.
- •14.2 "" Процедура в игровых задачах
- •14.3 Методы повторной передачи arq.
- •1. Arq с остановкой и ожиданием Send and Wait
- •2. Arpanet arq (с временными подканалами)
- •3. Arq на n шагов назад (Go Back n)
- •4. Arq с выборочным повтором (с адресным переспросом)
- •14.4 // Дан файл символов. Сформировать линейный список. Просмотреть линейный список из головы и составить из символов строку.
- •Раздел varchar(50),
- •15.1 Архитектура памяти в Win32. Виртуальное адресное пространство. Регионы в адресном пространстве. Передача региону физической памяти.
- •15.2 Особенности поиска решений в игровых задачах
- •16.1 Работа с файлами в Win32.
- •4) GetVolumeInformation возвращает информацию о файловой системе и дисках (директориях ).
- •7) GetComputerName, GetUserNameA
- •8) GetSystemDirectory, GetTempPath, GetWindowsDirectory, GetCurrentDirectory
- •16.2 Представление задач в пространстве состояний
- •16.3 Лвс Ethernet. Общая шина: Метод доступа.
- •16.4 Представить многочлен в виде линейного списка. Написать прогу кот выполняет сложение многочленов
- •17.1 Файлы, проецируемые в память.
- •17.2 Алгоритмы перебора в ширину и глубину в пространстве состояний
- •Алгоритм равных цен
- •Изменения при переборе в произвольных графах.
- •17.3 Повторители Ethernet. Разрешение коллизий.
- •17.4 Написать процедуру, которая осуществляет сложение целых чисел произвольной длины(двухсвязный список)
- •17.5Выдает список работников работают над проектом
- •18.1 Многозадачность. Распределение времени с вытеснением. Очереди потока и обработка сообщений. Архитектура очередей сообщений в Win32.
- •18.2 Алгоритм упорядочения поиска в пространстве состояний.
- •18.3 Лвс Token Ring. Функциональные процессы.Процесс инициализации станции
- •18.5 Выдает список поставщиков
- •19.1 Многозадачность. Распределение времени с вытеснением. Очереди потока и обработка сообщений. Архитектура очередей сообщений в Win32.
- •19.2 Метод сведения задач к подзадачам
- •19.3 Принципы межсетевого взаимодействия. Протокол ip.
- •19.4 Параметризированный ограниченный массив
- •20.1 Конструктивная модель стоимости сосомо.
- •20.2 Основные методы поиска в "и–или" деревьях Перебор в ширину в деревьях и – или.
- •Построение потенциального дерева решений t0. Эвристический поиск в деревьях и-или Стоимость деревьев типа и-или.
- •20.3 Протокол dhcp.
- •20.4 Параметризованная функция бинарного поиска в массиве
- •21.1 Основы com. Объект com. Серверы com. Фабрика класса. Интерфейс iUnknown.
- •2 Вариант ответа
- •21.2 Алгоритм упорядочения перебора при сведении задач к подзадачам
- •21.3 Разрешение имен узлов при помощи dns.
- •21.4 В области памяти, адресуемой регистром si нах-ся цепочка семибитных кодов символов….
- •22.1 Архитектура unix. Ядро системы. Файловая система. Типы файлов.
- •22.2 Проектирование приложений в системе клиент - сервер.
- •22.3 Протокол arp
- •22.4 Дан файл целых чисел компоненты которого различны, сформировать циклический линейный список, задать число n и удалять n-ый элемент в списке пока не останется 1
- •1 Вариант
- •2 Вариант
- •23.1 Командный интерпретатор shell. Общий синтаксис скрипта. Переменные. Команды, функции и программы. Условные выражения. Интерпретатор shell
- •23.2 Способы доступа к бд из приложений. Формы для просмотра.
- •Формы для ввода данных.
- •Проектирование отчетов.
- •Тестирование приложения.
- •23.3 Лвс Token Ring. Функциональные станции.
- •23.4 Вычислить значение арифметического выражения, преобразовав его в постфиксную форму. Предусмотреть со скобками и без скобок.(со стеком)
- •24.1 Файловая система ntfs.
- •24.2 Полнота реляционной субд (12 правил Кодда)
- •24.3 Модель взаимного соединения открытых систем.
- •24.4 // Сформировать числовой файл и отсортировать его компоненты с помощью двух стеков.
- •25.1 Функции dos , используемые при создании пользовательского вектора прерывания (Проиллюстрировать программой)
- •25.2 Распределенные базы данных.
- •25.3 Коммутаторы Ethernet
- •25.4 Дан файл символов сформировать дерево поиска описав процедуру удаления элнмента из дерева и функцию подсчета листьев в дереве.
15.2 Особенности поиска решений в игровых задачах
Многие игры, особенно с двумя противниками, можно представить в виде деревьев И-ИЛИ, если ходы игроков чередуются.
При анализе, возможные ходы первого игрока представляются, как вершины типа ИЛИ, т.к. он производит выбор среди нескольких возможных ходов. Ответы противников представляются, как вершины типа И, т.к. при анализе нужно предусматривать все возможные ответы противника. Таким образом получается дерево, где чередуются вершины типа И и ИЛИ.
В сложных играх полный перебор ходов невозможен из-за комбинаторного взрыва. В крестиках-ноликах 3х3 возникает 9! вариантов. В шашках 1040, в шахматах 10120.
Вместо полного перебора выбирается обычно хороший ход в каждой позиции. После этого ждут ответа противника и снова начинают анализировать новую позицию выбирая лучший ход.
При этом в большинстве случаев перебор не заканчивается решением, а ограничивается в глубину и в ширину.
Лучший ход обычно выбирают исходя из статической оценочной функции, которая оценивает каждую рассмотренную позицию, начиная с концевых вершин.
Для первого игрока оценочная функция считается положительной, для противника - она отрицательна. При оценке лучшего хода применяется минимаксная процедура - лучший ход среди худших.
Для крестиков-ноликов оценочной функцией будем считать разность между числом открытых линий для крестика и числом открытых линий для нолика.
L(P)=K(P)-0(P)
Для выигрышных позиций L(P)= +
Для проигрышных позиций L(P)= -
При построении порожденных вершин будем учитывать симметрию.
Для поиска лучшего хода применяется минимаксная процедура:
Если первому игроку нужно выбрать лучший ход, то он выбирает тот ход, который соответствует вершине с наибольшей оценкой, следовательно вершинам типа И приписываются оценочные функции, равные максимуму оценок концевых вершин. Если ход выбирает второй игрок, то он выбирает вершину с наименьшей оценкой, т.к. все оценки выбираются с точки зрения первого игрока. Таким образом для вершины типа ИЛИ приписывают минимум оценок концевых вершин, после этого процесс переносится на уровень выше. Такое прослеживание продолжается до вершин, порожденных начальной вершиной. Значения оценочных функций, которые приписываются промежуточным вершинам называются обращёнными величинами. Первый игрок выбирает лучший ход, который соответствует порождённой вершине с наибольшей обращённой величиной.
ПРИМЕР:
Глубина просмотра равна двум.
15.3 IP-адресация. Деление сетей на подсети. Объединение сетей.
IP-адрес определяет местонахождение узла в сети. Каждый IP-адрес состоит из двух частей - идентификатора сети (network ID) и идентификатора узла (host ID). Первый определяет физическую сеть. Он одинаков для всех узлов в одной сети и уникален для каждой из сетей, включенных в объединенную сеть. Идентификатор узла соответствует конкретной рабочей станции, серверу, маршрутизатору или другому TCP/IP-узлу в данной сети. Он должен иметь уникальное значение в данной сети. Каждый узел TCP/IP однозначно определяется по своему IP-адресу. Он может быть записан в двух форматах - двоичном и десятичном с точками, имеет длину 32 бита и состоит из четырех октетов, которые отделяются друг от друга точками.
Классы IP-адресов
Каждый класс IP-адресов определяет, какая часть адреса отводится под идентификатор сети, а какая под идентификатор узла.
Сообщество Интернета определило пять классов IP-адресов в соответствии с различными размерами компьютерных сетей. Microsoft TCP/IP поддерживает адреса классов A,B и C. Класс адреса определяет, какие биты относятся к идентификатору сети, а какие - к идентификатору узла. Также он определяет максимально возможное количество узлов в сети.
Класс IP-адреса идентифицируют по значению его первого октета. 32-разрядные IP-адреса могут быть присвоены в общей совокупности 3 720 314 628 узлам.
Класс A Адреса класса A назначаются узлам очень большой сети. Старший бит в адресах этого класса всегда равен 0. Следующие семь бит первого октета представляют идентификатор сети. Оставшиеся 24 бита содержат идентификатор узла. Это позволяет иметь 126 сетей с числом узлов до 16 777 214 в каждой.Диапазон значений идентификаторов сети 1-126.
Класс B Адреса класса B назначаются узлам в больших и средних по размеру сетях. В двух старших битах адреса этого класса записывается двоичное значение 10. Следующие 14 бит содержат идентификатор сети. Оставшиеся 16 бит представляют идентификатор узла. Это позволяет иметь 16 384 сетей класса B с числом узлов до 65 534 в каждой. Диапазон значений идентификаторов сети 128-191.
Класс C Адреса класс C применяются в небольших сетях. Три старшие бита в адресах этого класса всегда содержат двоичное значение 110. Следующие 21 бит представляют идентификатор сети. Оставшиеся 8 бит отводится под идентификатор узла. Это позволяет иметь 2 097 152 сетей класса C с числом узлов до 254 в каждой. Диапазон значений идентификаторов сети 192-223. В качестве идентификатора сети не может использоваться значение 127. Оно зарезервировано для диагностики и используется в качестве локальной заглушки.
Класс D Адреса класса D предназначены для рассылки групповых сообщений. Группа получателей может содержать один, несколько или ни одного узла. Четыре старших бита в IP-адресе класса D всегда равны 1110. Оставшиеся биты означают конкретную группу получателей и не разделяются на части. Класс E Экспериментальный класс. Зарезервирован для использования в будущем и в настоящее время не используется. Четыре старших бита такого адреса установлены в 1111.
Идентификатор сети не может равняться 127. Это значение зарезервировано для локальной заглушки и диагностики. Все биты идентификатора сети или узла не могут быть одновременно установлены в 1. Такой идентификатор применяется для широковещательных сообщений. Все биты идентификатора сети или узла не могут быть одновременно установлены в 0. В этом случае идентификатор означает всю локальную сеть. Каждый идентификатор узла должен быть уникальным для соответствую- щего идентификатора сети.
Подсети. Подсеть- это физический сегмент TCP/IP сети, в котором используются IP-адреса с общим идентификатором сети. Для того, чтобы разделить сеть на несколько подсетей, необходимо использовать различные идентификаторы сети (подсети) для каждого сегмента. Уникальные идентификаторы подсетей создаются путем разбиения идентификатора узла на две группы бит. Такой механизм называется делением на подсети. Деление на подсети не является необходимым для изолированной сети. Применяя подсети можно: совместно использовать различные сетевые технологии (Ethernet,Token Ring); преодолеть существующие ограничения, например на максимальное количество узлов в одном сегменте; уменьшить нагрузку на сеть.
Маски подсетей .Маска подсети необходима каждому узлу TCP/IP. Маска подсети - это 32-разрядное значение, используемое для выделения из IP-адреса его частей: идентификаторов сети и узла. Такая процедура необходима при выяснении того, относится тот или иной IP-адрес к локальной или удаленной сети. В маске подсети биты, соответствующие идентификатору сети, устанавливаются в 1. Все биты, соответствующие идентификатору узла, устанавливаются в 0. Возможные идентификаторы подсети комбинируются из тех бит в адресе узла, которые используются в маске подсети.
Объединение нескольких сетей
Чтобы пространство идентификаторов сетей не было исчерпано, организации, координирующие развитие Интернета, разработали схему объединения сетей. В отличие от деления на подсети, при объединении сетей часть бит идентификатора сети маскируется как идентификатор узла - это увеличивает эффективность маршрутизации. Например, вместо того, чтобы предоставить 1 идентификатор сети класса B организации, имеющей 2 000 узлов, InterNIC выделяет ей 8 идентификаторов сетей класса C. Каждая такая сеть может содержать до 254 узлов, что в совокупности обеспечивает 2 032 идентификатора узлов.
Таким образом экономятся идентификаторы сетей класса B. Однако эта технология порождает следующую проблему. При использовании обычных механизмов маршрутизации, маршрутизаторы в Интернете должны поддерживать еще 7 дополнительных записей в своих таблицах, чтобы направлять пакеты в сеть подобной организации. Для разгрузки маршрутизаторов была разработана технология безклассовой маршрутизации, которая позволяет объединить все 8 записей таблицы маршрутизации в 1, относящуюся одновременно ко всем выделенным организации сетям класса С.
15.4
Дан текстовый файл, состоящий только из латинских букв. Необходимо инвертировать каждую строку файла, используя стек, и записать полученные строки в другой файл.
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// Структура, описывающая элемент стека
struct stack {
char info;
stack* prev;
stack() { prev=0; info=0; }
};
// Указатель на вершину стека
stack *stack_top=0;
// Проверка содержимого вершины стека
int top()
{
if(stack_top==0)
return(0);
return(stack_top->info);
}
// Добавление элемента в стек
void push(char value)
{
stack *p = new stack;
p->info = value;
p->prev = stack_top;
stack_top = p;
}
// Снятие верхнего элемента стека
char pop()
{
char value;
stack *p;
value = stack_top->info;
p = stack_top->prev;
delete stack_top;
stack_top = p;
return(value);
}
// проверка стека на пустоту
int empty()
{
if(stack_top==0) return(1);
return(0); }
// запись строки в файл
void write_file(char string[])
{
int fh2;
unsigned byteswritten;
if((fh2 = _open("str2.dat", _O_RDWR | _O_CREAT, _S_IREAD | _S_IWRITE)) != -1) {
if((byteswritten = _write(fh2, string, strlen(string))) == -1)
perror("Write failed");
else
printf("Wrote %u bytes to file\n", byteswritten);
}
_close(fh2);
}
char buffer[100];
void main()
{
int fh;
unsigned int i, cnt=0, nbytes = 100, bytesread;
/* Open file for input: */
if((fh = _open("str1.dat", _O_RDONLY)) == -1)
{
perror("open failed on input file");
exit(1);
}
/* Read in input: */
if((bytesread = _read(fh, buffer, nbytes)) <= 0) {
perror("Problem reading file");
exit(1);
}
char str[100];
memset(str,0,100);
for(i=0; i<bytesread; i++) {
if(buffer[i]==0x0a) {
while(!empty()) {
cnt += sprintf(str+cnt, "%c", pop());
}
cnt += sprintf(str+cnt, "%c", 0x0a);
}
else {
push(buffer[i]);
}
}
write_file(str);
while(!empty()) {
printf("%c ", pop());
}
printf("\n");
_close(fh); }
--15.5 Создать триггер, который запрещает удаление зала, если в нем есть картины
--Картины(Инв№,Нзвание,Художник,Размеры,КодЗала)
--Художники(Фамилия,ДатаРожд,ДатаСмерти,Страна,Течение)
--Залы(КодЗала,Название,Этаж,Площадь)
CREATE TRIGGER TR1
ON DELETE FROM Залы
AS
IF EXISTS(
SELECT *
FROM deleted,Картины
WHERE deleted.КодЗала=Картина.КодЗала
)
BEGIN
ROLLBACK TRAN
PRINT('В зале есть картины. Удаление невозможно')
END