Главная страница
Навигация по странице:

  • Вариант 5 Умножение матрицы на вектор, умножение матрицы на матрицу. Обработка одной строки матрицы - в порожденном потоке.Вариант 6

  • Вариант 11 Создать поток, который управляет перемещением символа. Символ движется по Х. Создать 3 символа и устроить "тараканьи" бега среди них.Вариант 12

  • Вариант 14 Параллельно вычислить 10-ю степень двойки 1 - сложением, умножением и просто возведением в степень. Вариант 15

  • Лаба по многопоточности. Лабораторная работа 23 Многопоточность. Лабораторная работа 23 Многопоточность


    Скачать 27.86 Kb.
    НазваниеЛабораторная работа 23 Многопоточность
    АнкорЛаба по многопоточности
    Дата28.04.2022
    Размер27.86 Kb.
    Формат файлаdocx
    Имя файлаЛабораторная работа 23 Многопоточность.docx
    ТипЛабораторная работа
    #502420

    Лабораторная работа №23

    «Многопоточность»

    Вариант 1

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

    Вариант 2

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

    Вариант 3

    Поиск всех простых чисел (простым называется число, которое является своим наибольшим делителем) в указанном интервале чисел, разделенном на несколько диапазонов. Обработка каждого диапазона производится в порожденном потоке. Классический алгоритм Евклида определения наибольшего общего делителя двух целых чисел (x, y) может применяться при следующих условиях:

    • оба числа x и y неотрицательные;

    • оба числа x и y отличны от нуля.

    На каждом шаге алгоритма выполняются сравнения:

    • если x == y, то ответ найден;



    • если x < y, то y заменяется значением y - x;

    • если x > y, то x заменяется значением x - y.

    Вариант 4

    Создать приложение выполняющее перемещение символа. Первый поток производит перемещение символа согласно текущих значений приращения х, у. Второй поток производит расчет текущего значения приращения х,у. У пользователя должна быть возможность менять правило расчета х,у – выбрав из выпадающего списка определенный элемент. Выпадающий список содержит элементы – “не перемещаться”, "по прямой", "sin(x)", "cos(x)".

    Вариант 5

    Умножение матрицы на вектор, умножение матрицы на матрицу. Обработка одной строки матрицы - в порожденном потоке.

    Вариант 6

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

    Вариант 7

    Противостояние нескольких команд. Каждая команда увеличивается на случайное количество бойцов и убивает случайное количество бойцов участника. Борьба каждой команды реализуется в отдельном потоке.

    Вариант 8

    Создайте приложение, в отдельном потоке вычисляющее значение w и непрерывно обновляющего его. Для расчета числа использовать следующую формулу.

    W = 1 + sin(x) – 2*cos(x) + 4*sin2(x) – 8*cos2(x) +..

    Вариант 9

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

    Вариант 10

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

    Вариант 11

    Создать поток, который управляет перемещением символа. Символ движется по Х. Создать 3 символа и устроить "тараканьи" бега среди них.

    Вариант 12

    Параллельно считать значения функций из заданного диапазона для х [a,b]: y = sin(x), y = 4*x2-2*x – 22, y = ln(x2)/x3.

    Вариант 13

    Однорукий бандит - 3 потока, генерирующие числа от 0 до 9. По нажатию клавиши потоки останавливаются и результат анализируется. При анализе использовать следующие комбинации (три одинаковых числа, два одинаковых числа, три единицы, три семерки, две единицы, имеется четверка)

    Вариант 14

    Параллельно вычислить 10-ю степень двойки 1 - сложением, умножением и просто возведением в степень.

    Вариант 15

    Создать два потока. Первый поток производит запись в файл случайных данных. Второй производит чтение данных из этого файла и вывод их на экран.

    Вариант 16

    Создать два потока. Первый ищет числа Фибоначчи (каждое последующее число равно сумме двух предыдущих чисел), второй простые числа. Результат работы каждого потока сохраняются в отдельный файл. После остановки потока – программа производит анализ файлов, выводит их на экран, а также показывает количество найденных чисел Фибоначчи и простых чисел.

    Вариант 17

    Создать игру, где будут 2-3 барана и волк. При совпадении координат волка с бараном баран исчезает. При совпадении координат баранов появляется новый баран. Все движутся хаотически

    Вариант 18

    Создать приложение вычисляющее значение функции y = 23*x2 – 33, с шагом x=0.01 из диапазона, вводимого с клавиатуры [a,b]. Первый поток производит расчет данных функции и добавляет их в конец массива данных. Второй поток извлекает из массива данных значения и производит выводит функции на экран.

    Вариант 19

    Создайте приложение, в отдельном потоке вычисляющее значение π и непрерывно обновляющего его в пользовательском интерфейсе. Для расчета числа использовать следующую формулу.



    Вариант 20

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

    Вариант 21

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

    Вариант 22

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

    Вариант 23

    Контрольная сумма. Для нескольких файлов (разного размера) требуется вычислить контрольную сумму (сумму кодов всех символов файла). Обработка каждого файла выполняется в отдельном потоке.

    Вариант 24

    Поиск указанной с клавиатуры строки в файле, содержавшим первую часть первого тома «Война и мир». Обработка одной строки в порожденном потоке.


    написать администратору сайта