diff --git a/TEMA7/sinusoid_signal.txt b/TEMA7/sinusoid_signal.txt new file mode 100644 index 0000000..9a45f60 --- /dev/null +++ b/TEMA7/sinusoid_signal.txt @@ -0,0 +1,50 @@ +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 +-9.797174393178826e-16 +1.1755705045849454 +1.9021130325903057 +1.9021130325903075 +1.1755705045849472 +1.2246467991473533e-15 +-1.1755705045849452 +-1.9021130325903068 +-1.9021130325903075 +-1.1755705045849474 +-1.4695761589768238e-15 +1.175570504584945 +1.9021130325903066 +1.9021130325903077 +1.1755705045849476 +1.7145055188062944e-15 +-1.175570504584945 +-1.9021130325903066 +-1.9021130325903077 +-1.1755705045849478 +-1.959434878635765e-15 +1.175570504584939 +1.9021130325903066 +1.9021130325903077 +1.1755705045849538 +2.204364238465236e-15 +-1.1755705045849445 +-1.9021130325903086 +-1.902113032590308 +-1.175570504584954 diff --git a/TEMA7/test.md b/TEMA7/test.md new file mode 100644 index 0000000..dd4fdf7 --- /dev/null +++ b/TEMA7/test.md @@ -0,0 +1,38 @@ +# Индивидуальное контрольное задание по теме 7 + +Коваленко Дмитрий, А-01-23 + +## Задание 1 + +Разработайте функцию с 5 аргументами, создающую последовательность отсчетов синусоидального сигнала с заданными параметрами: амплитуда, период, фаза, число отсчетов (аргументы функции). Сигнал должен быть записан в виде столбца в текстовый файл с заданным именем (5-й аргумент функции), а также возвращен в вызывающую программу в виде списка. +## Решение + +```py +import math +from os import chdir + + +chdir('/Users/vatarishin/lab_sem_5/python-labs/TEMA7') + +def sinusoid(amplitude, period, phase, num_samples, filename="sinusoid_signal.txt"): + signal_list = [] + + for i in range(num_samples): + value = amplitude * math.sin(2 * math.pi * i / period + phase) + signal_list.append(value) + with open(filename, 'w') as file: + for value in signal_list: + file.write(f"{value}\n") + + return signal_list + +A = 2.0 +T = 10 +phi = 0 +N = 50 + +signal = sinusoid(A, T, phi, N) + +print(f"Значения сигнала: {signal}") + +```