- •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 Дан файл символов сформировать дерево поиска описав процедуру удаления элнмента из дерева и функцию подсчета листьев в дереве.
13.4 Дан файл, компоненты которого являются действительными числами. Сформировать линейный список и
найти наибольшее из значений компонент.
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
struct list
{
int info;
list *prev;
list *next;
list() { prev=NULL; next=0; info=0; }
};
void insert_post(list *, int);
void printList(list *);
int findMax(list *);
list *first=0;
list *last=0;
char buffer[100];
void main( void )
{
int fh;
unsigned int i, nbytes = 100, bytesread;
char digit[10];
list *p;
/* Open file for input: */
if((fh = _open("file.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);
}
for(i=0; i<bytesread; i++) {
if(buffer[i]==0x0a) continue;
p=last;
sprintf(digit, "%c", buffer[i]);
insert_post(p, atoi(digit));
}
printList(first);
printf("The max item in the list is %d\n", findMax(first));
_close(fh);
}
/* Tставка элемента после текуего */
void insert_post(list *q, int value)
{
list *p = new list;
if (q != 0)
{
p->next = q->next;
p->prev = q;
}
p->info = value;
if (q == 0)
{
first = p;
last = p;
}
else
{
if (q->next == 0) last = p;
else q->next->prev = p;
q->next = p;
}
}
/* find max item in the list */
int findMax(list *q)
{
int max=-9999;
while(q!=NULL) {
if(q->info > max) max = q->info;
q = q->next;
}
return max;
}
/* Print the list */
void printList(list *q)
{
if (q == 0)
printf("List is empty.\n\n");
else
{
printf("The list is:\n");
while (q != 0)
{
printf("%d-> ", q->info);
q = q->next;
}
printf("NULL\n\n");
}
}
13.5
CREATE DATA BASE Нагрузка_преподав
USE Нагрузка_преподав
CREATE TABLE Преподаватель{Табельный_номер INT NOT NULL PRIMARY KEY,
ФИО varchar{50}, Должность varchar{15}, звание varchar{15}, Адрес varchar{40}, телефон INT, кафедра varchar{20} }
CREATE TABLE Предмет{Код INT NOT NULL PRIMARY KEY,
Название varchar{20}, Семестр INT, Кол-во_лекций INT, Кол-во_практик INT, Кол-во_л/р INT }
CREATE TABLE Начитка{номер_записи INT NOT NULL PRIMARY KEY,
Код INT FOREING KEY REFERENCES Предмет , Табельный_номер INT FOREING KEY REFERENCES Преподаватель, Номер_группы INT }
14.1 Потоки. Функция CreateThread. Завершение потока. Распределение процессорного времени между потоками. Изменение класса приоритета процесса. Установка относительного приоритета потока.
Потоки. Процессы инертны. Отвечают же за исполнение кода, содержащегося в адресном пространстве процесса, потоки. Поток (thread) - некая сущность внутри процесса, получающая процессорное время для выполнения. В каждом процессе есть min 1 поток- первичный. Далее этот поток может породить другие потоки, те в свою очередь новые и т.д. Т.о., один процесс может владеть несколькими потоками, и тогда они одновременно исполняют код в адресном пространстве процесса. Каждый поток имеет:1)Уникальный идентификатор потока;2)Содержимое набора регистров процессора, отражающих состояние процессора; 3)Два стека, один из которых используется потоком при выполнении в режиме ядра, а другой - в пользовательском режиме; 4)Закрытую область памяти, называемую локальной памятью потока (thread local storage, TLS) и используемую подсистемами, run-time библиотеками и DLL.
Создание потоков. Первичный поток создается автоматически при создании процесса. Остальные потоки создаются функциями CreateThread и CreateRemoteThread (только в Win NT/2000/XP).Поток (thread) определяет последовательность выполнения кода в процессе. При инициализации процесса система создает первичный поток. Большинство приложений обходятся этим единственным первичным потоком. В более сложных приложениях потоков несколько.
HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, // атрибуты защиты потока DWORD dwStackSize, // какую часть адресного пространства поток может использовать под свой стек LPTHREAD_START_ROUTINE lpStartAddress,// адрес ф-ии потока, с кот нач работу создаваемый поток LPVOID lpParameter, // позволяет передавать функции потока какое-либо инициализирующее значение. DWORD dwCreationFlags, // определяет дополнительные флаги, управляющие созданием потока LPDWORD lpThreadId );// адрес переменной типа DWORD,в которой функция вернет идентификатор, приписанный системой новому потоку
Завершение потока.Поток можно завершить тремя способами: 1)поток самоуничтожается вызовом функции ExitThread; 2)один из потоков данного или другого процесса вызывает функцию TerminateThread; 3)завершается процесс, содержащий данный поток.
Распределение процессорного времени между потоками. В Win95 и WinNT применяется такой алгоритм: Система выделяет процессорное время всем активным потока, исходя из их уровней приоритета, которые варьируются от 0 (низший) и до 31 (высший). Нулевой уровень присваивается в системе особому потоку обнуления страниц, обнуляющий свободные страницы при отсутствии потоков. Ни один поток, кроме него, не может иметь нулевой уровень приоритета. Когда система подключает поток к процессору, он обрабатывает потоки с одинаковым приоритетом как равноправные. Иначе говоря, на процессор передается первый поток с приоритетом 31, а по истечении его кванта времени подключается следующий поток с тем же приоритетом 31. При отсутствии потоков с приоритетом 31 система переходит к потокам с приоритетом 30.
Планирование потоков. В Windows реализована система вытесняющего планирования на основе приоритетов, в которой всегда выполняется поток с наибольшим приоритетом, готовый к выполнению. Выбранный для выполнения поток работает в течение некоторого периода, называемого квантом. Квант определяет, сколько времени будет выполняться поток, пока ОС не прервет его. По окончании кванта ОС проверяет, готов ли к выполнению другой поток с таким же (или большим) уровнем приоритета. Если таких потоков не оказалось, текущему потоку выделяется еще один квант. Однако поток может не полностью использовать свой квант. Как только другой поток с более высоким приоритетом готов к выполнению, текущий поток вытесняется, даже если его квант еще не истек.
Приоритеты. В Windows существует 32 уровня приоритета(0-31). Они группируются так: 31 - 16 уровни реального времени; 15 - 1 динамические уровни; 0 - системный уровень, зарезервированный для потока обнуления страниц (zero-page thread).Уровни приоритета присваивает сама система в 2 этапа:1) процессу присваивается опр класс приоритета. 2) потокам, принадлежащим этому процессу присваивается относит ур приоритета.При создании процесса, ему назначается один из шести классов приоритетов:Real time class (значение 24), High class (значение 13), Above normal class (значение 10), Normal class (значение 8), Below normal class (значение 6), Idle class (значение 4).
Приоритет каждого потока (базовый приоритет потока) складывается из приоритета его процесса и относительного приоритета самого потока. Есть семь относительных приоритетов потоков: Normal: такой же как и у процесса; Above normal: +1 к приоритету процесса; Below normal: -1; Highest: +2; Lowest: -2; Time critical: устанавливает базовый приоритет потока для Real time класса в 31, для остальных классов в 15. Idle: устанавливает базовый приоритет потока для Real time класса в 16, для остальных классов в 1.
Класс приоритета моно изменить BOOL_SetPriority Class(HANDLE hProcess, DWORD fdwPriority);
Относит приоритет потока в пределах одного процесса можно изменить: BOOL_SetThreadPriority(HANDLE hThread_PRIORITY_OWEST)
