TerekhovFV 4 дней назад
Родитель 6d0fd6040c
Сommit b0636ee11a

@ -0,0 +1,10 @@
import os
def read_numbers_from_file(filename):
numbers = []
with open(os.getcwd()+ '/TEMA8/' + filename, 'r') as file:
for line in file:
elements = line.strip().split()
for element in elements:
if element:
numbers.append(float(element))
return numbers

@ -0,0 +1,13 @@
def calculate_correlation(list1, list2):
n = min(len(list1), len(list2))
x = list1[:n]
y = list2[:n]
mean_x = sum(x) / n
mean_y = sum(y) / n
numerator = sum((x[i] - mean_x) * (y[i] - mean_y) for i in range(n))
denominator = (sum((x[i] - mean_x) ** 2 for i in range(n)) *
sum((y[i] - mean_y) ** 2 for i in range(n))) ** 0.5
return numerator / denominator

@ -0,0 +1,14 @@
import os
from OM1 import read_numbers_from_file
from OM2 import calculate_correlation
print(os.getcwd())
filename1 = input("Введите имя первого файла: ")
filename2 = input("Введите имя второго файла: ")
list1 = read_numbers_from_file(filename1)
list2 = read_numbers_from_file(filename2)
correlation = calculate_correlation(list1, list2)
print(f"Коэффициент корреляции: {correlation:.3f}")

@ -0,0 +1,2 @@
1 2 3 4 5
6 7 8 9 10

@ -0,0 +1,2 @@
2 4 6 8 10
12 14 16 18 20

@ -0,0 +1,8 @@
# Общее контрольное задание.
Разработайте программу, состоящую из трех модулей:
- Модуль 1 содержит функцию считывания числового списка из текстового файла с заданным именем (аргумент функции – имя файла). Элементы в файле могут располагаться по несколько на строке с разделением пробелом. Числа элементов в строках могут быть разными. Полученный список должен возвращаться в вызывающую программу.
- Модуль 2 содержит функцию расчета коэффициента корреляции по двум числовым спискам (аргументы функции – имена двух списков). Числа элементов в списках могут различаться. Значение коэффициента должно возвращаться в вызывающую программу.
- Модуль 3 запрашивает у пользователя и вводит имена двух файлов с исходными данными, дважды вызывает функцию из модуля 1 и считывает два списка из двух текстовых файлов. Затем вызывает функцию расчета коэффициента корреляции с помощью функции из модуля 2 и отображает рассчитанное значение на экране с округлением до трех цифр после точки.
Подготовьте два текстовых файла с числовыми данными и проверьте по ним работу программы.
Загрузка…
Отмена
Сохранить