Лаб. Занятие 11. Обязательные задания.
Лаб. Занятие 11. Обязательные задания для решения в классе [3 балла]
Задание 11.0
Напишите программу, которая получает в качестве аргументов несколько имен файлов и для каждого файла вычисляет среднее арифметическое. Каждый файл должен обрабатываться в отдельном потоке. Основной поток должен по окончании обработки выводить результаты. Файлы текстовые, числа разделены пробелами. Посчитайте среднее арифметическое с помощью написанных программ для следующих файлов.
Задание 11.1
Напишите программу, которая получает в качестве аргументов 2 имени файла. В каждом файле в текстовом виде содержатся массивы одинаковой длины. Посчитайте вектор суммы и вектор разности для заданных в файлах массивов. Поиск суммы и разности должен обрабатываться в разных потоках. Основной поток по окончании обработки должен записать результаты в новые файлы. Все файлы текстовые, числа разделены пробелами. Проверьте, как работают написанные программы для следующих файлов.
Задание 11.2
Напишите программу, которая получает в качестве аргументов несколько имен файлов и для каждого файла сортирует по алфавиту отдельно четные строки текста и нечетные. Каждый файл должен обрабатываться в отдельном потоке. По окончании обработки следует выводить результаты в файлы с отсортированными четными строками и с нечетными. Файлы текстовые, строки заканчиваются символом '\n'. Проверьте работу написанных программ для следующих файлов.
Задание 11.3
Напишите программу, которая получает в качестве аргументов несколько имен файлов и для каждого файла определяющую самую длинную строку в заданном файле. Если таких строк несколько, то в качестве результата выдать первую из них. Каждый файл должен обрабатываться в отдельном потоке. По окончании обработки следует выводить результаты на стандартный поток вывода. Проверьте работу написанных программ для следующих файлов.
Задание 11.4
Напишите программу, которая получает в качестве аргументов 2 имени файла. В каждом файле в текстовом виде содержатся массивы. Необходимо найти максимум и минимум для массивов. Поиск для каждого массива должен обрабатываться в отдельном потоке. Основной поток по окончании обработки должен выдать в стандартный поток вывода найденные значения. Все файлы текстовые, числа разделены пробелами. Проверьте, как работают написанные программы для следующих файлов.
Задание 11.5
Напишите программу, которая получает в качестве аргументов несколько имен файлов и для каждого файла считает количество слов отдельно в четных строках текста и в нечетных. Каждый файл должен обрабатываться в отдельном потоке. По окончании обработки следует вывести результаты в подсчетов в стандартный поток вывода. Файлы текстовые, строки заканчиваются символом '\n'. Проверьте работу написанных программ для следующих файлов.
Задание 11.6
Напишите программу, которая получает в качестве аргументов несколько имен файлов и для каждого файла выполняет следующие действия: считывает по строкам; если длина строки >N, то строка разбивается на несколько строк так, что длина каждой из новых строк <=N. Если длина считанной исходной строки <=N, то она записывается в файл результата без изменений. Каждый файл должен обрабатываться в отдельном потоке. По окончании обработки должно получиться столько же новых файлов, сколько было аргументов. Файлы текстовые, строки заканчиваются символом '\n'. Проверьте работу написанных программ для следующих файлов.
Задание 11.7
Напишите программу, которая получает в качестве аргументов 2 имени файла. В каждом файле в текстовом виде содержатся массивы. Необходимо проанализировать, есть ли в массивах повторяющиеся элементы. Поиск для каждого массива должен обрабатываться в отдельном потоке. Основной поток по окончании обработки должен выдать в стандартный поток вывода сообщение об уникальности всех элементов массива либо о наличии повторяющихся. Все файлы текстовые, числа разделены пробелами. Проверьте, как работают написанные программы для следующих файлов.
Задание 11.8
Напишите программу, которая получает в качестве аргументов 2 имени файла. В каждом файле в текстовом виде содержатся массивы одинаковой длины. Необходимо найти скалярное произведение этих массивов. Для ускорения обработки разбейте обработку массивов на несколько потоков. Основной процесс по окончании обработки должен выдать в стандартный поток вывода значение скалярного произведения. Все файлы текстовые, числа разделены пробелами. Проверьте, как работают написанные программы для следующих файлов.
Задание 11.9
Напишите программу, которая получает в качестве аргументов несколько имен файлов и для каждого файла определяет самую короткую строку (отличную от пустой, т. е. в строке содержится по меньшей мере один символ помимо '\n') в заданном файле. Если таких строк несколько, то в качестве результата выдать первую из них. Каждый файл должен обрабатываться в отдельном потоке. По окончании обработки следует выводить результаты (самую короткую строку для каждого файла) на стандартный поток вывода. Проверьте работу написанных программ дляследующих файлов.
Задание 11.a
Напишите программу, которая получает в качестве аргументов несколько имен файлов и для каждого файла выполняет следующие действия: считывает 100 значений, интерпретируя их, как матрицу 10х10, и суммирует с предыдущими матрицами. В результате исходный файл должен конвертироваться в единственную матрицу, являющуюся суммой всех. Каждый файл должен обрабатываться в отдельном потоке. По окончании обработки следует выводить результаты (матрицу-сумму для каждого файла) на стандартный поток вывода. Проверьте работу написанных программ для следующих файлов.
Задание 11.b
Напишите программу, которая получает в качестве аргументов несколько имен файлов и для каждого файла выполняет следующие действия: считывает из файла по 100 значений, интерпретируя их, как матрицу 10х10, и находит в этой матрице диагональные элементы (главной диагонали). В результате исходный файл должен конвертироваться в матрицу, в строках которой расположены найденные диагонали исходных матриц. Каждый файл должен обрабатываться в отдельном потоке. По окончании обработки следует выводить результаты (полученную для каждого файла новую матрицу) на стандартный поток вывода. Проверьте работу написанных программ для следующих файлов.
Задание 11.c
Напишите программу, которая получает в качестве аргументов несколько имен файлов и для каждого файла выполняет следующие действия: считывает 1000 значений, и находит максимум среди них. В результате исходный файл должен конвертироваться в массив из 10-ти найденных максимумов. Каждый файл должен обрабатываться в отдельном потоке. По окончании обработки следует выводить результаты (массив максимумов для каждого файла) на стандартный поток вывода. Проверьте работу написанных программ для следующих файлов.
Задание 11.d
Напишите программу, которая получает в качестве аргументов несколько имен файлов и для каждого файла выполняет следующие действия: считывает из файла по 100 значений, и находит в этом наборе минимальное значение. В результате исходный файл должен конвертироваться в массив, содержащий 10 найденных минимумов. Каждый файл должен обрабатываться в отдельном потоке. По окончании обработки следует выводить результаты (найденный массив минимумов) на стандартный поток вывода. Проверьте работу написанных программ для следующих файлов.
Задание 11.e
Напишите программу, которая получает в качестве аргументов несколько имен файлов и для каждого файла выполняет следующие действия: считывает из файла по 100 значений, интерпретируя их, как матрицу 10х10, и находит в этой матрице диагональные элементы (главной диагонали) и обнуляет их. В результате исходный файл должен конвертироваться в новый файл, состоящий из матриц размера 10х10 с нулевыми диагональными элементами. Каждый файл должен обрабатываться в отдельном потоке. Проверьте работу написанных программ для следующих файлов.
Задание 11.f
Напишите программу, которая получает в качестве аргументов несколько имен файлов и для каждого файла определяет число строк и самую длинную строку в файле. Если строк максимальной длины несколько, то в качестве результата следует выдать последнюю из них. Каждый файл должен обрабатываться в отдельном потоке. По окончании обработки следует выводить результаты (кол-во строк и строку максимальной длины) на стандартный поток вывода. Проверьте работу написанных программ для следующих файлов.
- 17 ноября 2021, 10:06
- 17 ноября 2021, 10:06
- 17 ноября 2021, 10:06
- 17 ноября 2021, 10:06