форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
53 строки
1.7 KiB
Python
53 строки
1.7 KiB
Python
|
|
import M1
|
|
|
|
def main():
|
|
print("=== Обработка сигнала ===")
|
|
while True:
|
|
filename = input("Введите имя файла: ")
|
|
try:
|
|
file = open(filename, 'r')
|
|
file.close()
|
|
break
|
|
except:
|
|
print(f"Файл '{filename}' не найден. Попробуйте еще.")
|
|
|
|
print(f"Чтение файла {filename}...")
|
|
X = []
|
|
file = open(filename, 'r')
|
|
for line in file:
|
|
try:
|
|
X.append(float(line.strip()))
|
|
except:
|
|
pass # пропускаем строки, которые не содержат чисел
|
|
file.close()
|
|
print(f"Прочитано чисел: {len(X)}")
|
|
print(f"Первые 3 числа: {X[:3]}")
|
|
|
|
while True:
|
|
try:
|
|
T = float(input("Введите T (>0): "))
|
|
if T > 0:
|
|
break
|
|
else:
|
|
print("T должен быть больше 0")
|
|
except:
|
|
print("Введите число")
|
|
|
|
# Применяем функцию 1
|
|
X1 = M1.function_1(X, T)
|
|
print(f"\nСигнал обработан с T={T}")
|
|
print(f"Пример: X[0]={X[0]:.3f} -> X1[0]={X1[0]:.3f}")
|
|
print(f" X[1]={X[1]:.3f} -> X1[1]={X1[1]:.3f}")
|
|
|
|
# Применяем функцию 2
|
|
increases = M1.function_2(X1)
|
|
print(f" Число элементов удовлетворяющих неравенству: {increases}")
|
|
|
|
# Сохраняем в файл
|
|
with open("Res55.bin", 'w') as f:
|
|
for value in X1:
|
|
f.write(f"{value}\n")
|
|
print("Файл Res55.bin создан")
|
|
return X, X1
|