Варианты заданий к лабораторной работе №3

 

Вариант №1

    Разработать программу, которая вычисляет сумму и произведение чисел от L до U, где L – это нижняя граница диапазона, U – верхняя граница диапазона. Вычисление суммы и произведения оформить как две функции потока. Значения границ диапазон вводятся пользователем, затем запускаются два требуемых потока (первый с приоритетом THREAD_PRIORITY_HIGHEST, другой – THREAD_PRIORITY_IDLE), а потом на экран выводится полученные значения, а также значения времени работы обоих потоков.

 

Вариант №2

    Разработать программу, которая вычисляет число Фибоначчи по номеру, введенному пользователю, и формуле Fi = Fi –1 + Fi –2, F 0 = F 1 = 1. Вычисление числа Фибоначчи оформить как функцию потока. По завершению функции потока программа выводит число на экран. Запустить программу два раза: первый раз с приоритетом потока THREAD_PRIORITY_TIME_CRITICAL, второй – THREAD_PRIORITY_NORMAL, и вывести на экран значения времени работы потока.

 

Вариант №3

    Разработать программу для перевода целого числа со знаком в его строковый эквивалент прописью. Перевод числа оформить как функцию потока. Ввод числа происходит до запуска потока, а вывод строки – по его завершению. Например, ввод «-1211» должен приводить к выводу «минус тысяча двести одиннадцать». Запустить программу два раза: первый раз с приоритетом потока THREAD_PRIORITY_ABOVE_NORMAL, второй – THREAD_PRIORITY_LOWEST, и вывести на экран значения времени работы потока.

 

Вариант №4

    Разработать программу для перевода знакового числа с плавающей точкой в его строковый эквивалент прописью. Перевод числа оформить как функцию потока. Ввод числа происходит до запуска потока, а вывод строки – по его завершению. Например, ввод «-12.11» должен приводить к выводу «минус двенадцать целых одиннадцать сотых». Запустить программу два раза: первый раз с приоритетом потока THREAD_PRIORITY_ABOVE_NORMAL, второй – THREAD_PRIORITY_HIGHEST, и вывести на экран значения времени работы потока.

Вариант №5

    Разработать программу, осуществляющую ввод двух строк, введенных пользователем. Далее, если обе строки хранят целые числа со знаком, то на экран выводится сумма чисел, в противном случае – конкатенация двух введенных строк. Проверку на соответствие строки целому числу, вычисление суммы чисел и конкатенации строк оформить как три разных функции
потока (с приоритетами, соответственно, THREAD_PRIORITY_ABOVE_NORMAL, HREAD_PRIORITY_LOWEST и THREAD_PRIORITY_IDLE). Ввод строк осуществляется до запуска всех потоков, а вывод результатов – после их завершения. Также выводятся значения времени работы каждого потока.

 

Вариант №6

    Разработать программу, вычисляющую сумму и произведение двух матриц. Выполнение этих операций оформить как две функции потока. Сначала программа осуществляет ввод элементов матриц, далее запускает оба потока с приоритетами THREAD_PRIORITY_IDLE и THREAD_PRIORITY_TIME_CRITICAL, а затем выводит на экран результаты, а также значения времени работы каждого потока.

 

Вариант №7

    Разработать программу для упорядочивания одномерного целочисленного массива. Сортировка массива по возрастанию должна осуществляться любым из так называемых «улучшенных алгоритмов» сортировки и оформляется как функция потока. Сначала выполняется ввод элементов матрицы, затем запускается поток и далее – вывод упорядоченного массива. Запустить программу два раза: первый раз с приоритетом потока THREAD_PRIORITY_ABOVE_NORMAL, второй – THREAD_PRIORITY_LOWEST, и вывести на экран значения времени работы потока.

 

Вариант №8

    Разработать программу для упорядочивания одномерного массива чисел с плавающей точкой. Сортировка массива по возрастанию должна осуществляться любым из так называемых «улучшенных алгоритмов» сортировки и оформляется как функция потока. Сначала выполняется ввод элементов матрицы, затем запускается поток и далее – вывод упорядоченного массива. Запустить программу два раза: первый раз с приоритетом потока THREAD_PRIORITY_ABOVE_NORMAL, второй – THREAD_PRIORITY_HIGHEST, и вывести на экран значения времени работы потока.

 

Вариант №9

    Разработать программу для упорядочивания одномерного массива строк. Сортировка массива по возрастанию должна осуществляться любым из так называемых «улучшенных алгоритмов» сортировки и оформляется как функция потока. Сначала выполняется ввод элементов матрицы, затем запускается поток и далее – вывод упорядоченного массива. Запустить программу два раза: первый раз с приоритетом потока THREAD_PRIORITY_BELOW_NORMAL, второй – THREAD_PRIORITY_ABOVE_NORMAL, и вывести на экран значения времени работы потока.

Вариант №10

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

 

Вариант №11

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

 

Вариант №12

    Разработать программу для вычисления полного количества дней, прошедших между двумя датами. Даты – это строки вида ЦЦ.ЦЦ.ЦЦЦЦ, где Ц – это любая цифра из диапазона [0-9]. Вычисление разницы между датами оформляется как функция потока. Сначала осуществляется ввод дат, затем запускается поток, и далее – результат выводится на экран. Запустить программу два раза: первый раз с приоритетом потока THREAD_PRIORITY_BELOW_NORMAL, второй – THREAD_PRIORITY_ABOVE_NORMAL, и вывести на экран значения времени работы потока.

 

 

Вариант №13

    Разработать программу для вычисления полного количества секунд, прошедших между двумя значениями времени. Значение времени – это строки вида ЦЦ.ЦЦ.ЦЦ, где Ц – это любая цифра из диапазона [0-9]. Вычисление разницы между временами оформляется как функция потока. Сначала осуществляется ввод значений времени, затем запускается поток, и далее – результат выводится на экран. Запустить программу два раза: первый раз с приоритетом потока THREAD_PRIORITY_NORMAL, второй – THREAD_PRIORITY_LOWEST, и вывести на экран значения времени работы потока.

 

Вариант №14

    Разработать программу для поиска вхождения подстроки в строку. Эта операция оформляется как функция потока и реализует любой из известных методов поиска подстроки, кроме прямого. Сначала осуществляется ввод двух строк, затем запускается поток, и далее выводятся результаты: значение индекса элемента первой строки, с которого началось совпадение, или -1 в противном случае. Запустить программу два раза: первый раз с приоритетом потока THREAD_PRIORITY_TIME_CRITICAL, второй – THREAD_PRIORITY_NORMAL, и вывести на экран значения времени работы потока.

 

Вариант №15

    Разработать программу для подсчета количества вхождений подстроки в строку. Эта операция оформляется как функция потока и реализует любой из известных методов поиска подстроки, кроме прямого. Сначала осуществляется ввод двух строк, затем запускается поток, и далее выводятся
результат – целое число. Запустить программу два раза: первый раз с
приоритетом потока THREAD_PRIORITY_ABOVE_NORMAL, второй – THREAD_PRIORITY_HIGHEST, и вывести на экран значения времени работы потока.

 

Вариант №16

    Разработать программу для получения строкового эквивалента даты прописью. Дата – это строка вида ЦЦ.ЦЦ.ЦЦЦЦ, где Ц – это любая цифра из диапазона [0-9]. Получение строкового эквивалента оформляется как функция потока. Сначала осуществляется ввод даты, затем запускается поток, и далее результат выводится на экран: число и месяц прописью, а за последними четырьмя – слово «года» (например, ввод «29.02.2008» приводит к выводу «Двадцать девятое февраля 2008 года»). Запустить программу два раза: первый раз с приоритетом потока THREAD_PRIORITY_TIME_CRITICAL, второй – THREAD_PRIORITY_NORMAL, и вывести на экран значения времени работы потока.

Вариант №17

    Разработать программу для получения строкового эквивалента значения времени прописью. Время – это строка вида ЦЦ.ЦЦ.ЦЦ, где Ц – это любая цифра из диапазона [0-9]. Получение строкового эквивалента оформляется как функция потока. Сначала осуществляется ввод значения времени, затем запускается поток, и далее результат выводится на экран: значение часов минут и секунд прописью (например, ввод «12.01.20» приводит к выводу «двенадцать часов одна минута двадцать секунд»). Запустить программу два раза: первый раз с приоритетом потока THREAD_PRIORITY_BELOW_NORMAL, второй – THREAD_PRIORITY_ABOVE_NORMAL, и вывести на экран значения времени работы потока.

 

Вариант №18

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

 

Вариант №19

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

 

Вариант №20

    Разработать программу, осуществляющую вычисление факториала числа. Выполнение данной операции (по формуле N! = N * (N – 1)!, где 0!= 1) оформляется как функция потока. Сначала осуществляется ввод числа, затем запускается поток, и далее результат выводится на экран. Запустить программу два раза: первый раз с приоритетом потока THREAD_PRIORITY_BELOW_NORMAL, второй – THREAD_PRIORITY_ABOVE_NORMAL, и вывести на экран значения времени работы потока.

 

Вариант №21

    Разработать программу, вычисляющую сумму крайних элементов квадратной матрицы. Выполнение данной операции оформляется как функция потока. Сначала осуществляется ввод элементов матрицы, затем запускается поток, и далее результат выводится на экран. Запустить программу два раза: первый раз с приоритетом потока THREAD_PRIORITY_ABOVE_NORMAL, второй – THREAD_PRIORITY_HIGHEST, и вывести на экран значения времени работы потока.

 

Вариант №22

    Разработать программу, осуществляющую поиск элемента по ключу в целочисленном векторе любым известным методом, кроме прямого. Выполнение данной операции оформляется как функция потока. Сначала осуществляется ввод элементов вектора и значение ключа поиска, затем запускается поток, и далее – результат выводится на экран: значение индекса найденного элемента или -1 в противном случае. Запустить программу два раза: первый раз с приоритетом потока THREAD_PRIORITY_NORMAL, второй – THREAD_PRIORITY_LOWEST, и вывести на экран значения времени работы потока.

 

Вариант №23

    Разработать программу для замены всех латинских букв в строке на их аналоги из кириллицы. Выполнение данной операции оформляется как функция потока. Сначала осуществляется ввод строки, затем запускается поток, и далее измененная строка выводится на экран. Запустить программу два раза: первый раз с приоритетом потока THREAD_PRIORITY_TIME_CRITICAL, второй – THREAD_PRIORITY_NORMAL, и вывести на экран значения времени работы потока.

 

Вариант №24

    Разработать программу для смены регистра всех символов в строке. Выполнение данной операции оформляется как функция потока. Сначала осуществляется ввод строки, затем запускается поток, и далее измененная строка выводится на экран. Запустить программу два раза: первый раз с приоритетом потока THREAD_PRIORITY_HIGHEST, второй – THREAD_PRIORITY_IDLE, и вывести на экран значения времени работы
потока.

 

Вариант №25

    Разработать программу для проверки того факта, что беззнаковое целое число является степенью двойки. Выполнение данной операции оформляется как функция потока. Сначала осуществляется ввод числа, затем запускается поток, и далее на экран выводится результат: если число является степенью двойки, то выводится показатель степени, или сообщение «не является степенью двойки» в противном случае. Запустить программу два раза: первый раз с приоритетом потока THREAD_PRIORITY_LOWEST, второй – THREAD_PRIORITY_TIME_CRITICAL, и вывести на экран значения времени работы потока.

 






Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: