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

41 строка
1.5 KiB
Markdown

# Индивидуальное контрольное задание по теме 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)
```