форкнуто от 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")
|
||||||
Загрузка…
Ссылка в новой задаче