Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Met_ukaz_lab_SPO.DOC
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
270 Кб
Скачать
☆

4.4. Задание на лабораторную работу

Номер варианта

Задание

1

2

1

Написать программу, порождающую четыре потока, каждому из которых выделяется четвертая часть окна приложения. Первый поток выводит в свою область возрастающую числовую последовательность 0,1,2,…, второй – последовательность чисел Фибоначчи. Третий поток заполняет свой участок окна прямоугольниками случайного размера и цвета, четвертый поток фиксирует в трех переменных и выводит их в своей области окна число запусков каждого из предыдущих трех потоков.

2

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

3

В программе создать два потока. Назначение одного из них – периодическое чтение системного времени и заполнение глобальной структуры (часы, минуты, секунды), второго – вывод данной структуры на экран. При помощи критического раздела организовать раздельный доступ потоков к структуре данных.

4

Написать программу, содержащую два потока. Каждому потоку выделить половину окна приложения. Первый поток вводит группы символы, соответсвующие нажатым клавишам. Группа заканчивается нажатием ENTER. Второй поток выводит эти же группы символы после их упорядочевания. Работа потоков заканчивается по нажатию ESC.

5

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

6

Создать многопоточную программу. Первый поток запрашивает и вводит имя файла, открывает его, размещает в массиве и закрывает. Второй подсчитывает статистику файла: количество строк, слов, символов. Третий поток выводит статистику. Заканчивается работа потоков по клавише ESC.

7

Написать программу, которая позволяет запускать процессы, используя для этого выбранные на диске файлы. Пользователь может задавать имя запускаемого файла и командную строку. Программа следит за всеми запущенными ею процессами и выводит по требованию пользователя следующую информацию: имя процесса, значение указателя и идентификатора процесса, время выполнения процесса.

8

Написать программу, которая читает с диска *.bmp файл и выводит его в окно приложения. При помощи потока организовать поворот изображения на 90 градусов. Операцию можно прервать при помощи диалогового окна, возникающего на время выполнения операции.

9

Написать программу, которая по нажатию мыши создает потоки: по нажатию правой клавиши – поток, производящий вывод возрастающего ряда в позицию курсора, левой – поток с убывающим рядом. Поток выгружается из памяти по окончанию счета. Число потоков ограничивается пользователем через контекстное меню и находится в диапазоне [0, 40].

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]