форкнуто от main/python-labs
Родитель
f7df4fe1d6
Сommit
801535d0e2
@ -0,0 +1,50 @@
|
|||||||
|
# Индивидуальное контрольное задание по ТЕМЕ 8
|
||||||
|
|
||||||
|
Беженарь Алёна, А-02-23, Вариант 3
|
||||||
|
|
||||||
|
## Задание
|
||||||
|
По указанному преподавателем варианту контрольного задания (Вариант 3) обратитесь к индивидуальному заданию с таким номером в теме 7, разработайте функцию, на ее основе создайте модуль. Создайте второй модуль, в котором должны быть инструкции для ввода/создания исходных данных для проверки работы функции, вызов функции и отображение полученных результатов.
|
||||||
|
|
||||||
|
ИКЗ вариант 3 из ТЕМЫ 7:
|
||||||
|
|
||||||
|
Разработайте функцию с 4 аргументами, создающую последовательность отсчетов случайного, равномерно распределенного сигнала типа белого шума с заданными параметрами: границы диапазона изменения, число отсчетов (аргументы функции). Сигнал должен быть записан построчно, по 3 элемента в строке с разделителем - запятая в текстовый файл с заданным именем (4-й аргумент функции), а также возвращен в вызывающую программу в виде списка.
|
||||||
|
|
||||||
|
## Решение
|
||||||
|
Module1:
|
||||||
|
```py
|
||||||
|
import random
|
||||||
|
def generate_noise_ravn(a,b, num_points, filename):
|
||||||
|
signal=[random.uniform(a, b) for x in range(num_points)]
|
||||||
|
with open(filename, 'w') as f:
|
||||||
|
for i in range(0,num_points,3):
|
||||||
|
line=", ".join(str(value) for value in signal[i:i+3])
|
||||||
|
f.write(line+"\n")
|
||||||
|
return signal
|
||||||
|
```
|
||||||
|
Module2:
|
||||||
|
```py
|
||||||
|
import Module1
|
||||||
|
a=int(input("Введите первую границу диапазона изменения:"))
|
||||||
|
b=int(input("Введите вторую границу диапазона изменения:"))
|
||||||
|
num_points=int(input("Введите кол-во отсчетов:"))
|
||||||
|
filename=input("Введите название файла:")
|
||||||
|
res=Module1.generate_noise_ravn(a,b,num_points,filename)
|
||||||
|
print(res)
|
||||||
|
```
|
||||||
|
Проверка работоспособности программы:
|
||||||
|
```py
|
||||||
|
>>> import Module2
|
||||||
|
Введите первую границу диапазона изменения:2
|
||||||
|
Введите вторую границу диапазона изменения:7
|
||||||
|
Введите кол-во отсчетов:13
|
||||||
|
Введите название файла:test.txt
|
||||||
|
[2.663748976401978, 2.1730969387483823, 6.2049554327209115, 2.781622453317328, 5.708329598738323, 4.505261301518785, 5.5388615092149145, 6.741613211540331, 5.0460151893438105, 5.110067041138093, 4.976380480865037, 3.8912075326030413, 4.088664686582579]
|
||||||
|
```
|
||||||
|
Вывод в файле:
|
||||||
|
```py
|
||||||
|
2.663748976401978, 2.1730969387483823, 6.2049554327209115
|
||||||
|
2.781622453317328, 5.708329598738323, 4.505261301518785
|
||||||
|
5.5388615092149145, 6.741613211540331, 5.0460151893438105
|
||||||
|
5.110067041138093, 4.976380480865037, 3.8912075326030413
|
||||||
|
4.088664686582579
|
||||||
|
```
|
||||||
Загрузка…
Ссылка в новой задаче