From eedbfb0c3ca60c8b90759e90a25a8c7a374cfa3e Mon Sep 17 00:00:00 2001 From: TurkhanovAK Date: Mon, 8 Dec 2025 10:39:26 +0000 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=B8?= =?UTF-8?q?=D0=BB(=D0=B0)=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20'TEM?= =?UTF-8?q?A9'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA9/d.png | Bin 0 -> 4399 bytes TEMA9/d2.png | Bin 0 -> 4338 bytes TEMA9/test.md | 318 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 318 insertions(+) create mode 100644 TEMA9/d.png create mode 100644 TEMA9/d2.png create mode 100644 TEMA9/test.md diff --git a/TEMA9/d.png b/TEMA9/d.png new file mode 100644 index 0000000000000000000000000000000000000000..e070d3851b98c3ac7ef94dfd3f3b7ecfb9fcaed8 GIT binary patch literal 4399 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 T5w6b<{#xkkm}t{3+1>sh@1l(W literal 0 HcmV?d00001 diff --git a/TEMA9/d2.png b/TEMA9/d2.png new file mode 100644 index 0000000000000000000000000000000000000000..ae4e2ff5624a648e1b2b7ba06647ffb25cc10765 GIT binary patch literal 4338 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 e{6BbqB3h8i9Lr94Km0dk&ub|F literal 0 HcmV?d00001 diff --git a/TEMA9/test.md b/TEMA9/test.md new file mode 100644 index 0000000..ffad9b8 --- /dev/null +++ b/TEMA9/test.md @@ -0,0 +1,318 @@ +\# Тест по модулю 3 + +Турханов Артем, А-03-23, Вариант 30 + +\## Задание + +1\) Создайте модуль М1, содержащий две функции: + + + +\- функция 1: аргумент - список или кортеж с выборкой наблюдений; функция должна произвести расчет по выборке оценок математического ожидания, стандартного отклонения, медианы, наименьшего и наибольшего значений и вернуть их в виде списка в вызывающую программу; + + + +\- функция 2; аргументы - список или кортеж с выборкой наблюдений и целочисленный параметр m; функция должна произвести расчет по этой выборке гистограммы распределения случайной величины с m интервалами и вернуть ее в виде списка в вызывающую программу. + + + +2\) Создайте еще один модуль М2, в котором должны выполняться следующие операции: + + + +\- запрашивается имя текстового файла с выборкой, проверяется его наличие и при отсутствии - повторяется запрос; + + + +\- выборка вводится из файла и записывается в список (в строках файла может быть разное число значений, разделенных пробелами); + + + +\- запрашивается число интервалов для гистограммы (с проверкой его принадлежности к интервалу от 2 до 10); + + + +\- с помощью функций 1 и 2 по выборке рассчитывается оценки статистических параметров случайной величины; + + + +\- гистограмма отображается на экране в виде диаграммы; + + + +\- рассчитанные значения записываются в бинарный файл Res1010.bib. + + + +3\) Создайте модуль М0 - главную программу, которая вызывает М2 и отображает результаты расчета на экране. + + + +4\) Проведите расчеты с 2 файлами с исходными данными. + +\## Решение + +Содержимое модуля M1: + +```py + +def stats(t): + +  t = list(t) + +  N = len(t) + +  m = sum(t)/N + +  s = 0 + +  for i in t: + +  s += (i - m)\*\*2 + +  std = s\*\*0.5 + +  t.sort() + +  med = 0 + +  if N%2 != 0: med = t\[N//2] + +  else: + +  med = (t\[N//2 - 1] + t\[N//2])/2 + +  return \[m,std,med,min(t),max(t)] + + + +def hist(t,m): + +  t = list(t) + +  f = False + +  N = len(t) + +  L = max(t) - min(t) + +  l = L//m + +  lg = min(t) + +  rg = min(t)+l + +  res = \[] + +  for j in range(m): + +  k = 0 + +  for i in range(N): + +  if (t\[i] >= lg) and (t\[i] < rg): + +  k+=1 + +  res.append(k) + +  lg += l + +  rg += l + +  res\[-1] = res\[-1]+1 + +  return res + +``` + + + +Содержимое модуля M2: + +```py + +import M1 + +import os + +import pickle + + + + + +fName = input('Введите имя файла: ') + +if os.path.exists(fName) == True: + +  print('Успешно! Файл найден!') + +else: + +  while os.path.exists(fName) != True: + +  print('Такой файл не найден!') + +  fName = input('Введите имя файла: ') + + + +fp = open(fName, 'r') + +data = fp.read() + +fp.close() + +ls = list(map(int, data.replace('\\n', ' ').split(' '))) + + + +m = int(input('Введите количество интервалов m (m > 2; m < 10): ')) + +if (m <= 2) or (m >= 10): + +  while (m <= 2) or (m >= 10): + +  print('Недопустимое значение!') + +  m = int(input('Введите m: ')) + + + +st = M1.stats(ls) + +hs = M1.hist(ls,m) + + + +print('Гистограмма по данным (количество \* - количество значений в интервале):') + +for i in range(m): + +  print(hs\[i]\*'\*') + + + + + +b = open('Res1010.bin', 'wb') + +pickle.dump(st, b) + +b.close() + + + +``` + + + +Содержимое модуля M0: + +```py + +import M2 + +print('Мат. ожидание: ',M2.st\[0]) + +print('Стандартное отклонение: ',M2.st\[1]) + +print('Медиана: ',M2.st\[2]) + +print('Минимальное значение: ',M2.st\[3]) + +print('Максимальное значение: ',M2.st\[4]) + + + +``` + + + +Содержимое файла data.txt: + +!\[d.png](d.png) + + + +Содержимое файла data2.txt: + +!\[d2.png](d2.png) + + + + + +Запуск модуля M0: + +```py + += RESTART: D:/!!!Download/Documents/учёба МЭИ/5 СЕМЕСТР/GIT/python-labs/TEMA9/M0.py + +Введите имя файла: data2.txt + +Успешно! Файл найден! + +Введите количество интервалов m (m > 2; m < 10): 7 + +Гистограмма по данным (количесто \* - количество значений в интервале): + +\*\*\* + +\*\*\*\* + +\*\*\*\*\*\* + +\*\* + +\*\*\*\* + +\* + +\*\*\*\* + +Мат. ожидание: 4.5 + +Стандартное отклонение: 13.228756555322953 + +Медиана: 4.0 + +Минимальное значение: 1 + +Максимальное значение: 9 + + + += RESTART: D:/!!!Download/Documents/учёба МЭИ/5 СЕМЕСТР/GIT/python-labs/TEMA9/M0.py + +Введите имя файла: data.txt + +Успешно! Файл найден! + +Введите количество интервалов m (m > 2; m < 10): 5 + +Гистограмма по данным (количесто \* - количество значений в интервале): + +\*\* + +\* + +\*\*\* + +\*\* + +\*\*\* + +Мат. ожидание: 4.266666666666667 + +Стандартное отклонение: 7.933053216343208 + +Медиана: 4 + +Минимальное значение: 1 + +Максимальное значение: 8 + +``` +