SneguraDS 1 день назад
Родитель 8bc32e1d13
Сommit 2e68240b8b

@ -0,0 +1,56 @@
# Разработайте функцию с 5 аргументами, создающую отсчеты сигнала в виде
#последовательности импульсов с заданными параметрами: амплитуда,
#продолжительность импульса, период (импульс + пауза), число отсчетов
#(аргументы функции). Сигнал должен быть записан в виде столбца в текстовый файл
#с заданным именем (5-й аргумент функции), а также возвращен в вызывающую
#программу в виде списка.
```py
#Генирируем послед испульсов, возвращаем список отсчетов сигнала
def generate_pulse_signal(amplitude, pulse_duration, period, num_samples, filename):
signal = []
with open(filename, 'w') as file:
for i in range(num_samples):
# Определение позиции в периоде
position_in_period = i % period
# Генерация импульса
if position_in_period < pulse_duration:
value = amplitude
else:
value = 0
signal.append(value)
file.write(f"{value}\n")
return signal
# Пример использования
if __name__ == "__main__":
pulse_signal = generate_pulse_signal(
amplitude=5.0,
pulse_duration=3,
period=10,
num_samples=30,
filename="iz.txt"
)
print(f"Сгенерировано {len(pulse_signal)} отсчетов импульсного сигнала")
Сгенерировано 30 отсчетов импульсного сигнала
print("Первые 10 строк из файла:")
with open("iz.txt", 'r') as file:
for i, line in enumerate(file):
if i < 10:
print(f"Строка {i+1}: {line.strip()}")
else:
break
Строка 1: 5.0
Строка 2: 5.0
Строка 3: 5.0
Строка 4: 0
Строка 5: 0
Строка 6: 0
Строка 7: 0
Строка 8: 0
Строка 9: 0
Строка 10: 0
```

@ -0,0 +1,74 @@
Python 3.13.7 (tags/v3.13.7:bcee1c3, Aug 14 2025, 14:15:11) [MSC v.1944 64 bit (AMD64)] on win32
Enter "help" below or click "Help" above for more information.
def generate_pulse_signal(amplitude, pulse_duration, period, num_samples, filename):
signal = []
with open(filename, 'w') as file:
for i in range(num_samples):
# Определение позиции в периоде
position_in_period = i % period
# Генерация импульса
if position_in_period < pulse_duration:
value = amplitude
else:
value = 0
signal.append(value)
file.write(f"{value}\n")
return signal
if __name__ == "__main__":
pulse_signal = generate_pulse_signal(
amplitude=5.0,
pulse_duration=3,
... period=10,
... num_samples=30,
... filename="iz.txt"
... )
... print(f"Сгенерировано {len(pulse_signal)} отсчетов импульсного сигнала")
...
...
Сгенерировано 30 отсчетов импульсного сигнала
>>> print("Первые 10 строк из файла:")
... with open("iz.txt", 'r') as file:
... for i, line in enumerate(file):
... if i < 10:
... print(f"Строка {i+1}: {line.strip()}")
... else:
... break
...
SyntaxError: multiple statements found while compiling a single statement
>>> print("Первые 10 строк из файла:")
Первые 10 строк из файла:
>>> with open("pulse_signal.txt", 'r') as file:
... for i, line in enumerate(file):
... if i < 10:
... print(f"Строка {i+1}: {line.strip()}")
... else:
... break
...
...
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
with open("pulse_signal.txt", 'r') as file:
FileNotFoundError: [Errno 2] No such file or directory: 'pulse_signal.txt'
>>> with open("iz.txt", 'r') as file:
... for i, line in enumerate(file):
... if i < 10:
... print(f"Строка {i+1}: {line.strip()}")
... else:
... break
...
...
Строка 1: 5.0
Строка 2: 5.0
Строка 3: 5.0
Строка 4: 0
Строка 5: 0
Строка 6: 0
Строка 7: 0
Строка 8: 0
Строка 9: 0
Строка 10: 0
Загрузка…
Отмена
Сохранить