Задача №2:
PHP код:
Требования к программе. В программе должно быть следующее:
- описана главная функция приложения WinMain,
в которой регистрируется класс главного окна, создается и выводится это окно,
организуется цикл обработки очереди сообщений приложе-ния;
- главное окно приложения должно быть развернутым на весь экран
и в заголовке содер-жать надпись:
Лабораторная работа № 5 по СПиОС студ. Фамилия И.О. группа <шифр>;
- в главном окне должно быть создано меню, состоящее из пунктов:
Текстовый файл (Ис-ходный, Выходной, Выход);
Динамический массив (Массив А, Массив В, и т.д. согласно варианту задания);
Информация о памяти (Состав подпунктов зависит от варианта задания);
- пункт меню Текстовый файл: подпункт Исходный –
с использованием стандартного диа-лога Open открывается
уже существующий исходный текстовый файл для чтения
(размером не менее 10 Кб), для него выделяется регион в
адресном пространстве, затем производится чтение из файла
текста и его обработка согласно варианту задания, результаты
обработки выводятся на эк-ран с помощью функции MessageBox;
подпункт Выходной – с использованием стандартного диа-лога Save As
создается новый выходной текстовый файл для записи, для него
создается проекция в память, по адресу этой проекции формируется
содержимое выходного файла из исходного файла согласно варианту задания,
производится закрытие проекции и выходного файла, для просмотра его
содержимого необходимо вызвать редактор Notepad с передачей ему
пути и имени файла; подпункт Выход – работа программы завершается;
- пункт меню Динамический массив: для каждого подпункта
необходимо создать в куче динамический массив соответствующего размера, з
аполнить значениями согласно расчетным формулам, произвести его обработку.
Элементы массива и результаты обработки вывести на экран либо с помощью
диалогового окна MessageBox либо во временное окно в виде набора строк.
Для заполнения массивов значениями и их обработки можно составить две
функции, которым передавать адрес массива, его размер, коэффициенты для расчетных формул и др.;
- пункт меню Информация о памяти – должен состоять из двух
подпунктов согласно вари-анту задания для получения
информации о памяти. По каждому подпункту должна быть
получена соответствующая информация и выведена с помощью диалогового окна MessageBox.
Примечание. В качестве исходного текстового файла можно использовать любой уже су-ществующий на диске текстовый файл, содержащий набор символов в кодировке ANSI Windows. При необходимости такой файл можно создать из документа MS Word, сохранив его с расширением .txt.
Условие
1. [U]Работа с виртуальной памятью, проекциями файлов. Обработка тек-стовой информации[/U] - В исходном тексте под-считать количество слов с сочетаниями –жи-, -ши-, а также слов с ошибками (–жы-, -шы-) В выходной файл перенести такие слова, а слова с ошибками ис-править и заменить прописными буквами.
2.[U]Работа с кучей. Формирование и обработка динамических массивов[/U] - Заданы массивы A(15,11), B(9,7), C(8,6). Для каждой матрицы все элементы матрицы раз-делить на ее максимальное значение. Эле-менты исходных массивов вычислить по формулам:
Aij = 5.7jsin(i/2)+9.3icos(j/3)
Bij = 12.1jsin(i/2)-3.8icos(j/3)
Cij = 1.5jsin(i/2)+23.4icos(j/3)
3. [U]Получить и вывести информацию о памяти[/U] - Размер страницы памяти. Свободная виртуальная память
Задача №3:
PHP код:
Для приведенных в таблицах 1-2 вариантов заданий составить и отладить в среде MS Visual С++:
1) динамически подключаемую библиотеку, в которой содержатся:
а) описание класса для формирования и обработки массива;
б) описания двух функций для создания и уничтожения ди-намического объекта этого класса;
2) Windows-программу, в которой производится:
а) загрузка DLL заданным способом;
б) создание потока, в котором вызываются функции и методы класса из DLL;
в) для выбранного пользователем массива выполнение в потоке операций по его формированию и обработке;
г) вы-вод полученных результатов;
д) явная выгрузка DLL, если это необходимо по заданию.
Условие:
[U]1. Формулы для вычисления элементов исходных матриц:[/U]
Aij = 2.8i+5.1sin2(j/2+0.5)
Bij = 6.6i+4.7sin2(j/3-1.2)
Cij = 1.7i-3.6sin2(j/4+0.2)
[U]2. Размеры матриц[/U]
4*5
5*6
6*4
[U]3. Правило для определе-ния параметра Р[/U]
Количество элементов матрицы, превышающих ее среднее арифме-тическое значение.
[U]4. Условие отбора[/U] - P > 8
[U]5. Тип за-грузки DLL[/U] - Отлож. загрузка