Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

2.6 KiB

 # Контрольное задание по теме 8

Филиппов Даниил Юрьевич, А-01-23, Вариант - 3

 # Задание

Разработать функцию, на ее основе создать модуль. Создать второй модуль, в котором должны быть инструкции для ввода/создания исходных данных для проверки работы функции, вызов функции и отображение полученных результатов.

Разработать функцию с 4 аргументами, создающую последовательность отсчетов случайного, равномерно распределенного сигнала типа белого шума с заданными параметрами: границы диапазона изменения, число отсчетов (аргументы функции). Сигнал должен быть записан построчно, по 3 элемента в строке с разделителем - запятая в текстовый файл с заданным именем (4-й аргумент функции), а также возвращен в вызывающую программу в виде списка.

 # Решение

Содержание Mod1_Zadanie.py:


import random

def white\_noise(low, high, nums, file):

    signal = \[random.uniform(low, high) for x in range(nums)]

    with open(file, 'w') as f:

        for i in range (0, nums, 3):

            line = signal\[i:i+3]

            f.write(','.join(str(x) for x in line) + '\\n')

    return signal

Содержание Mod2_Zadanie.py:


from Mod1\_Zadanie import white\_noise

low = float(input("Нижняя граница: "))

high = float(input("Верхняя граница: "))

nums = int(input("Количество отсчётов: "))

file = input("Имя файла: ")

result = white\_noise(low, high, nums, file)

print("Файл", file, "создан")

print("Содержимое файла: ")

with open (file, 'r') as f:

     print(f.read())

Тестирование:


>>> import Mod2\_Zadanie

Нижняя граница: 0

Верхняя граница: 10

Количество отсчётов: 6

Имя файла: Zadanie.txt

Файл Zadanie.txt создан

Содержимое файла: 

9.484972022588545,5.371140819676387,1.5637191185702592

7.117651498617205,5.116922385849644,4.382290457081045