diff --git a/TEMA8/test.md b/TEMA8/test.md new file mode 100644 index 0000000..0bc7005 --- /dev/null +++ b/TEMA8/test.md @@ -0,0 +1,37 @@ +# Индивидуальное контрольное задание по теме 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 +``` \ No newline at end of file