Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Указания по изучению материала необходимого для выполнения лабораторных работ



Как упоминалось ранее, каждое индивидуальное задание по лабораторным работам включает в себя следующие темы:

1. Разработка динамических библиотек

2. Разработка глобальных ловушек

3. Сохранение и чтение данных из реестра Windows

4. Разработка потоков и синхронизация

5. Передача данных по компьютерной сети по протоколу TCP/IP

6. Рисование с использованием библиотеки GDI+

Студенты у преподавателя могут получить примеры, в которых полностью показаны подходы к решению этих задач. Эти примеры могут использоваться при выполнении индивидуальных заданий.

Вся информация необходимая для выполнения задач в рамках тем 1-5 может бать найдена в [1]. Информация по работе с функциями Windows API приведена в [2,3]. В [1,4, 5, 6,10] приведена информация об архитектуре различных версий ОС Windows, методы работы с потоками, процессами и т.д.

Для выполнения задач связанных с использованием GDI+ вся необходимая информация может быть найдена в [7,8,9].

 

Индивидуальные задания на лабораторные работы

 

Номер индивидуального задания выбирается в соответствии с номером в журнале академической группы или же среди оставшихся никем не выбранных заданий. В любом случае номер выбранного задания сообщается преподавателю и фиксируется в журнале академической группы.

 

Завдання 1.

У першому потоці треба виконувати обчислення інтегралу від деякої функції, а в іншому – іншого інтегралу від іншої функції. Функции вычисления интегралов должны бать реализованы в динамической библиотеке, подключаемой к основному приложению. Эти функции и будут вызываться в потоках. Также в потоке неоходимо реализовать и построение графиков обеих функцій, по которым вычислялись інтегралы. Результаты вычиления обеих интегралов необходимо передать по локальной сети по протоколу TCP/IP в отдельное приложение и в нем вывести на экран эти результат. Рисование графиков необходимо реализовать с использованием функций GDI+. Передачу данных можно организовать и на локальном компьютере через локальный IP адрес по любому порту с использованием сокетов. В программе необходимо предусмотреть возможность выбора цвета, толщины и текстуры линии, которой рисуется график. Эти параметры должны записываться в реестр Windows, а при запуске программы читаться и применяться при рисовании. При первом запуске программа должна проверить наличие записи в реестре, и если ее нет, то выдать сообщение и потом записать значения по умолчанию. После первого запуска программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + S активировать главное приложение, а при нажатии Ctrl + B активировать второе приложение.

Завдання 2.

У першому потоці треба виконувати сортування масиву за зростанням чисел, а в іншому за зменшенням чисел. Результати сортування необхідно постійно виводити на екран під час роботи програми. Функции сортировки должны бать реализованы в динамической библиотеке. Также эти данные, до сортировки необходимо передавать в другое приложение по локальной сети по протоколу TCP/IP и в нем вывести на экран эти значения в виде графиков, которые рисуються с использованием функцій GDI+. По умолчанию размер массивов составляет 300 значений. Масиви для сортування необхідно заповнити випадковими числами в діапазоні від 0 до 255. Размер массива можно изменить и значение размера массива необходимо сохранить в реестре Windows. При первом запуске программа должна проверить наличие записи в реестре, и если ее нет, то выдать сообщение и потом записать значения по умолчанию. После первого запуска программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + A активировать главное окно программы, а при нажатии на Ctrl + B активировать второе приложение.

 

Завдання 3.

Розробити програму, яка за допомогою функцій GDI+ дозволятиме користувачу рисувати на екрані прямокутник, коло, лінію за допомогою миші. В програмі має бути можливість задавати колір ліній та заливки фігур. При натисканні на кнопку зображення необхідно зберігати у файл JPEG, PNG, BMP (за вибором користувача). Після збереження файл повинен передаватися в інший додаток по локальной сети по протоколу TCP/IP в отдельном потоке. Все функции передачи данных и работы с сетью необходимо реализовать в динамической библиотеке. Второе приложение должно получать изображение по сети и выводить его на экран. При выходе из первого приложения все параметры рисования фігур должны сохраняться в реестр Windows, а при запуске приложения необходимо эти параметры читать и использовать. Если параметров нет, то программа выдает сообщение и записывает в реестр параметры по умолчанию. После первого запуска программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + G активировать главное окно программы, а при нажатии на Ctrl + E активировать второе приложение.

 

Завдання 4.

В одном приложении пользователь указывает два текстовых файла, которые считываются и данные из файлов выводятся на экран в компонент ListView. После этого по нажатию на кнопку данные передаются по локальной сети по протоколу TCP/IP в отдельном потоке. Все функции передачи данных и работы с сетью необходимо реализовать в динамической библиотеке. Второе приложение должно получать данные и построить на экране два графика: круговую диаграмму и столбчатую. Одна диаграмма строится на основе одного файла, а другая на основе другого файла. После первого запуска программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + F активировать первое приложение, а при нажатии на Ctrl + T активировать второе приложение.

 

Завдання 5.

Разработать программу, которая в одном потоке читает файл со словами на английском языке, а в другом на украинском. Затем подсчитвает частоту использования каждой буквы и передает в потоке по локальной сети по протоколу TCP/IP в другое приложение эту информацию. Второе приложение строит два графика – частота использования букв в словах на украинском и английском языках, причем графики должны строится в двух разных потоках на одном контексте устройства. Также во втором приложении необходимо реализовать функцию сохранения данных о 3х наиболее часто встречающихся буквах в реестр. Функции работы с файлами, передачи данных по сети и функции анализа слов должны быть реализованы в динамической библиотеке. После первого запуска программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + S должно выводиться окно со статистикой по частоте использования букв. При необходимости должны обрабатываться все исключения и выводится соответствующие сообщения.

 

Завдання 6.

Необходимо разработать приложение, в котором в одном потоке будут генерироваться случайные параметры окружностей (радиус, цвет линии, координаты центра, цвет заливки), а в другом потоке будут генерироваться такие же параметры для прямоугольников. Эти данные будут передаваться по локальной сети по протоколу TCP/IP в другое приложение и там рисоваться на одном контексте устройства из двух разных потоков. Функции передачи данных и генерации параметров для окружностей и прямоугольников должны быть реализованы в динамической библиотеке. Во втором приложении должна быть реализована функция подсчета нарисованных окружностей и прямоугольников. При завершении работы программы она должна записать в реестр Windows количество нарисованных прямоугольников и окружностей. При последующих запусках первое приложение должно показывать, сколько прямоугольников и окружностей было нарисовано в предыдущий раз. После первого запуска программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + F должно выводиться окно с количеством нарисованных прямоугольников и окружностей, а при нажатии Ctrl + D эти данные из реестра должны быть удалены.

 

Завдання 7.

У першому потоці необхідно здійснювати формування довільних наборів латинських літер, але не більше 8 символів та покладати в компонент List. Другий потік має постійно отримувати ці комбінації символів, розміщувати в інший компонент List та сортувати їх таким чином, щоб вони були відсортовані в алфавітному порядку. Таким чином повинно бути сформовано 100 послідовностей. При нажатии на кнопку отсортированные последовательности передаються по локальной сети по протоколу TCP/IP в другое приложение и там производится подсчет частоты повторяемости букв и строится график повторяемости букв. Все функции генерации и обработки последовательностей должны быть реализованы в динамической библиотеке. Информация о 5 ти наиболее часто используемых буквах должна записываться в реестр. После первого запуска программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + H должно выводиться окно с информацией о наиболее часто использованных буквах, а при нажатии Ctrl + P эти данные из реестра должны быть удалены.

 

Завдання 8.

Разработать программу, которая в одном потоке выполняет вычисление для построения графика функции y=cos(x), а в другом потоке выполняются вычисления для построения графика функции y=tg(x). Данные, вычисленные в потоках, должны передаваться по локальной сети по протоколу TCP/IP в другое приложение и там осуществляется построение графиков с использованием GDI+. В этом приложении пользователь может задать цвет фона, цвет линии, которыми рисуются графики, а также их текстуру. Все эти параметры сохраняются в реестр, а при запуске приложения читаются из реестра и используются при рисовании графиков. При отсутствии данных в реестре используются параметры по умолчанию. После первого запуска программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + G должно выводиться окно с информацией о параметрах применяемых при рисовании графиков.

 

Завдання 9.

У першому потоці необхідно організувати обчислення функції y=x2 та вивести результат в об’єкт List, а в іншому потоці організувати обчислення функції y=x3 та вивести результат в другой об’єкт List. Результаты вичислений записать в файлы и затем передать файлы по локальной сети по протоколу TCP/IP в другое приложение и там выполнить построение графиков с использованием GDI+. В реестр записать имена файлов, а также количество значений в каждом файле. После первого запуска программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + O должно выводиться окно с информацией об именах файлов и путях, где они находятся, а также количество значений вычисленных для каждого графика.

 

Завдання 10.

Розробити програму, яка в первом потоке будет считывать файл формата JPEG, а в другом в формате PNG и затем передавать эти файлы по локальной сети по протоколу TCP/IP в другое приложение. В этом приложении файлы должны приниматься и выводится на экран средствами GDI+ причем пользователь должен иметь возможность задать параметры наложения изображений (OR, XOR, NOT) или просто вывести два файла рядом – в зависимости от параметров. В реестр записать имена файлов, линейные размеры и размер файлов в байтах. После первого запуска программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + I должно выводиться окно с информацией об именах файлов и путях, где они находятся, а также линейные размеры и размер файлов в байтах.

 

Завдання 11.

Разработать программу, которая в двух потоках выполняет поиск строк в реестре. В одном потоке выполняется последовательно поиск и подсчет количества строк jpeg, png, Microsoft, а во втором - поиск строк htm, html, doc. Во время выполнения поиска на экране их потока постоянно должна выводится информация о количестве найденных строк. Полученные данные по нажатию на кнопку передаются в другое приложение по локальной сети по протоколу TCP/IP, а также сохраняются в отдельном ключе реестра. В этом приложении строится столбчатая диаграмма по количеству строк jpeg, png, Microsoft, htm, html, doc. После первого запуска первая программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + R должно выводиться окно с информацией о количестве найденных строк, а если их нет, то сообщение о том, что информация о строках еще не сформирована.

 

Завдання 12.

У першому потоці здійснюватиметься розрахування параметрів рисування лінії, що обертається за годинниковою стрілкою, а в іншому потоці здійснюється розрахунок параметрів рисування лінії, що обертається проти годинникової стрілки. Эти расчтеные данные передаються по локальной сети по протоколу TCP/IP в другое приложение в котором эти линии выводятся на экран. Также в этом приложении можно задать цвет линии, текстуру, параметры градиентной заливки фона. Все данные по настройкам параметров рисования линии и фона сохраняются в реестр. После первого запуска первая программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + L должно выводиться окно с информацией о о параметрах рисования линий, а при нажатии на комбинацию клавиш Alt+L эти данные должны удаляться из реестра.

 

Завдання 13.

Розробити програму, яка рисує таблицю в одному потоці з заданою користовачем кількістю рядків та стовпців. Перший рядок таблиці повинен мати колір, відмінний від інших рядків. У кожну клітину таблиці, починаючи з другого рядка мають виводитись випадкові числа, які повинні поступати по локальной сети по протоколу TCP/IP из другого приложения. Получение данных по сети реализуется в другом потоке. Якщо число менше нуля, то клітинка, в яку воно виводиться, повинна мати червоний колір. Все рисование таблицы должно выполняться средствами GDI+. После первого запуска первая программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + T должно выводиться окно с информацией о параметрах таблицы – количество строк и столбцов, а также количество отрицательных чисел в таблице, а при нажатии на комбинацию клавиш Alt+R эти данные должны удаляться из реестра.

 

Завдання 14.

Разработать программу, которая позволяет прочитать 2 файла формата JPEG и выводит их на экран. Оба изображения должны иметь линейные размеры 320х240 пикселов. По нажатию кнопки запускается два потока. В одном потоке цвет каждой точки одного изображения умножается на 1.2, а во втором потоке к цвету каждой точки добавляется 10. Вычисленные значения передаются по локальной сети по протоколу TCP/IP в другое приложение и там принимаются в двух потоках и выводятся в две разные области на экран. Во время вывода изображений необходимо подсчитать количество белых точек выводимых в одном изображении и количество черных точек выводимых во втором изображении. Эти данные необходимо сохранить в реестре. После первого запуска первая программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + Y должно выводиться окно с информацией о количестве точек белого и черного цвета, а при нажатии на комбинацию клавиш Alt+R эти данные должны удаляться из реестра.

 

Завдання 15.

Разработать приложение в котром подсчитывается кількість натиснутих клавіш за 2 хвилини. При натисканні на комбінацію клавіш Ctrl + Alt + K полученные данные должны передаваться по локальной сети по протоколу TCP/IP в другое приложение. На основе полученных данных в потоке строится графік активності користувача, который показывает на столбчатой диаграмме количество нажатий на ту или иную клавишу, а другом потоке строится таблица, которая показывает сколько раз какая клавиша была нажата. Эти данные необходимо сохранить в реестре. После первого запуска первая программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + W должно выводиться окно с информацией о частоте нажатия клавиш, а при нажатии на комбинацию клавиш Alt+D эти данные должны удаляться из реестра.

 

Завдання 16.

Разработать программу, яка при натисканні на ліву кнопку миші буде по локальной сети по протоколу TCP/IP передавать информацию о координатах курсора мыши в момент нажатия на кнопку в другое приложение, другое приложение будет получать эту информацию и рисовать на экране круг диаметром 50 пикселов. При нажатии на правую кнопку мыши должно происходить рисование квадрата размером 50х50 пикселов. Рисование объектов должно выполняться в отдельных потоках и средствами GDI+. Данные о количестве нажатий левой и правой кнопки мыши необходимо сохранить в реестре. После первого запуска первая программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + J должно выводиться окно с информацией о частоте нажатия правой и левой клавиш мыши, а при нажатии на комбинацию клавиш Alt+E эти данные должны удаляться из реестра.

 

Завдання 17.

Необходимо разработать приложение клиент, которое будет позволять отправлять команды на сервер по локальной сети по протоколу TCP/IP. В сервере для обработки каждой команды создается собственный поток. Клиентская программа должна позволять отправить команду рисования окружности, прямоугольника, текстового сообщения. Каждый объект в клиентском приложении задается набором параметров, в том числе цвет и градиентная заливка. Отправка команды выполняется по нажатии на определенную клавишу. Рисование объектов в серверном приложении выполняется на определенной рабочей области размером 640х480 пикселов. Должны происходить проверки корректности заданных параметров в командах, чтобы можно было обеспечить вывод объектов. Рисование объектов должно выполняться при помощи GDI+. Данные о количестве нарисованных объектов каждого типа необходимо сохранить в реестре. После первого запуска первая программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + P должно выводиться окно с информацией о количестве нарисованных объектов каждого типа, а при нажатии на комбинацию клавиш Alt+T эти данные должны удаляться из реестра.

 

Завдання 18.

Необходимо разработать приложение клиент, которое будет позволять отправлять команду на сервер по локальной сети по протоколу TCP/IP. Команда представляет собой указание, какое количество окружностей с градиентной заливкой должно быть выведено на экране в потоках в серверном приложении. Минимальное количество окружностей – 2, максимальное 100, задаваемое число окружностей кратно 2. В каждом потоке на сервере должно рисоваться половина окружностей от заданного числа. Информация о размере, цвете, градиентной заливке окружностей должна задаваться в клиентском приложении, причем размер окружностей и цвет линии задаются пользователем, а параметры градиентной заливки и координаты центра – случайным образом. Отправка команды выполняется по нажатии на определенную клавишу. Рисование объектов в серверном приложении выполняется на определенной рабочей области размером 640х480 пикселов. Должны происходить проверки корректности заданных параметров в командах, чтобы можно было обеспечить вывод объектов. Рисование объектов должно выполняться при помощи GDI+. Параметры фактически нарисованных объектов, необходимо сохранить в реестре. После первого запуска первая программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + L должно выводиться окно с нарисованными кругами на основе информации, сохраненной в реестре, а при нажатии на комбинацию клавиш Ctrl+G эти данные должны удаляться из реестра.

 

Завдання 19.

Разработать программу, которая позволяет прочитать 2 файла формата PNG и выводит их на экран. Оба изображения должны иметь линейные размеры 320х240 пикселов. Пользователь указывает, какой цвет на изображениях необходимо заменить на цвет, выбранный пользователем. Информация о количестве знаменных в изображениях точек записывается в реестр. По нажатию кнопки запускается два потока. В одном потоке заменяются точки одного изображения, а в другом другого изображения. Вычисленные значения передаются по локальной сети по протоколу TCP/IP в другое приложение и там принимаются в двух потоках и выводятся в две разные области на экран. После первого запуска первая программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + Y должно выводиться окно с информацией о количестве замененных точек на обоих изображениях, а при нажатии на комбинацию клавиш Alt+R эти данные должны удаляться из реестра.

 

Завдання 20.

Разработать программу, которая позволяет прочитать с жесткого диска последовательность из 20 файлов формата JPEG размером 320х240 пикселов и отправляет их по локальной сети по протоколу TCP/IP в другое приложение. В этом приложении создано два потока, которые осуществляют прием изображений, преобразовывают их в изображения в градациях серого, добавляют порядковый номер на изображении и выводят на экран в виде маленьких изображений размером 40х30 пикселов. Следует отметить, что один поток должен принимать и обрабатывать изображения с четными номерами, а другой с нечетными. Также должно учитываться время обработки каждого изображения. Эти данные должны записываться в реестр. После первого запуска первая программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + X должно выводиться окно с информацией о времени обработки каждого изображения, а при нажатии на комбинацию клавиш Alt+U эти данные должны удаляться из реестра.

 

Завдання 21.

Разработать программу, которая позволяет прочитать с жесткого диска два файла формата JPEG размером 320х240 пикселов и затем строит в двух потоках гистограммы этих изображений и затем передает по локальной сети по протоколу TCP/IP в другое приложение эти гистограммы. В другом приложении гистограммы получаются и при помощи GDI + рисуются на экране. При этом в реестр записываются 5 наиболее часто встречаемых цветов на каждом изображении. После первого запуска первая программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + N должно выводиться окно с графиками, отражающими 5 наиболее часто используемых цветов на изображениях, а при нажатии на комбинацию клавиш Alt+M эти данные должны удаляться из реестра.

 

Завдання 22.

Разработать программу, которая одном потоке вычисляет значения для одного фрактала, а в другом потоке для другого. На каждом шаге вычисленные значения из каждого потока передаются по локальной сети по протоколу TCP/IP в другое приложение. Это приложение на контексте устройства рисует оба фрактала. Причем каждый фрактал рисуется в собственном потоке. Для вычисления фракталов могут быть использованы любые выражения, которые студент посчитает возможным реализовать. Остановка рисования фракталов должна выполняться путем нажатия кнопки в приложении, которое рисует фракталы. При остановке рисования в приложение, которое отправляло данные должен быть отправлен сигнал о прекращении вычислений. Количество итераций, которое выполнено для рисования фракталов, должно быть сохранено в реестре. После первого запуска первая программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Alt+Ctrl + C должно выводиться окно с количеством итераций, за которое нарисованы фракталы, а при нажатии на комбинацию клавиш Alt+B эти данные должны удаляться из реестра.

 

Завдання 23.

Разработать программу, которая создает 3 потока и в каждом потоке генерирует случайные числа в интервале от 0 до 255 и передает значения по локальной сети по протоколу TCP/IP в другое приложение. В этом приложении значения, получаемые по сети комбинируются в цвет точки RGB и при помощи этого цвета рисуется полоса высотой 5 пикселов и длинной 100 пикселов. Общая высота рисунка 500 пикселов. Как только она достигается, то она стирается и начинается процесс рисования заново. При этом все поступающие значения выводятся в формате R=..., G=…, B=… в объект List, который также находится на форме. При завершении первого приложения и при прекращении поступления данных необходимо подсчитать среднеарифметическое значение всех данных поступивших для составляющих R, G и B и записать эти три значения в реестр. После первого запуска первая программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + H должно выводиться окно со средними значениями каждой составляющей, а при нажатии на комбинацию клавиш Alt+L эти данные должны удаляться из реестра.

 

Завдання 24.

После запуска программа должна помещать иконку в Windows Tray и при нажатии комбинации клавиш Ctrl + S должно создаваться два потока, которые генерируют случайные данные в диапазоне от 0 до 255 и передают эти данные по локальной сети по протоколу TCP/IP в другое приложение. В этом приложении данные принимаются и помещаются в два компонента List и запоминаются в массивах. По нажатии на кнопку приложение отправляет сигнал первому приложению о прекращении передачи данных и строит два графика с частотой появления значений в списках, а также записывает данные в реестр о 3х наиболее часто встречающихся числах в каждом наборе значений. При нажатии на комбинацию клавиш Alt+I эта информация выводится из реестра в отдельном окне.

 

Завдання 25.

Необходимо разработать приложение, которое будет использоваться двумя пользователями. Один пользователь будет нажимать на кнопку в приложении и на экране этого же приложения у другого пользователя будут рисоваться круги. В это же время нажатие на кнопку другим пользователем в другом экземпляре приложения будет приводить к рисованию прямоугольников на экране первого пользователя. Обмен информацией между приложениями будет выполняться по протоколу по локальной сети по протоколу TCP/IP. Весь обмен данными и вывод данных на экран должен выполняться в потоках. Также в каждом приложении должно быть по 3 комбинации клавиш, которые работают как глобальные ловушки и позволяют отправить 3 текстовых сообщения по сети другому пользователю. Например, пользователь нажал комбинацию Ctrl+P, а другой пользователь получил сообщение «Привет !». Все сообщения должны быть разными. В реестре должны сохраняться сообщения при отправке и в той последовательности как они отправлялись пользователями друг другу. При нажатии комбинации клавиш Alt+R должны быть выведены все сообщения, отправлявшиеся пользователю, а при нажатии Alt+D – данные из реестра должны быть удалены.

 

Завдання 26.

Разработать приложение, которое отправляет сообщения и изображения, загружаемые из файлов по локальной сети по протоколу TCP/IP нескольким пользователям, запустившим другое приложение для просмотра сообщений. При этом при получении текстового сообщения или графического файла они должны отображаться в приложении приема сообщений на экране в специально отведенных местах. При получении графического файла он должен масштабироваться средствами GDI+ до размера 320х240 пикселов, а вокруг изображения необходимо рисовать градиентную рамку шириной 10 пикселов. Изображение всегда должно выводиться в области размером 320х240 пикселов. При первом запуске приложения-отправителя сообщений должна помещаться иконка в Windows Tray и при нажатии комбинации клавиш Ctrl + H должен открываться диалог для выбора графического файла на отправку, даже если приложение свернуто в Windows Tray. При нажатии комбинации Ctrl + R необходимо получить в реестре список всех установленных приложений и разослать эту информацию в виде сообщения всем остальным приложениям- отображающим сообщения.

 

Завдання 27.

Разработать приложение, которое в течение минуты запоминает траекторию движения курсора мыши по экрану, а затем по нажатию на комбинацию клавиш Ctrl+M передает по локальной сети по протоколу TCP/IP эти данные в другое приложение, которое рисует в масштабе 1:2 данную траекторию линией в виде рисунка. Рисование этой траектории происходит в одном потоке, а в другом потоке рисуются различные полупрозрачные изображения, фигуры, которые заполняют фон под нарисованной траекторией. Пользователь может поменять или задать параметры рисования линии траектории (выбрать цвет, толщину, текстуру линии) и затем эти параметры автоматически сохраняться в реестре и при следующем запуске программы будут использованы. Пользователь всегда при помощи комбинации клавиш Ctrl+Alt+M может запустить заново процесс записи траектории мыши.

 

Завдання 28.

Необходимо разработать приложение, в котором при нажатии на комбинацию клавиш Ctrl+1 запускается первый поток, Ctrl+2 – второй поток. При этом в первом потоке начинают генерироваться случайным образом последовательности из 3х латинских букв, а во втором потоке – генерируется последовательность из 3х цифр. Генерируемые данные передаются по локальной сети по протоколу TCP/IP в другое приложение, которое принимает данные и отображает их в элементах List причем вывод в эти элементы происходит из двух потоков, в которых выполняется прием данных по сети. При нажатии комбинации клавиш Ctrl+E должна останавливаться передача данных в первых двух потоках и второе приложение должно подсчитать количество повторяющихся последовательностей в обоих списках и построить круговые диаграммы, в которые включать только те последовательности цифр и букв, которые встречаются чаще, чем в 10% случаев. Результаты этого анализа нужно сохранять в реестр и предоставлять возможность просмотра этих данных до тех пор пока не будут запущены снова два потока, которые сгенерируют новые последовательности данных.

 

Завдання 29.

Необходимо разработать приложение, в котором при нажатии на комбинацию клавиш Ctrl+A запускается первый поток, Ctrl+B – второй поток. При этом в первом потоке начинают вычисляться значения функции y=sin(x), а во втором потоке – значения функции y=cos(x). Генерируемые данные передаются по локальной сети по протоколу TCP/IP в другое приложение, которое принимает данные и отображает их на одном графике линиями разного цвета и текстуры. При нажатии комбинации клавиш Ctrl+N должна останавливаться передача данных в первых двух потоках и второе приложение должно вывести количество данных, поступившее для каждого графика. Эти данные должны быть сохранены в реестр и должна быть возможность просмотра этих данных до тех пор, пока не будут запущены снова два потока, которые сгенерируют новые последовательности данных.

 

Завдання 30.

Необходимо разработать приложение, в котором при нажатии на комбинацию клавиш Ctrl+A запускается первый поток, Ctrl+B – второй поток. При этом в первом потоке получаются данные из ключа реестра HKEY_LOCAL_MACHINE\SOFTWARE, а во втором потоке - HKEY_CURRENT_USER\Software. Получаемые данные передаются по локальной сети по протоколу TCP/IP в другое приложение, которое принимает данные и отображает их в двух элементах List. При нажатии клавиши в этом приложении проводится сравнение двух списков и на графике в виде столбчатой диаграммы показывается частота повторения записей в этих ключах. При этом если запись встречается только один раз в каком то из списков она не отображается на графике.

 

 

Контрольні запитання

1. Особливості створення дінамічних бібліотек.

2. Правила підключення дінамічних бібліотек до головної програми.

3. Що забезпечує спеціальне слово Exports у бібліотеці.

4. Передача параметрів та даних між бібліотекою та головною програмою.

5. Загальні етапи розробки програм – пасток.

6. Що таке повідомлення в ОС Windows?

7. Назвіть функції API Windows , які використовуються для встановлення та зняття пасток.

8. Як розмістити позначку в системній області Windows?

9. Назвіть правила створення та підключення динамічних бібліотек у Windows.

10. Что такое точка входа в библиотеку? Для чего она может бать использована?

11. Призначення реєстру та його структура.

12. Назвіть API функції ОС Windows для роботи з реєстром.

13. Які можливості надає використання реєстру для програміста?

14. Поняття потоків. Їх призначення та можливості, які виникають під час їх використання.

15. Назвіть загальні принципи створення (проектування) багатопоточної програми. Коли є сенс розробляти багатопоточну програму?

16. Назвіть причини, чому неможна звертатися до візуальних компонентів безпосередньо із потоку.

17. Какие методы синхронизации потоков методами ядра Вам известны?

18. Какие методы синхронизации потоков в пользовательском режиме Вам известны?

19. Для чего используется функция WaitForSingleObject ?

20. Что такое Mutex?

21. Опишіть архітектури графічної системи ОС Windows.

22. Назвіть системи координат, які використовуються в ОС Windows та дайте їх характеристику.

23. Що таке контекст пристрою? Яке його призначення?

24. Назвіть функції для роботи з контекстом пристрою та дайте їх характеристику.

25. Дайте характеристику основных возможностей библиотеки GDI+.

26. Каким образом выполняется инициализация библиотеки GDI+ в приложении?

27. Каким образом выполняется рисование линий при помощи средств библиотеки GDI+?

28. Каким образом обеспечивается поддержка различных форматов файлов в библиотеке GDI+?

29. Каким образом выполняются геометрические преобразования при помощи средств библиотеки GDI+?

30. Каким образом выполняется вывод текста при помощи средств библиотеки GDI+?

31. Каким образом выполняется настройка параметров вывода и заливки объектов при помощи средств библиотеки GDI+?

32. Что такое протокол ? Какие протоколы бывают?

33. Что такое сокет и порт.

34. Какие типы соединений возможны в компьютерных сетях ?

35. Что представляет собой архитектура клиент-сервер. В чем отличия клиента и сервера.

36. Какие средства для разработки сетевых приложений предоставляются Windows API

37. Какие средства доступны для программиста в средах С++ для разработки сетевых приложений?

38. Для чего используется функция WSAStartup. Приведите правила ее использования

39. Каким образом создается сокет ?

40. Для чего используется функция bind?

41. Каким образом выполняется прием данных при использовании сокетов?

42. Каким образом выполняется передача данных при использовании сокетов?

 

 

ПЕРЕЛІК ПОСИЛАНЬ

1. Бондаренко М.Ф., Ліпанов О.В., Путятін Є.П., Сінельнікова Т.Ф. Системное программирование в современных операционных системах.- Харків.:Вид. Сміт”, 2005. - 288с.

2. Щупак Ю. А. Win32 API. Разработка приложений для Windows. 1 изд.- Спб.: Питер, 2009.- 592 стр.

3. Саймон Ричард, Windows 2000 API. Энциклопедия программиста: Пер. с англ. - К.: Видавництво "Диасофт", 2001.- 1088 с.

4. Эд. Ботт, Карл Зихерт, Крейг Стинсон Windows Vista Inside Out: Пер. с англ. – изд. М.: «ЭКОМ Паблишерз», 2009.- 1104 стр.

5. Вильямс А., Системное программирование в Windows 2000 для профессионалов. - Спб: Питер, 2001,- 624 с.

6. Джеффри Рихтер, Windows для профессионалов издание 4. – Спб.: Питер, 2008.- 725 с.

7. Виталий Брусенцев. GDI+: графика нового поколения. Часть 1. Краткое знакомство интернет ресурс www.rsdn.ru

8. Виталий Брусенцев. GDI+: графика нового поколения. Часть2. Работа с растрами и графическими файлами интернет ресурс www.rsdn.ru

9. Виталий Брусенцев. GDI+: графика нового поколения. Часть 3. Построение векторных изображений интернет ресурс www.rsdn.ru

10. Таненбаум Э. Современные операционные системы. 3-е изд. - Спб.: Питер, 2012 год, 1120 стр.,

 

 


Навчальне видання

 

Методичні вказівки

До лабораторних робіт з дисципліни “Операційні системи” для студентів денної форми навчання спеціальності 8.080201 ”Інформатика””,8.080202 “Прикладна математика”,7.080203 “Системний аналіз та керування”.

.

 

 

Упорядники: ЛІПАНОВ Олександр Віталійович

СІНЕЛЬНІКОВА Тетяна Федорівна

 

Відповідальний випусковий Є.П.Путятін

 

Редактор Б.П.Косіковська

 

 

План 2004, поз.29

Підп. до друку .04 Формат 60х84 1/16. Спосіб друку - різограф

Умов. друк. арк. 30. Облік вид. арк.

Тираж 200 прим.

Зам.№ .Ціна договірна.

 
 


ХНУРЕ. 61166 Харків, просп. Леніна, 14.

 
 


Віддруковано в навчально-науковому видавничо-поліграфічному центрі ХНУРЕ

61166 Харків, просп. Леніна, 14.

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.