# Индивидуальное контрольное задание по теме 8 Киреев Юрий А-02-23 ## Задание По указанному преподавателем варианту контрольного задания обратитесь к индивидуальному заданию с таким номером в теме 7, разработайте функцию, на ее основе создайте модуль. Создайте второй модуль, в котором должны быть инструкции для ввода/создания исходных данных для проверки работы функции, вызов функции и отображение полученных результатов. 2 вариант 7й темы Разработайте функцию с 4 аргументами, создающую последовательность отсчетов случайного, нормально распределенного сигнала типа белого шума с заданными параметрами: математическое ожидание и дисперсия, число отсчетов (аргументы функции). Сигнал должен быть записан построчно, по 3 элемента в строке с разделителем - пробел в текстовый файл с заданным именем (4-й аргумент функции), а также возвращен в вызывающую программу в виде списка. ## Решение Модуль с функцией (modfun): ```py import random def generate_noise(mean, variance, otscheti, filename): sto = variance**(1/2) signal=[random.gauss(mean, sto) for x in range(otscheti)] with open(filename, 'w') as fp: for i in range(0,otscheti,3): line=" ".join(str(value) for value in signal[i:i+3]) fp.write(line+"\n") return signal ``` Модуль с инструкциями ввода/вывода (zapusk): ```py from modfun import generate_noise noise = generate_noise(0, 1, 5, "test.txt") print(noise) ``` Проверка: ```py import os os.chdir('C:\\Users\\u522-13\\Desktop\\ПОАС') import zapusk [-0.698871305720859, -0.7706401494821621, 0.8869359612629606, -1.7573739796230814, 0.22414109065695026] ``` Вывод в файле: ```py -0.698871305720859 -0.7706401494821621 0.8869359612629606 -1.7573739796230814 0.22414109065695026 ```