Главная страница
qrcode

Инд задания. Индивидуальные задания лабораторного практикума Задание составьте программу Луна


Скачать 53,36 Kb.
НазваниеИндивидуальные задания лабораторного практикума Задание составьте программу Луна
Дата17.07.2020
Размер53,36 Kb.
Формат файлаdocx
Имя файлаИнд задания.docx
ТипПрактикум
#112078
Каталог

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

Задание А1. Составьте программу "Луна". Для главного окна задайте тёмно-синий фон. Щелчок мыши (левая клавиша) в центр главного окна выводится круг желтого цвета. При каждом последующем нажатии левой клавиши мыши из круга выедается правая часть, что превращает его в полумесяц рогами вправо уменьшающий круг до полного исчезновения фон окна – светлеет до голубого оттенка. Щелчок мыши (правая клавиша) в нижней части окна выводится строка ярко-красного текста с вашей фамилией и номером группы, окантованная такой же ярко-красной прямоугольной рамкой толщиной 3-4 пиксела. Через 30 секунд после нажатия правой клавиши приложение должно быть закрыто.

Задание B1. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши: при помощи FindWindow() найти дескриптор окна 2. Выдать сообщение об этом. Если операция неудачная, то выдать сообщение об этом. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2: при получении сообщения WM_USER+1 (левая клавиша) изменить цвет фона второго окна. При получении сообщения WM_USER+2 (правая клавиша) закрыть приложение 2.

Задание С1. Написать программу "Калькулятор".

Задание D1. Первый поток выводит в левую половину окна цветными символами текущее время (часы, минуты и секунды), получаемое с помощью функции GetLocalTime().

Второй поток выводит в правую половину окна изображение круга, заливаемого попеременно то одним, то другим цветом.
______________________________________

Задание А2. Составьте программу, в которой в главное окно голубого цвета по щелчку левой кнопки мыши выводятся рандомного размера и цвета прямоугольники. При нажатии правой кнопки мыши сообщение о нажатии правой клавиши мыши, а через 30 секунд окно сворачивается в пиктограмму.

Задание B2. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши: при помощи FindWindow() найти дескриптор окна 2. Если второе окно не найдено выключить компьютер. Если 2 окно открыто: при помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2: при получении сообщения WM_USER+1 (левая клавиша) выдать сообщение о получении сообщения от первого окна. При получении сообщения WM_USER+2 (правая клавиша) изменить размер второго окна.

Задание С2. Составьте программу БД "Студ. группа". С возможностью вывода списка группы, добавлением, изменением и удалением записей.

Задание D2. Первый поток выводит в верхнюю половину окна цветными символами текущие экранные координаты курсора мыши, получаемые с помощью функции GetCursorPos().

Второй поток выводит в нижнюю половину окна изображение попеременно то левой, то правой половины цветного круга.

Перемещая по экрану курсор мыши, проанализируйте работу программы.
______________________________________

Задание А3. Составьте программу, в которой в главное окно желтого цвета выводятся по нажатию левой клавиши мыши геометрические фигуры, а по нажатию правой клавиши мыши снизу фигуры её название. Цвет фигур и подписи к ним рандомный.

Задание B3. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши: при помощи FindWindow() найти дескриптор окна 2. Выдать сообщение открыто или нет второе окно. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2: при получении сообщения WM_USER+1 (левая клавиша) размер окна уменьшить/увеличить (поочерёдно) в 2 раза. При получении сообщения WM_USER+2 компьютер выключается.

Задание С3. Составьте программу “Текстовый редактор”, выбор текста из файла.

Задание D3. Первый поток выводит в левую половину окна круг, залитый каким-либо цветом, и попеременно изменяет цвет фона под ней, т. е. цвет этой половины окна.

Второй поток выводит в правую половину окна цветными символами число миллисекунд, истекших от момента загрузки операционной системы, которое можно получить с помощью функции GetTickCount(). Оцените, когда была в последний раз загружена операционная система на вашем компьютере?

______________________________________

Задание А4. Составьте программу "Секундомер", в которой в центр главного окна светло-бирюзового цвета выводится строка красного цвета 00.00.00. При нажатии левой клавиши мыши запускается «секундомер», каждый последующий щелчок левой клавиши мыши – пауза. Правой сброс в нулевое положение.

Задание В4. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши (при помощи FindWindow()) найти дескриптор окна 2. Выдать сообщение открыто или нет второе окно. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2 при получении сообщения WM_USER+1 выдать сообщение об этом. При получении сообщения WM_USER+2 изменить цвет фона второго окна (каждый раз менять на рандомный цвет).

Задание С4. Составьте программу с меню "Фигуры", состоящим из пунктов с названиями "Круг", "Квадрат" и т. д. в главном окне салатового цвета. Выбор фигуры должен приводить к запросу размера для прорисовки фигуры, место вывода фигуры, определяется координатами курсора. Цвет заливки фигуры выбирать из палитры.­

Задание D4. Первый поток выводит в верхнюю половину окна изображение цветного круга попеременно то большего, то меньшего диаметра (через каждые 8 сек).

Второй поток выводит в нижнюю половину окна цветными символами текущее время по Гринвичу (часы, минуты и секунды), получаемое с помощью функции GetSystemTime(). На сколько время по Гринвичу отличается от московского?
______________________________________

Задание А5. Составьте программу "Светофор" в которой в главное окно серого цвета в прямоугольнике выводятся три окружности. По нажатию левой клавиши мыши по очереди включаются цвета светофора. При нажатии правой клавиши мыши загорается красный свет и в нижнее части окна надпись – СТОП.

Задание B5. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши: при помощи FindWindow() найти дескриптор окна 2. Выдать сообщение открыто или нет второе окно. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2: при получении сообщения WM_USER+1 выдать сообщение об этом. При получении сообщения WM_USER+2 окно 2 начинает медленно сдвигаться влево и дойдя до края останавливается.

Задание C5. Составьте программу "Audio Pleer".

Задание D5. Первый поток выводит в случайные места левой половины окна небольшие цветные кружки (по таймеру или по нажатию клавиши мыши). Для повышения наглядности не затирайте изображение в каждом такте вывода, накапливая выводимые фигуры на экране.

Второй поток выводит в правую половину окна изображение толстой цветной линии, которая попеременно отклоняется от вертикали то вправо, то влево (наподобие часового маятника).
______________________________________

Задание А6. Составьте программу, в которой в главное окно светло-салатового цвета выводится круг жёлтого цвета. По щелчку левой клавиши мыши сектор перекрашивается (размер и цвет сектора задаётся рандомно). Сектор рисуется с помощью функции Pie(). По щелчку правой клавиши мыши восстанавливается первоначальное состояние окна.

Задание B6. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши (при помощи FindWindow()) найти дескриптор окна 2. Выдать сообщение открыто или нет второе окно. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2 при получении сообщения WM_USER+1 выдать сообщение об этом. При получении сообщения WM_USER+2 закрыть второе окно через 15 сек, а первое через 30 сек.

Задание С6. Составьте программу "Светофор", с возможностью автоматического (по таймеру) и ручного управления. Выбор каждого пункта меню должен приводить к соответствующему изменению цвета. В строке состояния должна отражаться информация о переключениях.

Задание D6. Первый поток выводит в верхнюю половину окна попеременно изображения то круга, то квадрата с общим центром через каждые 4 сек. Фигуры должны быть залиты каким-либо цветом.

Второй поток выводит в нижнюю половину окна цветными символами время выполнения предыдущего такта этого потока (вместе с интервалом ожидания, задаваемым функцией Sleep()). Для определения длительности фрагмента программы воспользуйтесь функцией мультимедийного таймера timeGetTime().
______________________________________

Задание А7. Составьте программу, в которой в главное окно голубого цвета выводятся при нажатии левой клавиши мыши линии разных цветов толщиной 3-4 пиксела, исходящих из начальной точки с координатами 50, 50 и направленных под разными углами, образуя пучок. При нажатии правой клавиши мыши изменяется координаты центра будущего пучка.

Задание B7. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши (при помощи FindWindow()) найти дескриптор окна 2. Выдать сообщение открыто или нет второе окно. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2 при получении сообщения WM_USER+1 выдать сообщение об этом. При получении сообщения WM_USER+2 Shut down.

Задание C7. Составить программу "Секундомер".

Задание D7. Первый поток выводит в левую половину окна изображение желтого полумесяца, у которого попеременно то увеличивается, то уменьшается толщина. Второй поток выводит в правую половину окна цветными символами полный объем физической памяти и объем свободной физической памяти. Вывод лучше организовать в две строки. Требуемую информацию можно получить с помощью функции GlobalMemoryStatus(). Запуская вместе с испытываемой программой другие приложения Windows (ваши или системные), пронаблюдайте за использованием физической памяти.
______________________________________

Задание А8. В середину достаточно большого главного окна голубого цвета выведите небольшой розовый квадрат. При каждом щелчке левой клавиши мыши увеличивайте размер квадрата на 5 – 10 пикселов, оставляя неизменным положение его центра. По щелчку правой клавиши мыши цвет квадрата меняется (рандомно).

Задание B8. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши (при помощи FindWindow()) найти дескриптор окна 2. Выдать сообщение открыто или нет второе окно. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2 при получении сообщения WM_USER+1 вывести на экран дескрипторы обоих окон. При получении сообщения WM_USER+2 изменить цвет текста, а через 20 сек цвет фона.

Задание C8. Составьте программу с меню "Бегущая строка". В меню предусмотреть выбор технических характеристик (редактирование строки, цвет, размер, частота и т.д.).

Задание D8. Первый поток выводит в верхнюю половину окна изображение цветного треугольника, поворачивающийся вокруг своего основания попеременно вершиной то вверх, то вниз (каждые 7 сек). Треугольник рисуется функцией Polygon().

Второй поток выводит в нижнюю половину окна цветными символами время в миллисекундах, истекшее от момента загрузки операционной системы, которое можно получить с помощью функции GetCurrentTime(). Оцените, когда в последний раз была загружена операционная система на вашем компьютере?
______________________________________

Задание А9. Составьте программу, в которой в главное окно голубого цвета в правом верхнем углу эхо-печать. При нажатии левой клавиши мыши - Сообщение о нажатии, при нажатии правой клавиши мыши - изменить цвет фона.

Задание B9. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши (при помощи FindWindow()) найти дескриптор окна 2. Выдать сообщение открыто или нет второе окно. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2 при получении сообщения WM_USER+1 выдать сообщение об этом. При получении сообщения WM_USER+2 Shut down.

Задание C9. Составьте программу БД "Библиотека". С возможностью вывода списка книг по разделам, добавлением, изменением и удалением записей.­­

Задание D9. Первый поток выводит в левую половину окна цветными символами состояние клавиш Shift, которое можно получить с помощью функции GetAsyncKeyState(). Состояние анализируемых клавиш индицируйте, выводя на экран соответствующие надписи.

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

Задание А10. Создать окно приложения размером в 3х10 с заголовком "Форматирование диска" без кнопок системного меню. При перемещении курсора мыши над рабочей областью окно должно "убегать" от курсора мыши в случайно выбранном направлении, оставаясь в пределах экрана. При нажатии правой клавиши мыши выключение компьютера.

Задание B10. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши (при помощи FindWindow()) найти дескриптор окна 2. Выдать сообщение открыто или нет второе окно. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2 при получении сообщения WM_USER+1 выдать сообщение об этом. При получении сообщения WM_USER+2 закрыть окно 2, а первое окно через 15 сек.

Задание C10. Составьте программу "Переводчик", программа должна содержать меню, а также выпадающие списки с какого на какой язык перевод слова.

Задание D10. Первый поток выводит в верхнюю половину окна попеременно изображения то левой, то правой половины вытянутого цветного эллипса. Второй поток выводит в нижнюю половину окна цветными (цвет изменяется каждые 15 сек.) символами ширину и высоту главного окна приложения, которые можно вычислить из данных, предоставляемых функцией GetWindowRect(). Изменяя размер главного окна приложения, проанализируйте работу программы.
______________________________________

Задание А11. Составьте программу, в которой в главное окно светло-коричневого цвета выводится при нажатии левой клавиши мыши в левом нижнем углу, под углом 45° Ваше имя, фамилия, группа. При нажатии правой клавиши мыши свернуть окно в пиктограмму.

Задание B11. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши (при помощи FindWindow()) найти дескриптор окна 2. Выдать сообщение открыто или нет второе окно. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2 при получении сообщения WM_USER+1 выдать сообщение об этом. При получении сообщения WM_USER+2 изменить цвет фона второго окна (каждый раз менять на рандомный цвет).

Задание C11. Составьте программу с меню "Просмотр картинок". Программа содержит список файлов с изображениями (предусмотреть возможность использования фильтра).

Задание D11. Первый поток выводит в левую половину окна цветными символами число целых секунд, истекших с момента загрузки операционной системы. Значение этого времени (в других единицах) можно получить с помощью функции GetCurrentTime().

Второй поток выводит в правую половину окна треугольник, заливаемый попеременно то синим, то зеленым цветом. Треугольник рисуется функцией Polygon().
______________________________________

Задание А12. Составьте программу, в которой в главное окно светло-голубого цвета выводится желтый круг диаметром 200 пикселов, при каждом нажатии левой клавиши мыши с левой стороны "выедается" часть круга, при нажатии правой клавиши - с правой стороны (как у надкусанного яблока).

Задание B12. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши при помощи FindWindow() найти дескриптор окна 2. Выдать сообщение открыто или нет второе окно. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2 при получении сообщения WM_USER+1 выдать сообщение об этом. При получении сообщения WM_USER+2 выполнить перезагрузку РС.

Задание C12. Составить программу "игра Х - О".

Задание D12. Первый поток: диалог кнопка "Заполнить", в файле ресурсов создайте список Вашей группы. Нажав кнопку "Заполнить" в окне должны через каждые 10 сек. появляться строчки из списка (цвет строки, угол наклона – рандомны).

Второй поток выводит в нижнюю половину окна толстую цветную линию, качающуюся вокруг своей середины наподобие детских качелей.
______________________________________

Задание А13. Составьте программу, в которой в главное окно коричневого цвета выводятся три соприкасающихся круга диаметром 100 пикселов каждый, расположенные вертикально и залитые черным, красным и белым цветами, при каждом нажатии левой клавиши мыши один из кругов исчезает, при нажатии правой клавиши - окно сворачивается в пиктограмму. Повторное нажатие приводит к восстановлению первоначального окна, но в другом месте экрана.

Задание B13. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши: при помощи FindWindow() найти дескриптор окна 2. Выдать сообщение об этом. Если операция неудачная, то выдать сообщение об этом. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2: при получении сообщения WM_USER+1 (левая клавиша) изменить цвет фона второго окна. При получении сообщения WM_USER+2 (правая клавиша) - окно 2 разворачивается во весь экран.

Задание C13. Составить программу "Телефон".

Задание D13. Первый поток: Составьте программу с меню "Главное окно", состоящим из пунктов с названиями "Штриховка" и "Сплошное". Закрасьте окно бледно-бирюзовым цветом. Выбор первого пункта меню должен приводить к наложению на фон окна наклонных белых штрихов, выбор второго пункта – возвращать окно в первоначальное состояние. Кисть для штриховки создается функцией CreateHatchBrush(); окно заливается функцией FillRect(); координаты рабочей области окна можно получить из структурной переменной типа PAINTSTRUCT.

Второй поток: каждые 20 мин. - экран становится серым в середине запись ("Технический перерыв 20 мин.").
______________________________________

Задание А14. Составьте программу при нажатие левой клавиши в главное окно серого цвета либо выводится левая половина синего круга, правой - правая. Полукруги рисуются с помощью функций Pie() или Chord().

Задание B14. Составьте программу при запуске i-го экземпляра (i>2) приложения спросить пользователя, нужно ли его запустить. Если пользователь ответит "да", то запустить его. Иначе на передний план переместить 2-й экземпляр приложения и завершить работу i-го экземпляра

Задание C14. Составить программу "Приобретение билета".

Задание D14. Первый поток: Фигура плавно перемещается по горизонтали от левого края окна до правого, скачком возвращается назад и повторяет плавное движение вправо. В каждом шаге x-координату фигуры изменяйте на 1 пиксел.

Второй поток выводит в главное окно серого цвета в центре эхопечать.
______________________________________­­­­

Задание А15. Составьте программу, "шахматная доска", нажатие левой клавиши - сообщение с именем клетки, где находится курсор в шахматной нотации, правой - инверсия цвета клеток.

Задание B15. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши: при помощи FindWindow() найти дескриптор окна 2. Выдать сообщение об этом. Если операция неудачная, то выдать сообщение об этом. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2: при получении сообщения WM_USER+1 (левая клавиша) изменить размер второго окна. При получении сообщения WM_USER+2 (правая клавиша) - окно 2 разворачивается во весь экран, выдавая различные звуковые сигналы.

Задание C15. Составить программу "Конвертор".­

Задание D15. Составьте программу "Часы". Первый поток: цифровые, второй - аналоговые.
______________________________________

Задание А16. Составьте программу, в которой в главное окно желтого цвета выводится строка синего цвета с вашей фамилией на фоне бирюзового эллипса. После нажатия левой клавиши мыши через 10 сек исчезает эллипс, затем через 10 сек исчезает строка с фамилией. При нажатии правой клавиши мышки восстанавливается первоначальное окно.

Задание B16. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши: при помощи FindWindow() найти дескриптор окна 2. Выдать сообщение об этом. Если операция неудачная, то выдать сообщение об этом. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2: при получении сообщения WM_USER+1 (левая клавиша) изменить размер второго окна до минимального. При получении сообщения WM_USER+2 (правая клавиша) - окно 2 запустить приложение "Блокнот".

Задание C16. Составить программу игра "Сапёр"­­.

Задание D16. Первый поток: Заполнение информацией таблицы (данные записать в файл) в левой половине окна (фон серый)

Второй поток выводит в правую половину окна - диаграмму по данным из таблицы, обновление через каждые 10 сек.
______________________________________

Задание А17. Три вложенных друг в друга квадрата с размерами сторон 50, 100 и 150 пикселов, соприкасающиеся левыми верхними углами. По щелчку левой кнопки мыши цвет i-го квадрата становиться цветом (i+1)-го. Щелчок мыши (правая клавиша) - Закрыть окно через 15 сек

Задание B17. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши: при помощи FindWindow() найти дескриптор окна 2. Выдать сообщение об этом. Если операция неудачная закрыть приложение 1. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2: при получении сообщения WM_USER+1 (левая клавиша) выдать список запущенных приложений. При нажатии правой клавиши в первом приложении - сообщение о получении.

Задание C17. Составьте программу "Font".

Задание D17. Первый поток выводит в левую половину окна фигуру плавно перемещающуюся по вертикали от верхнего края окна до нижнего, скачком возвращается назад и повторяет движение вниз. В каждом шаге y-координату фигуры изменяйте на 1 пиксел.

Второй поток выводит в правую половину окна вводимый текст.
______________________________________

Задание А18. Составьте программу, в которой в главное окно светло-бирюзового цвета по нажатию левой клавиши выводится символ с случайными координатами, размером, цветом и углом наклона, нажатие правой клавиши очистка окна.

Задание B18. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши: при помощи FindWindow() найти дескриптор окна 2. Выдать сообщение об этом. Если операция неудачная запустить приложение 1. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2: при нажатии правой клавиши закрыть первое приложение.

Задание C18. Составьте программу с меню "Булочки", состоящим из пунктов с названиями "Пышка" и "Бублик". При выборе первого пункта меню в середину главного окна должен выводиться круг, при выборе второго пункта – круг превращаться в бублик. Все окно закрасьте желтым цветом, кондитерские изделия – коричневымВключите в состав диалога кнопку "Закрыть", а также два статических элемента управления для вывода двух произвольных строк текста, назначив им разные идентификаторы. Введите в оконную процедуру диалога обработку сообщения WM_CTLCOLORSTATIC. Покрасьте оба статических элемента в стандартный цвет диалогового окна (чтобы прямоугольные области статических элементов не выделялись на фоне диалога). Покрасьте первую строку текста в красный цвет, а вторую – в бирюзовый. Назначьте обеим строкам текста в качестве цвета фона стандартный цвет диалогового окна, который можно получить с помощью функции GetSysColor(), задав ей в качестве параметра константу CTLCOLORDLG.

Задание D18. Первый поток: в правой половине окна таблица – сбор данных.

Второй поток выводит в левую половину окна график по данным таблицы (обновление каждые 10 сек), предусмотреть возможность вывода двух и более графиков.
______________________________________

Задание А19. Составьте программу, в которой в главное окно светло-серого цвета по нажатию левой клавиши мыши выводится пучок из трех линий разных цветов толщиной 3-4 пиксела, исходящих и направленных под разными углами, повторное нажатие – изменение координат центра пучка. Линии рисуются функцией LineTo(), начальная точка перемещается функцией MoveToEx()Нажатие правой клавиши – восстановление чистого окна, цвет фона другой.

Задание B19. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши: при помощи FindWindow() найти дескриптор окна 2. Выдать сообщение об этом. Если операция неудачная, то выдать сообщение об этом. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2: при получении сообщения WM_USER+1 (левая клавиша) открыть стандартное приложение "Калькулятор". При получении сообщения WM_USER+2 (правая клавиша) закрыть приложение "Калькулятор".

Задание C19. Составьте программу "Тестирование"

Задание D19. Первый поток: В нижнюю часть правой половины достаточно высокого главного окна светло-зеленого цвета выведите короткую строку текста темно-зелеными буквами. В каждом такте таймера, работающего с частотой 10 Гц, смещайте строку вверх на 5 – 6 пикселов. Остановите таймер, когда строка дойдет до верхнего края окна.

Второй поток выводит в левую половину окна время по Гринвичу (для выбранной страны).
______________________________________

Задание А20. Составьте программу, в которой в главное окно бледно-розового цвета выводятся три концентрических эллипса с размерами 350х250, 250х150 и 150х50 пикселов. Внешний эллипс нарисуйте толстым (6-8 пиксела) черным пером, средний – синим, а внутренний – желтым. Эллипсы должны быть прозрачными. Нажатие левой клавиши – изменение толщины пера у элипса над которым находится курсор.

Задание B20. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши: при помощи FindWindow() найти дескриптор окна 2. Выдать сообщение об этом. Если операция неудачная, то выдать сообщение об этом. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2: при получении сообщения WM_USER+1 (левая клавиша) нарисовать прямоуголиник (при повторном получении сообщения WM_USER+1 цвет, размер, координаты изменяются). При получении сообщения WM_USER+2 (правая клавиша) закрыть приложение 1.

Задание C20. Составьте программу "Калькулятор 2n".

Задание D20. Первый поток выводит в верхнюю половину окрашенного окна большой круг, кисть для заливки которого выбирается случайным образом из трех созданных заранее кистей разных цветов. Для того чтобы наглядно фиксировать моменты смены кисти, в центр круга выводится номер такта этого потока.

Второй поток выводит в нижнюю половину окна цветными символами текущее время (часы, минуты и секунды), получаемое с помощью функции GetLocalTime().
______________________________________

Задание А21. Составьте программу, в которой в главное окно голубого цвета по нажатию левой клавиши мыши выводится изображение солнечной системы: желтый круг, изображающий Солнце, эллиптические орбиты планет, сами планеты в виде круга. При нажатии правой клавиши текст (название планеты определять по наведению курсора на планету).

Задание B21. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши: при помощи FindWindow() найти дескриптор окна 2. Если второе окно не найдено выключить компьютер. Если 2 окно открыто: при помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2: при получении сообщения WM_USER+1 (левая клавиша) изменить размер второго окна. При получении сообщения WM_USER+2 (правая клавиша) создание второго рабочего стола на 10 сек.

Задание С21. Составьте программу БД "Банк", вход по поролю, вкладки, данные о клиенте,приход/расход.

Задание D21. Первый поток выводит в верхнюю половину окна цветными символами текущие экранные координаты курсора мыши, получаемые с помощью функции GetCursorPos().

Второй поток выводит в нижнюю половину окна изображение попеременно то левой, то правой половины цветного круга.

Перемещая по экрану курсор мыши, проанализируйте работу программы.
______________________________________

Задание А22. Составьте программу, в которой в главное окно голубого цвета выведен стрелочный секундомер по нажатию левой клавиши мыши запучк секундомера, повторное нажатие пауза. При нажатии правой клавиши – сброс.

Задание B22. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши: при помощи FindWindow() найти дескриптор окна 2. Выдать сообщение об этом. Если операция неудачная, то выдать сообщение об этом. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2: при получении сообщения WM_USER+1 (левая клавиша) открыть стандартное приложение "Блокнот". При получении сообщения WM_USER+2 (правая клавиша) закрыть приложение "Блокнот".

Задание С22. Составьте программу – игра "Виселица".

Задание D22. Первый поток записывает в файл информацию, данные должены представлять собой последовательный ряд из 1000 целых нечетных чисел в убывающем порядке, каждое число записывается с задержкой 5 сек.

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

Третий поток выводит полосы прогресса выполнения записи данных в файлы.
______________________________________

Задание А23. Составьте программу, в которой в главное окно синего цвета выводится изображение красного полукруглого солнца (как бы заходящего за горизонт) с расходящимися от него несколькими лучами в виде толстых красных линий. Линии рисуются функцией LineTo(), начальная точка перемещается функцией Move­ToEx(). Половины круга рисуются функциями Pie() или Chord(). По щелчку левой клавиши мыши солнце заходит. Правая клавиша мыши – Ночь, повторное нажатие – загараются звёзды.

Задание B23. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши: при помощи FindWindow() найти дескриптор окна 2. Выдать сообщение об этом. Если операция неудачная, то выдать сообщение об этом. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2: при получении сообщения WM_USER+1 (левая клавиша) круглый мячик движется вверх-вниз. При получении сообщения WM_USER+2 (правая клавиша) мяч лежит внизу.

Задание С23. Составьте программу – игра "Червячок".

Задание D23. Первый поток считывает из файла информацию с задержкой 5 сек. и выводит полученные данные в таблицу в правой половине окна.

Второй поток строит график (диаграмму) по считанным данным.

______________________________________

Задание А24. В середину главного окна зеленого цвета выведите небольшой бледно-желтый квадрат. При каждом нажатии левой клавиши мыши увеличивайте горизонтальный размер фигуры на 4 – 5 пикселов, преобразуя его во все более вытянутый прямоугольник и оставляя неизменным положение его центра. При каждом нажатии правой клавиши мыши увеличивайте вертикальный размер фигуры на 4 – 5 пикселов. Изменения размера производить до момента, когда фигура займет все окно по горизонтали.

Задание B24. Сформировать два приложения, которые открывают по одному окну. В окне 1 по щелчку левой клавиши мыши при помощи FindWindow() найти дескриптор окна 2. Выдать сообщение открыто или нет второе окно. При помощи функции SendMessage() и поля WPARAM передать свой дескриптор второму окну. Выдать сообщение об этом. В окне 2 при получении сообщения WM_USER+1 выполнить перезагрузку РС. При получении сообщения WM_USER+2 выдать сообщение об этом.

Задание C24. Составить программу "окно настройки". Меню должно содержать инструментальную панель.

Задание D24. Первый поток: Вывод списка файлов с заданным расширением.

Второй поток выводит в нижнюю половину окна цветными символами состояние клавиш Ctrl. Состояние анализируемых клавиш индицируйте, выводя на экран соответствующие надписи.
______________________________________
перейти в каталог файлов


связь с админом