# Индивидуальное контрольное задание по теме 8 Бушманов А.С. А-01-23 ## Задание: Вариант 2 ### Из темы 7: Разработайте функцию с 4 аргументами, создающую последовательность отсчетов случайного, нормально распределенного сигнала типа белого шума с заданными параметрами: математическое ожидание и дисперсия, число отсчетов (аргументы функции). Сигнал должен быть записан построчно, по 3 элемента в строке с разделителем - пробел в текстовый файл с заданным именем (4-й аргумент функции), а также возвращен в вызывающую программу в виде списка. ### Из темы 8: По указанному преподавателем варианту контрольного задания обратитесь к индивидуальному заданию с таким номером в теме 7, разработайте функцию, на ее основе создайте модуль. Создайте второй модуль, в котором должны быть инструкции для ввода/создания исходных данных для проверки работы функции, вызов функции и отображение полученных результатов. ## Решение: #### Модуль 1: modtask1.py ```python import random import math def shum(mu, var, n, filename): sigma = math.sqrt(var) data = [] f = open(filename, "w", encoding="utf-8") for i in range(n): x = random.gauss(mu, sigma) data.append(x) if (i + 1) % 3 == 0: f.write(f"{data[i-2]} {data[i-1]} {data[i]}\n") elif i == n - 1: start = i - (i % 3) f.write(" ".join(str(v) for v in data[start:]) + "\n") f.close() return data ``` #### Модуль 2: modtask0.py ```python import modtask1 mu = float(input("Введите мат. ожидание (mu): ")) var = float(input("Введите дисперсию (var): ")) n = int(input("Введите число отсчетов (n): ")) filename = input("Введите имя файла: ").strip() s = modtask1.shum(mu, var, n, filename) print("Готово! Список получен и записан в файл.") print("Длина списка:", len(s)) print("Первые 10 значений:", s[:10]) ``` ## Ответ: ```python import modtask0 Введите мат. ожидание (mu): 3 Введите дисперсию (var): 6 Введите число отсчетов (n): 6 Введите имя файла (например noise.txt): task1 Готово! Список получен и записан в файл. Длина списка: 6 Первые 10 значений: [4.903428780465844, 0.587814428103369, 4.692004162944187, 1.7931553860723835, 5.797829782338331, 2.3303270038829353] ``` #### Файл txt: ``` 4.903428780465844 0.587814428103369 4.692004162944187 1.7931553860723835 5.797829782338331 2.3303270038829353 ```