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

Коломейцев Дмитрий, А-02-23

## Задание

#### Вариант 4.

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

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

## Решение

```py
# функция, создающая прямоугольные импульсы
def make_impulse_signal(ampl, impulse_duration, period, n, filename):
    signal = []
    for k in range(n):
        pos = k % period # чтобы позиция от 0 до 6 всегда прыгала (период 7)
        if pos < impulse_duration:
            signal.append(ampl)
        else:
            signal.append(0)

    with open(filename, 'w') as f:
        for x in signal:
            f.write(str(x) + '\n')

    return signal


s = make_impulse_signal(10, 3, 5, 53, 'signal.txt')

print(s)
```