форкнуто от main/python-labs
Сравнить коммиты
3 Коммитов
5852104189
...
ffc0c9f3d1
| Автор | SHA1 | Дата |
|---|---|---|
|
|
ffc0c9f3d1 | 2 месяцев назад |
|
|
a812d8ec26 | 2 месяцев назад |
|
|
2cc1b33105 | 2 месяцев назад |
@ -0,0 +1,15 @@
|
||||
from Module1_podstroka import podstroka_s, data_sets_example
|
||||
|
||||
|
||||
def main():
|
||||
print("Введите строку или возьмите из существующих примеров(снизу)...")
|
||||
print(data_sets_example())
|
||||
stroka1 = input("Ввод: ").strip()
|
||||
print(stroka1)
|
||||
stroka2 = input("Введите название файла: ").strip()
|
||||
print(stroka2)
|
||||
podstroka_s(stroka1, stroka2)
|
||||
|
||||
|
||||
|
||||
main()
|
||||
@ -0,0 +1,22 @@
|
||||
def podstroka_s(s, s2):
|
||||
s1 = s.replace('а','').replace('у','').replace('е','').replace('ы','').replace('о','').replace('ё','').replace('я','').replace('и','').replace('ю','').replace('э','')
|
||||
s1 = s1.replace('А','').replace('У','').replace('Е','').replace('Ы','').replace('О','').replace('Ё','').replace('Я','').replace('И','').replace('Ю','').replace('Э','')
|
||||
print(s1)
|
||||
f = open(s2, 'w')
|
||||
f.write(s1)
|
||||
f.close()
|
||||
f = open(s2, 'r')
|
||||
stroka = f.readlines()
|
||||
f.close()
|
||||
vivod = str(stroka).replace("'","").replace('[','').replace(']','')
|
||||
return s1
|
||||
|
||||
def data_sets_example():
|
||||
s1 = "пзукщпушпвлсы\n"
|
||||
s2 = "щйыушщоацл\n"
|
||||
s3 = "йкнышвсолсмх\n"
|
||||
return s1 + s2 + s3
|
||||
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,39 @@
|
||||
#Module0_main
|
||||
|
||||
|
||||
|
||||
from Module1_podstroka import podstroka_s, data_sets_example
|
||||
|
||||
|
||||
def main():
|
||||
print("Введите строку или возьмите из существующих примеров(снизу)...")
|
||||
print(data_sets_example())
|
||||
stroka1 = input("Ввод: ").strip()
|
||||
print(stroka1)
|
||||
stroka2 = input("Введите название файла: ").strip()
|
||||
print(stroka2)
|
||||
podstroka_s(stroka1, stroka2)
|
||||
|
||||
|
||||
|
||||
main()
|
||||
|
||||
#Module1_podstroka1
|
||||
def podstroka_s(s, s2):
|
||||
s1 = s.replace('а','').replace('у','').replace('е','').replace('ы','').replace('о','').replace('ё','').replace('я','').replace('и','').replace('ю','').replace('э','')
|
||||
s1 = s1.replace('А','').replace('У','').replace('Е','').replace('Ы','').replace('О','').replace('Ё','').replace('Я','').replace('И','').replace('Ю','').replace('Э','')
|
||||
print(s1)
|
||||
f = open(s2, 'w')
|
||||
f.write(s1)
|
||||
f.close()
|
||||
f = open(s2, 'r')
|
||||
stroka = f.readlines()
|
||||
f.close()
|
||||
vivod = str(stroka).replace("'","").replace('[','').replace(']','')
|
||||
return s1
|
||||
|
||||
def data_sets_example():
|
||||
s1 = "пзукщпушпвлсы\n"
|
||||
s2 = "щйыушщоацл\n"
|
||||
s3 = "йкнышвсолсмх\n"
|
||||
return s1 + s2 + s3
|
||||
@ -0,0 +1,26 @@
|
||||
# M0.py
|
||||
import M2 # Импортируем модуль M2
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
def plot_results():
|
||||
"""
|
||||
Вызывает M2, считывает результаты из файла и отображает их в виде графика.
|
||||
"""
|
||||
M2.run_analysis() # Запускаем анализ из модуля M2
|
||||
|
||||
try:
|
||||
with open("Res11.bin", 'r') as f:
|
||||
SS3 = [float(line.strip()) for line in f]
|
||||
except FileNotFoundError:
|
||||
print("Ошибка: Файл Res11.bin не найден.")
|
||||
return
|
||||
|
||||
plt.plot(SS3)
|
||||
plt.xlabel("Индекс")
|
||||
plt.ylabel("Значение")
|
||||
plt.title("График списка SS3")
|
||||
plt.grid(True)
|
||||
plt.show()
|
||||
|
||||
if __name__ == "__main__":
|
||||
plot_results()
|
||||
@ -0,0 +1,26 @@
|
||||
# M1.py
|
||||
import random
|
||||
|
||||
def generate_data_file(filename, num_samples=50, mean=0, std_dev=1):
|
||||
"""Генерирует файл с нормально распределенными случайными данными."""
|
||||
import numpy as np
|
||||
data = np.random
|
||||
print(f"Файл {filename} сгенерирован.")
|
||||
|
||||
def read_signal_and_shift(filename, TAU, K):
|
||||
N = len(SPS1)
|
||||
SPS2 = [0] * (TAU - 1) + [K * SPS1[i - TAU] for i in range(TAU - 1, N)]
|
||||
|
||||
return SPS1, SPS2
|
||||
|
||||
def calculate_D(SS1, SS2, TT):
|
||||
|
||||
N = len(SS1)
|
||||
SR1 = sum(SS1) / N
|
||||
SR2 = sum(SS2) / len(SS2)
|
||||
|
||||
D = 0
|
||||
for i in range(TT, N):
|
||||
D += (SS1[i] - SR1) * (SS2[i - TT] - SR2)
|
||||
|
||||
return D
|
||||
@ -0,0 +1,39 @@
|
||||
# M2.py
|
||||
import M1 # Импортируем модуль M1
|
||||
import random
|
||||
|
||||
def run_analysis():
|
||||
|
||||
while True:
|
||||
filename = input("Введите имя текстового файла с данными: ")
|
||||
try:
|
||||
with open(filename, 'r'):
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print("Файл не найден. Повторите ввод.")
|
||||
|
||||
while True:
|
||||
try:
|
||||
TAU = int(input("Введите значение параметра TAU (>= 0): "))
|
||||
if TAU >= 0:
|
||||
break
|
||||
else:
|
||||
print("TAU должно быть >= 0.")
|
||||
except ValueError:
|
||||
print("Некорректный ввод. Введите целое число.")
|
||||
|
||||
K = random.uniform(2, 7)
|
||||
SPS1, SPS2 = M1.read_signal_and_shift(filename, TAU, K)
|
||||
|
||||
print("SPS1:", SPS1)
|
||||
print("SPS2:", SPS2)
|
||||
|
||||
SS3 = []
|
||||
for TT in range(0, TAU + 6):
|
||||
D = M1.calculate_D(SPS1, SPS2, TT)
|
||||
SS3.append(D)
|
||||
|
||||
with open("Res11.bin", 'w') as f:
|
||||
for value in SS3:
|
||||
f.write(str(value) + '\n')
|
||||
print("Результаты записаны в файл Res11.bin")
|
||||
Загрузка…
Ссылка в новой задаче