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

1.4 KiB

Индивидуальное контрольное задание по теме 7

Коваленко Дмитрий, А-01-23

Задание 1

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

Решение

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}")