diff --git a/TEMA8/test b/TEMA8/test new file mode 100644 index 0000000..e69de29 diff --git a/TEMA8/test.md b/TEMA8/test.md new file mode 100644 index 0000000..c5249a6 --- /dev/null +++ b/TEMA8/test.md @@ -0,0 +1,44 @@ +# Индивидуальное контрольное задание по ТЕМЕ №8 +Степанищев Виктор, А-03-23 + +## Задание +``` +#2 (из ЛР№7) +Разработайте функцию с 4 аргументами, создающую последовательность отсчетов случайного, нормально распределенного сигнала типа белого шума с заданными параметрами: математическое ожидание и дисперсия, число отсчетов (аргументы функции). Сигнал должен быть записан построчно, по 3 элемента в строке с разделителем - пробел в текстовый файл с заданным именем (4-й аргумент функции), а также возвращен в вызывающую программу в виде списка. + +Дополнительно: раскидать ввод параметров в один .py файл, выполнение функции в другой .py файл +``` + +## Решение + +### Файл input_data.py +```py +filename = input('Enter filename: ') +mean = float(input('Enter mean: ')) +dispersia = float(input('Enter dispersia: ')) +count = int(input('Enter count: ')) +``` + +### Файл file_with_func.py +```py +from random import gauss +import math + +def func(mean, dispersia, count): + otklonenye = math.sqrt(dispersia) + samples = [gauss(mean, otklonenye) for i in range(count)] + + return samples +``` + +### Файл test.py +```py +from input_data import * +from file_with_func import func + +samples = func(mean, dispersia, count) + +with open(filename, 'w') as f: + for i in range(0, count, 3): + f.write(''.join(f"{' '.join(map(lambda x: str(x), samples[i:i+3]))}\n")) +``` \ No newline at end of file