форкнуто от main/python-labs
main
Родитель
cb14b4c580
Сommit
16aa920571
|
После Ширина: | Высота: | Размер: 51 KiB |
@ -0,0 +1,20 @@
|
||||
0.0
|
||||
1.1755705045849463
|
||||
1.902113032590307
|
||||
1.9021130325903073
|
||||
1.1755705045849465
|
||||
2.4492935982947064e-16
|
||||
-1.175570504584946
|
||||
-1.902113032590307
|
||||
-1.9021130325903073
|
||||
-1.1755705045849467
|
||||
-4.898587196589413e-16
|
||||
1.1755705045849445
|
||||
1.902113032590307
|
||||
1.9021130325903073
|
||||
1.1755705045849467
|
||||
7.347880794884119e-16
|
||||
-1.1755705045849456
|
||||
-1.9021130325903068
|
||||
-1.9021130325903075
|
||||
-1.175570504584947
|
||||
@ -0,0 +1,34 @@
|
||||
# Индивидуальное контрольное задание по теме 7
|
||||
|
||||
Зеленкина Катерина, А-02-23
|
||||
Вариант 1
|
||||
|
||||
## Задание
|
||||
Разработайте функцию с 5 аргументами, создающую последовательность отсчетов синусоидального сигнала с заданными параметрами: амплитуда, период, фаза, число отсчетов (аргументы функции). Сигнал должен быть записан в виде столбца в текстовый файл с заданным именем (5-й аргумент функции), а также возвращен в вызывающую программу в виде списка.
|
||||
|
||||
## Решение
|
||||
```py
|
||||
import math
|
||||
def signal(A, T, phi, N, filename):
|
||||
signal = []
|
||||
for i in range(N):
|
||||
value = A * math.sin(2 * math.pi * i / T + phi)
|
||||
signal.append(value)
|
||||
|
||||
f = open(filename, 'w')
|
||||
for val in signal:
|
||||
f.write(str(val) + '\n')
|
||||
f.close()
|
||||
return signal
|
||||
|
||||
result = signal(2.0, 10.0, 0.0, 20, "signal.txt")
|
||||
print(f"Количество отсчётов: {len(result)}")
|
||||
print(f"Значений: {result}")
|
||||
|
||||
|
||||
Количество отсчётов: 20
|
||||
Значения: [0.0, 1.1755705045849463, 1.902113032590307, 1.9021130325903073, 1.1755705045849465, 2.4492935982947064e-16, -1.175570504584946, -1.902113032590307, -1.9021130325903073, -1.1755705045849467, -4.898587196589413e-16, 1.1755705045849445, 1.902113032590307, 1.9021130325903073, 1.1755705045849467, 7.347880794884119e-16, -1.1755705045849456, -1.9021130325903068, -1.9021130325903075, -1.175570504584947]
|
||||
```
|
||||
|
||||
Содержимое файла "signal"
|
||||

|
||||
@ -0,0 +1,16 @@
|
||||
import math
|
||||
def signal(A, T, phi, N, filename):
|
||||
signal = []
|
||||
for i in range(N):
|
||||
value = A * math.sin(2 * math.pi * i / T + phi)
|
||||
signal.append(value)
|
||||
|
||||
f = open(filename, 'w')
|
||||
for val in signal:
|
||||
f.write(str(val) + '\n')
|
||||
f.close()
|
||||
return signal
|
||||
|
||||
result = signal(2.0, 10.0, 0.0, 20, "signal.txt")
|
||||
print(f"Количество отсчётов: {len(result)}")
|
||||
print(f"Значения: {result}")
|
||||
Загрузка…
Ссылка в новой задаче