- •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 Дан файл символов сформировать дерево поиска описав процедуру удаления элнмента из дерева и функцию подсчета листьев в дереве.
3.4 Написать 2 конс. Программы Master и Slave. Master запускает Slave и передает ей через ком. Строку дескриптор своего процесса. Slave ожидает окончания работы Master и выдает сообщение.
// Master.exe
#include "iostream.h"
#include "string.h"
#include "windows.h"
#include "stdio.h"
void main(int argc,char * argv[])
{
char cmd[100];
if(argc!=1) strcpy(cmd,argv[1]);
else strcpy(cmd,"slave.exe");
int pid=GetCurrentProcessId();
sprintf(cmd+strlen(cmd)," %d",pid);
cout<<"Master:Starting, PID="<<pid<<"\n";
cout.flush();
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si,sizeof(si));
si.cb=sizeof(si);
si.wShowWindow=SW_HIDE;
si.dwFlags=STARTF_USESHOWWINDOW;
if( !CreateProcess(NULL,cmd,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi) )
{ cout<<"Master:Slave not loaded\n"; cout.flush();
}
cout<<"Master:Sleeping\n";
cout.flush();
Sleep(5000);
cout<<"Master:Exiting\n"; cout.flush();
}
//------------------------------------------------------------------------------------------------------------------------------------------
//Slave.exe
#include "iostream.h"
#include "windows.h"
#include "stdio.h"
void main(int argc,char * argv[])
{
cout<<"Slave:Started\n"; cout.flush();
if(argc!=2)
{ cout<<"Slave:Load Master.exe first\n";
cout<<"Slave:Finishing\n";
exit(1);
}
int pid=atoi(argv[1]);
HANDLE hProcess=OpenProcess(PROCESS_QUERY_INFORMATION|SYNCHRONIZE,FALSE,pid);
if(!hProcess)
{ cout<<"Slave:Open process error\n"; cout.flush();
}
else
{ cout<<"Slave:Waiting for master finishing\n";
cout.flush();
if(WaitForSingleObject(hProcess,INFINITE)==STATUS_WAIT_0)
{ cout<<"Slave:Master finished\n"; cout.flush();
}
else
{ cout<<"Slave:Unknown error\n"; cout.flush();
}
}
cout<<"Slave:Finishing\n";
}
3.5
идентификаторы сетей 107.16.0.0 и 107.32.0.0
маска подсети 255.240.0.0
две подсети
по маске определяем шаг подсетей
24010 =111100002
24=16- шаг подсетей
от 107.16.0.1 до 107.31.255.254
от 107.32.0.1 до 107.47.255.254
идентификаторы сетей 190.1.16.0 , 190.1.32.0, 190.1.48.0, 190.1.64.0
маска подсети 255.255.248.0
четыре подсети
по маске определяем шаг подсетей
24810 =111110002
23=8 - шаг подсетей
от 190.1.16.1 до 190.1.23.254
от 190.1.32.1 до 190.1.39.254
от 190.1.48.1 до 190.1.55.254
от 190.1.64.1 до 190.1.71.254
4.1 Текстовые файлы в С++.
В программировании часто встречаются задачи, в которых обрабатываемые данные требуется сохранить для последующего использования. Для этого можно использовать файлы. Файл - это именованная область памяти на внешнем носителе. В файлах может храниться информация различной природы.
Пакет классов С++ работает с файловым вводом/выводом во многом так же, как он делает это со стандартным вводом/выводом. Чтобы записать данные в файл, необходимо создать потоковый объект и воспользоваться такими методами класса ostream, как операция вставки << или функция write(). Для чтения файла создается потоковый объект и применяются такие методы класса istream, как операция извлечения >> или функция get(). Однако файлы требуют более высокого уровня управления, чем стандартные потоки ввода/вывода. Например, новый открытый файл необходимо поставить в соответствие какому-либо потоку. Файлы можно открывать в режиме только для чтения, только для записи и в режиме чтения/записи. При записи в файл может возникнуть необходимость создать новый файл, заменить старый или добавить данные к старому файлу. Существует также возможность перемещаться по файлу в разных направлениях. Чтобы помочь справиться с этими задачами, в С++ определены несколько классов в заголовочном файле fstream.h, включая класс ifstream.h для выполнения файлового ввода и класс ofstream.h – для файлового вывода. С++ также определяет класс fstream.h для одновременного файлового ввода/вывода. Эти классы являются производными от классов в заголовочном файле iostream.h, поэтому объекты этих новых классов могут использовать те методы
Предположим, что программе необходимо записать информацию в файл. Для этого требуется выполнить следующее:1) Создать объект класса ofstream для управления потоком вывода. 2)Поставить этот объект в соответствие определенному файлу. 3)Использовать объект так же, как использовался объект cout; единственная разница заключается в том, что информация выводится в файл, а не на экран.
Для выполнения этой задачи начнем с включения заголовочного файла fstream.h. При включении этого файла автоматически включается файл iostream.h, поэтому iostream.h не нужно включать явно. Затем необходимо объявить объект класса ofstream:
ofstream fout; // создать объект класса ofstream с именем fout
Имя объекта может быть любым допустимым именем С++, например, fout, outFile, cgate и т.д.
Затем необходимо поставить в соответствие объекту определенный файл. Это можно сделать, воспользовавшись методом open(). Предположим, что необходимо открыть для записи файл, например, “file.txt”. Для этого нужно сделать следующее:
fout.open(“file.txt”); // поставить в соответствие объекту fout файл “file.txt”
Два этих этапа (создание объекта и его ассоциация с файлом) можно объединить в одном операторе, воспользовавшись другим конструктором:
ofstream fout (“file.txt”); // создать объект fout и поставить ему в соответствие файл “file.txt”
После этого объект fout (или объект с любым другим именем) можно использовать точно так же, как и объект cout. Например, если требуется записать слова New String в файл, то для этого необходимо выполнить следующее:
fout << “New String”;
В самом деле, поскольку класс ostream является базовым для класса ofstream, можно использовать методы класса ostream, включая различные определения операций вставки, а также методы и манипуляторы форматирования. Класс ofstream работает с буферизованным выводом, поэтому программа выделяет место для буфера вывода при создании такого объекта класса ofstream, как fout. Если создаются два объекта класса ofstream, то программа создает два буфера – отдельно для каждого объекта. Объект класса ofstream наподобие fout считывает побайтно вывод, сгенерированный программой. Затем, когда буфер заполняется, содержимое буфера целиком передается в файл назначения.
Открытие файла для вывода таким способом позволяет создать новый файл, если файла с таким именем не существует. Если же файл с таким именем существует, то до открытия для вывода этот файл урезается до нулевого размера и информация начинает выводиться в пустой файл.
Замечание. При открытии существующего файла для вывода (записи) в режиме, заданном по умолчанию, автоматически урезается его размер до нуля и удаляется его предыдущее содержимое.
Требования к чтению файла очень похожи на требования к записи:
-
Создать объект класса ifstream для управления потоком ввода. 2.Поставить этот объект в соответствие определенному файлу. 3.Использовать объект так же, как объект cin.
Этапы выполнения этих действий совпадают с этапами записи файла. Сначала конечно же необходимо включить заголовочный файл fstream.h, затем объявить объект класса ifstream и поставить ему в соответствие файл. Это можно сделать с помощью двух операторов или одного:
ifstream fin; // два оператора // создать объект класса ifstream с именем fin
fin.open(“example.txt”); // открыть файл, например, example.txt для чтения
ifstream fin(“example.txt”); // один оператор // создать объект fin и поставить ему в соответствие файл example.txt
Теперь объект fin можно использовать так же, как объект cin. Например, можно сделать следующее:
char ch;
fin >> ch; // считать символ из файла example.txt
char buf [80];
fin >> buf; // считать слово из файла
fin.getline(buf, 80); // считать строку из файла
Ввод, как и вывод, буферизован, поэтому при создании объекта класса ifstream наподобие fin создается буфер ввода, управляемый этим объектом.
Связь с файлом прекращается автоматически, если истекает срок действия объектов потока ввода/вывода, например, по окончании выполнения программы. Кроме того, связь с файлом можно прервать явно, воспользовавшись методом close():
fout.close(); // прервать связь с файлом для вывода
fin.close(); // прервать связь с файлом для ввода