# Индивидуальное контрольное задание по теме 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 T = 13 phi = 0 N = 30 signal = sinusoid(A, T, phi, N) print(f"Значения сигнала: {signal}") ``` ## Вывод программы: ```py Значения сигнала: [0.0, 0.929446344087537, 1.6459677317873127, 1.985417748196108, 1.8700324853708297, 1.3262453164815904, 0.47863132857511537, -0.47863132857511487, -1.32624531648159, -1.8700324853708294, -1.985417748196108, -1.645967731787314, -0.9294463440875368, 1.2864981197413093e-15, 0.9294463440875359, 1.6459677317873116, 1.9854177481961077, 1.8700324853708299, 1.3262453164815913, 0.47863132857511753, -0.47863132857511614, -1.3262453164815902, -1.870032485370828, -1.9854177481961082, -1.6459677317873123, -0.9294463440875372, 2.5729962394826186e-15, 0.9294463440875355, 1.6459677317873114, 1.985417748196108] ```