ответвлено от main/python-labs
Сравнить коммиты
6 Коммитов
914f5bc920
...
main
| Автор | SHA1 | Дата | |
|---|---|---|---|
| 2186d86136 | |||
| 0273a16f88 | |||
| 5f8f58afdd | |||
| 52c4726de8 | |||
| 85e9c6daa2 | |||
| 35322e8142 |
1
TEMA8/IKZ_output.txt
Обычный файл
1
TEMA8/IKZ_output.txt
Обычный файл
@@ -0,0 +1 @@
|
||||
x[i] | y[i]
|
||||
10
TEMA8/Mod1_IKZ.py
Обычный файл
10
TEMA8/Mod1_IKZ.py
Обычный файл
@@ -0,0 +1,10 @@
|
||||
# Mod1
|
||||
# Функция
|
||||
def preob(x, A):
|
||||
max_i=int(A*x)
|
||||
for i in range(1, max_i+1):
|
||||
if i*A<=x and x<(i+1)*A:
|
||||
return i
|
||||
elif -(i+1)*A>=x and x>(-i)*A:
|
||||
return -i
|
||||
return 0
|
||||
16
TEMA8/Mod2_IKZ.py
Обычный файл
16
TEMA8/Mod2_IKZ.py
Обычный файл
@@ -0,0 +1,16 @@
|
||||
# Mod2
|
||||
# Генерация входных данных и применение функции
|
||||
import random as rn
|
||||
from Mod1_IKZ import preob
|
||||
x=[]
|
||||
for i in range(100):
|
||||
x.append(rn.triangular(-5,25))
|
||||
y=[]
|
||||
for i in range(len(x)):
|
||||
y.append(preob(x[i],1))
|
||||
filename=input('Введите имя файла:')
|
||||
file=open(filename,'w')
|
||||
for i in range(len(x)):
|
||||
s=str(x[i])+' '+str(y[i]) + '\n'
|
||||
file.write(s)
|
||||
file.close()
|
||||
47
TEMA8/test.md
Обычный файл
47
TEMA8/test.md
Обычный файл
@@ -0,0 +1,47 @@
|
||||
# Индивидуальное контрольное задание по Теме 8
|
||||
Таболин Иван, А-01-23
|
||||
Вариант 7
|
||||
## Задание
|
||||
По указанному преподавателем варианту контрольного задания
|
||||
обратитесь к индивидуальному заданию с таким номером в теме 7,
|
||||
разработайте функцию, на ее основе создайте модуль.
|
||||
Создайте второй модуль, в котором должны быть инструкции для ввода/создания
|
||||
исходных данных для проверки работы функции, вызов функции и отображение полученных результатов.
|
||||
|
||||
Вариант 7 из ИКЗ по Теме 7
|
||||
|
||||
Разработайте функцию с 2 параметрами: х и А, реализующую преобразование входного сигнала x по формуле: y=i, если i*A<=x<(i+1)*A, y=-i, если -(i+1)*A>=x>-i*A, где i принимает значения от 1 до А*х. Если не выполнится ни одно из неравенств ни при каком i, то y=0. Создайте список со 100 значениями входного сигнала х – случайными, треугольно (triangular) распределенными числами в диапазоне значений от -5 до 25. Для элементов списка с помощью функции рассчитайте список со значениями выходного сигнала y при А=1. Записать результаты в текстовый файл в виде двух столбцов: хi, yi.
|
||||
## Решение
|
||||
Модуль 1
|
||||
```py
|
||||
# Mod1
|
||||
# Функция
|
||||
def preob(x, A):
|
||||
max_i=int(A*x)
|
||||
for i in range(1, max_i+1):
|
||||
if i*A<=x and x<(i+1)*A:
|
||||
return i
|
||||
elif -(i+1)*A>=x and x>(-i)*A:
|
||||
return -i
|
||||
return 0
|
||||
```
|
||||
Модуль 2
|
||||
```py
|
||||
# Mod2
|
||||
# Генерация входных данных и применение функции
|
||||
import random as rn
|
||||
from Mod1_IKZ import preob
|
||||
x=[]
|
||||
for i in range(100):
|
||||
x.append(rn.triangular(-5,25))
|
||||
y=[]
|
||||
for i in range(len(x)):
|
||||
y.append(preob(x[i],1))
|
||||
filename=input('Введите имя файла:')
|
||||
file=open(filename,'w')
|
||||
file.write('x[i] y[i]')
|
||||
for i in range(len(x)):
|
||||
s=str(x[i])+' '+str(y[i]) + '\n'
|
||||
file.write(s)
|
||||
file.close()
|
||||
```
|
||||
100
TEMA8/test_out.txt
Обычный файл
100
TEMA8/test_out.txt
Обычный файл
@@ -0,0 +1,100 @@
|
||||
19.83763113980755 19
|
||||
16.683519633109245 16
|
||||
9.613937932157592 9
|
||||
4.963017908969933 4
|
||||
9.660130026497008 9
|
||||
4.192677427076193 4
|
||||
2.8042897405957676 2
|
||||
7.004180515732655 7
|
||||
13.593516894395366 13
|
||||
10.38778089627398 10
|
||||
23.524552246854263 23
|
||||
10.408378867939485 10
|
||||
12.11908886265757 12
|
||||
13.722587336888672 13
|
||||
9.599035410843936 9
|
||||
16.182722607179095 16
|
||||
15.960737898669425 15
|
||||
20.453332281292724 20
|
||||
9.351758251975712 9
|
||||
4.715296915378227 4
|
||||
21.713766919024486 21
|
||||
0.5766163127695902 0
|
||||
8.764382760761023 8
|
||||
7.023206736247321 7
|
||||
10.380398342708045 10
|
||||
14.71079199542745 14
|
||||
9.327675742027745 9
|
||||
6.379809079109103 6
|
||||
6.478312277893931 6
|
||||
0.9453591189849897 0
|
||||
17.810398025399493 17
|
||||
9.500089559677443 9
|
||||
10.206335274636286 10
|
||||
13.119123320799352 13
|
||||
12.152291629686335 12
|
||||
17.672173423083027 17
|
||||
-1.3318207939976006 0
|
||||
16.201396905672105 16
|
||||
6.813514064477367 6
|
||||
9.386637502670942 9
|
||||
6.829696632809032 6
|
||||
-2.358188970070025 0
|
||||
-1.8953657622144822 0
|
||||
12.163997113559677 12
|
||||
16.246743920828237 16
|
||||
18.082861735802094 18
|
||||
8.161677718632582 8
|
||||
13.096553199692709 13
|
||||
3.4793080092423683 3
|
||||
14.410061733084142 14
|
||||
2.8415355967140616 2
|
||||
7.827245427286652 7
|
||||
-0.2683352964665069 0
|
||||
2.5318198114412107 2
|
||||
14.741462609540093 14
|
||||
9.309479183851334 9
|
||||
8.719026442686971 8
|
||||
15.097020825961328 15
|
||||
20.836394245081628 20
|
||||
9.664289544985778 9
|
||||
0.8788652718512342 0
|
||||
12.801681925869698 12
|
||||
9.221793961478204 9
|
||||
7.473865176092325 7
|
||||
8.93244222349147 8
|
||||
21.276485422746923 21
|
||||
0.9186139053532276 0
|
||||
15.614780434508106 15
|
||||
23.72548157518309 23
|
||||
2.286817323138184 2
|
||||
9.39166993120276 9
|
||||
17.54026543856295 17
|
||||
15.96232105645722 15
|
||||
17.402341242065198 17
|
||||
8.064826473440498 8
|
||||
13.969534898590881 13
|
||||
2.7987177875076386 2
|
||||
11.604604823060031 11
|
||||
11.307488847855737 11
|
||||
11.683304043759009 11
|
||||
9.924038399834346 9
|
||||
10.638645358046208 10
|
||||
6.594015975799261 6
|
||||
0.02987019195388818 0
|
||||
2.9540472170256677 2
|
||||
4.273258511639778 4
|
||||
14.616967538004785 14
|
||||
13.722438873502576 13
|
||||
19.81038211300028 19
|
||||
7.99574094616143 7
|
||||
4.330799633595037 4
|
||||
19.54150269676732 19
|
||||
8.165940914694414 8
|
||||
14.33141467468756 14
|
||||
22.697364809616474 22
|
||||
14.472567937917809 14
|
||||
4.509353418534642 4
|
||||
12.138577182051138 12
|
||||
5.911408597590821 5
|
||||
3.303353684790464 3
|
||||
11
TEMA9/Mod0.py
Обычный файл
11
TEMA9/Mod0.py
Обычный файл
@@ -0,0 +1,11 @@
|
||||
# Модуль 0
|
||||
import Mod2
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
sps1, sps2 = Mod2.read_file()
|
||||
plt.plot(sps1)
|
||||
plt.title('График sps1')
|
||||
plt.grid(True)
|
||||
plt.show()
|
||||
|
||||
|
||||
38
TEMA9/Mod1.py
Обычный файл
38
TEMA9/Mod1.py
Обычный файл
@@ -0,0 +1,38 @@
|
||||
# Модуль 1
|
||||
import math
|
||||
|
||||
def func1(t1, t2):
|
||||
"""Объединяет два кортежа и сортирует"""
|
||||
sps1 = []
|
||||
sps2 = []
|
||||
for x in t1:
|
||||
sps1.append(x)
|
||||
sps2.append(1)
|
||||
for x in t2:
|
||||
sps1.append(x)
|
||||
sps2.append(2)
|
||||
spis3 = list(zip(sps1, sps2))
|
||||
spis3.sort(key=lambda x: x[0])
|
||||
sps1_sorted = [x[0] for x in spis3]
|
||||
sps2_sorted = [x[1] for x in spis3]
|
||||
return sps1_sorted, sps2_sorted
|
||||
|
||||
def func2(spis):
|
||||
"""Вычисляет статистики списка"""
|
||||
sred = sum(spis) / len(spis)
|
||||
mini = min(spis)
|
||||
maxi = max(spis)
|
||||
spis_sorted = sorted(spis)
|
||||
n = len(spis_sorted)
|
||||
if n % 2 == 1:
|
||||
med = spis_sorted[n // 2]
|
||||
else:
|
||||
med = (spis_sorted[n // 2 - 1] + spis_sorted[n // 2]) / 2
|
||||
|
||||
if len(spis) > 1:
|
||||
kv_sum = sum((x - sred) ** 2 for x in spis)
|
||||
std = math.sqrt(kv_sum / (len(spis) - 1))
|
||||
else:
|
||||
std = 0
|
||||
|
||||
return sred, mini, maxi, med, std
|
||||
31
TEMA9/Mod2.py
Обычный файл
31
TEMA9/Mod2.py
Обычный файл
@@ -0,0 +1,31 @@
|
||||
# Модуль 2
|
||||
import pickle
|
||||
import os
|
||||
import Mod1
|
||||
|
||||
def read_file():
|
||||
while True:
|
||||
file_name = input("Введите имя файла: ")
|
||||
if os.path.exists(file_name):
|
||||
break
|
||||
print("Файл не найден! Попробуйте снова.")
|
||||
with open(file_name, 'rb') as f:
|
||||
KRT1, KRT2 = pickle.load(f)
|
||||
sps1, sps2 = Mod1.func1(KRT1, KRT2)
|
||||
print("SPS1:", sps1)
|
||||
print("SPS2:", sps2)
|
||||
sred, mini, maxi, med, std = Mod1.func2(sps1)
|
||||
print('Статистики SPS1:')
|
||||
print("Среднее:" ,sred)
|
||||
print("Минимум:", mini)
|
||||
print("Максимум:", maxi)
|
||||
print("Медиана:", med)
|
||||
print("Ст.отклонение:", std)
|
||||
with open('Res22.txt', 'w') as f:
|
||||
f.write("sps1 sps2\n")
|
||||
for i in range(len(sps1)):
|
||||
f.write(str(sps1[i]))
|
||||
f.write(' ')
|
||||
f.write(str(sps2[i]))
|
||||
f.write('\n')
|
||||
return sps1, sps2
|
||||
81
TEMA9/Res22.txt
Обычный файл
81
TEMA9/Res22.txt
Обычный файл
@@ -0,0 +1,81 @@
|
||||
sps1 sps2
|
||||
20 1
|
||||
20 2
|
||||
21 1
|
||||
21 1
|
||||
21 2
|
||||
21 2
|
||||
25 1
|
||||
25 1
|
||||
25 1
|
||||
25 1
|
||||
25 1
|
||||
25 2
|
||||
25 2
|
||||
25 2
|
||||
25 2
|
||||
25 2
|
||||
26 1
|
||||
26 1
|
||||
26 2
|
||||
26 2
|
||||
29 1
|
||||
29 2
|
||||
30 1
|
||||
30 1
|
||||
30 2
|
||||
30 2
|
||||
31 1
|
||||
31 1
|
||||
31 1
|
||||
31 1
|
||||
31 1
|
||||
31 2
|
||||
31 2
|
||||
31 2
|
||||
31 2
|
||||
31 2
|
||||
32 1
|
||||
32 1
|
||||
32 2
|
||||
32 2
|
||||
34 1
|
||||
34 1
|
||||
34 1
|
||||
34 1
|
||||
34 2
|
||||
34 2
|
||||
34 2
|
||||
34 2
|
||||
36 1
|
||||
36 2
|
||||
37 1
|
||||
37 2
|
||||
38 1
|
||||
38 1
|
||||
38 1
|
||||
38 1
|
||||
38 2
|
||||
38 2
|
||||
38 2
|
||||
38 2
|
||||
39 1
|
||||
39 2
|
||||
40 1
|
||||
40 2
|
||||
42 1
|
||||
42 1
|
||||
42 2
|
||||
42 2
|
||||
43 1
|
||||
43 1
|
||||
43 2
|
||||
43 2
|
||||
44 1
|
||||
44 1
|
||||
44 2
|
||||
44 2
|
||||
45 1
|
||||
45 1
|
||||
45 2
|
||||
45 2
|
||||
Двоичные данные
TEMA9/Ris2.png
Обычный файл
Двоичные данные
TEMA9/Ris2.png
Обычный файл
Двоичный файл не отображается.
|
После Ширина: | Высота: | Размер: 15 KiB |
Двоичные данные
TEMA9/input.bin
Обычный файл
Двоичные данные
TEMA9/input.bin
Обычный файл
Двоичный файл не отображается.
81
TEMA9/task.md
Обычный файл
81
TEMA9/task.md
Обычный файл
@@ -0,0 +1,81 @@
|
||||
# Общее контрольное задание по Теме 9
|
||||
Таболин Иван, А-01-23
|
||||
## Задание
|
||||
Создайте и запишите в модуль класс, содержащий следующие компоненты:
|
||||
- конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамиилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения;
|
||||
- метод для обеспечения операции повышения оклада сотрудника на заданное значение;
|
||||
- метод для обеспечения перевода сотрудника из одного отдела в другой;
|
||||
- метод для изменения должности сотрудника;
|
||||
- свойство, содержащее перечень (список) поощрений сотрудника.
|
||||
Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобразите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности.
|
||||
## Решение
|
||||
```py
|
||||
class Workers:
|
||||
def __init__(self,fio='',otdel='',dolznost='',oklad=0):
|
||||
self.fio=fio
|
||||
self.otdel=otdel
|
||||
self.dolznost=dolznost
|
||||
self.oklad=oklad
|
||||
self.__poos=[]
|
||||
|
||||
def pov_oklad(self,uvel):
|
||||
self.oklad+=uvel
|
||||
print('Сотрудник', self.fio, 'теперь имеет оклад', self.oklad)
|
||||
return self.oklad
|
||||
|
||||
def perevod(self,new_otdel):
|
||||
self.otdel=new_otdel
|
||||
print('Сотрудник', self.fio, 'переведен в отдел', self.otdel)
|
||||
return self.otdel
|
||||
|
||||
def new_dolznost(self,new_dolzn):
|
||||
self.dolznost=new_dolzn
|
||||
print('Сотрудник', self.fio, 'переведен на должность', self.dolznost)
|
||||
return self.dolznost
|
||||
@property
|
||||
def view_poos(self):
|
||||
print('Поощрения сотрудника', self.fio)
|
||||
print(self.__poos)
|
||||
return self.__poos
|
||||
|
||||
def add_poos(self, new_poos):
|
||||
self.__poos.append(new_poos)
|
||||
```
|
||||
Тестирование
|
||||
```py
|
||||
worker1=Workers('TabolinIA','IVTI','bakalavr_3',2400)
|
||||
worker2=Workers('BerezhkovDA','IVTI','bakalavr_3',2400)
|
||||
|
||||
print('ФИО:', worker1.fio,'\n', 'Должность:',worker1.dolznost,'\n', 'Институт:', worker1.otdel,'\n', 'Оклад (стипендия):', worker1.oklad)
|
||||
ФИО: TabolinIA
|
||||
Должность: bakalavr_3
|
||||
Институт: IVTI
|
||||
Оклад (стипендия): 2400
|
||||
|
||||
worker1.new_dolznost('bakalavr_4')
|
||||
Сотрудник TabolinIA переведен на должность bakalavr_4
|
||||
'bakalavr_4'
|
||||
print('ФИО:', worker1.fio,'\n', 'Должность:',worker1.dolznost,'\n', 'Институт:', worker1.otdel,'\n', 'Оклад (стипендия):', worker1.oklad)
|
||||
ФИО: TabolinIA
|
||||
Должность: bakalavr_4
|
||||
Институт: IVTI
|
||||
Оклад (стипендия): 2400
|
||||
|
||||
worker2.perevod('GPI')
|
||||
Сотрудник BerezhkovDA переведен в отдел GPI
|
||||
'GPI'
|
||||
worker2.pov_oklad(worker2.oklad*2)
|
||||
Сотрудник BerezhkovDA теперь имеет оклад 7200
|
||||
7200
|
||||
|
||||
print('ФИО:', worker2.fio,'\n', 'Должность:',worker2.dolznost,'\n', 'Институт:', worker2.otdel,'\n', 'Оклад (стипендия):', worker2.oklad)
|
||||
ФИО: BerezhkovDA
|
||||
Должность: bakalavr_3
|
||||
Институт: GPI
|
||||
Оклад (стипендия): 7200
|
||||
|
||||
worker1.add_poos('Благодарность 08.12.2025')
|
||||
worker1.view_poos
|
||||
Поощрения сотрудника TabolinIA
|
||||
['Благодарность 08.12.2025']
|
||||
```
|
||||
129
TEMA9/test.md
Обычный файл
129
TEMA9/test.md
Обычный файл
@@ -0,0 +1,129 @@
|
||||
# Тест по Модулю 3
|
||||
Таболин Иван, А-01-23
|
||||
Вариант 10
|
||||
## Задание
|
||||
1) Создайте модуль М1, содержащий две функции:
|
||||
- функция 1: аргументы - два кортежа с целочисленными элементами, не обязательно одинаковой длины; в функции должен быть составлены два списка: SPS1 с элементами из двух входных кортежей, причем элементы SPS1 должны быть упорядочены по возрастанию величины, а также список SPS2 с элементами, равными 1 или 2, причем значение 1 берется в том случае, если соответствующий элемент в SPS1 взят из первого кортежа, а значение 2 - если из второго;
|
||||
- функция 2: аргумент - числовой список; по этому списку в функции должны быть вычислены среднее, наименьшее и наибольшее значения, медиана и оценка стандартного отклонения,
|
||||
2) Создайте еще один модуль М2, в котором должны выполняться операции:
|
||||
- запрашивается и вводится имя бинарного файла с данными; проверяется наличие файла и при отсутствии - повторение запроса;
|
||||
- из указанного файла считываются два кортежа: KRT1 и KRT2.
|
||||
- применяется функция 1 к этим двум кортежам и отображаются полученные списки;
|
||||
- применяется функция 2 к списку SPS1 и отображаются результаты расчета;
|
||||
- в текстовый файл с именем Res22.txt записываются результаты расчета по функции 1 так, чтобы в каждой строке был один элемент из SPS1 и один элемент из SPS2, разделенные пробелом.
|
||||
3) Создайте модуль М0 - главную программу, которая вызывает М2 и отображает в виде графика полученный из функции 1 список SPS1.
|
||||
4) Подготовьте бинарный файл с двумя кортежами, содержащими, соответственно, 40 и 50 случайных целочисленных элементов из диапазона значений от 20 до 45. Проверьте работу программы с этими данными.
|
||||
## Решение
|
||||
Модуль 1
|
||||
```py
|
||||
# Модуль 1
|
||||
import math
|
||||
|
||||
def func1(t1, t2):
|
||||
"""Объединяет два кортежа и сортирует"""
|
||||
sps1 = []
|
||||
sps2 = []
|
||||
for x in t1:
|
||||
sps1.append(x)
|
||||
sps2.append(1)
|
||||
for x in t2:
|
||||
sps1.append(x)
|
||||
sps2.append(2)
|
||||
spis3 = list(zip(sps1, sps2))
|
||||
spis3.sort(key=lambda x: x[0])
|
||||
sps1_sorted = [x[0] for x in spis3]
|
||||
sps2_sorted = [x[1] for x in spis3]
|
||||
return sps1_sorted, sps2_sorted
|
||||
|
||||
def func2(spis):
|
||||
"""Вычисляет статистики списка"""
|
||||
sred = sum(spis) / len(spis)
|
||||
mini = min(spis)
|
||||
maxi = max(spis)
|
||||
spis_sorted = sorted(spis)
|
||||
n = len(spis_sorted)
|
||||
if n % 2 == 1:
|
||||
med = spis_sorted[n // 2]
|
||||
else:
|
||||
med = (spis_sorted[n // 2 - 1] + spis_sorted[n // 2]) / 2
|
||||
|
||||
if len(spis) > 1:
|
||||
kv_sum = sum((x - sred) ** 2 for x in spis)
|
||||
std = math.sqrt(kv_sum / (len(spis) - 1))
|
||||
else:
|
||||
std = 0
|
||||
|
||||
return sred, mini, maxi, med, std
|
||||
```
|
||||
Модуль 2
|
||||
```py
|
||||
# Модуль 2
|
||||
import pickle
|
||||
import os
|
||||
import Mod1
|
||||
|
||||
def read_file():
|
||||
while True:
|
||||
file_name = input("Введите имя файла: ")
|
||||
if os.path.exists(file_name):
|
||||
break
|
||||
print("Файл не найден! Попробуйте снова.")
|
||||
with open(file_name, 'rb') as f:
|
||||
KRT1, KRT2 = pickle.load(f)
|
||||
sps1, sps2 = Mod1.func1(KRT1, KRT2)
|
||||
print("SPS1:", sps1)
|
||||
print("SPS2:", sps2)
|
||||
sred, mini, maxi, med, std = Mod1.func2(sps1)
|
||||
print('Статистики SPS1:')
|
||||
print("Среднее:" ,sred)
|
||||
print("Минимум:", mini)
|
||||
print("Максимум:", maxi)
|
||||
print("Медиана:", med)
|
||||
print("Ст.отклонение:", std)
|
||||
with open('Res22.txt', 'w') as f:
|
||||
f.write("sps1 sps2\n")
|
||||
for i in range(len(sps1)):
|
||||
f.write(str(sps1[i]))
|
||||
f.write(' ')
|
||||
f.write(str(sps2[i]))
|
||||
f.write('\n')
|
||||
return sps1, sps2
|
||||
```
|
||||
Модуль 0
|
||||
```py
|
||||
# Модуль 0
|
||||
import Mod2
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
sps1, sps2 = Mod2.read_file()
|
||||
plt.plot(sps1)
|
||||
plt.title('График sps1')
|
||||
plt.grid(True)
|
||||
plt.show()
|
||||
```
|
||||
Генерация входных данных
|
||||
```py
|
||||
import pickle
|
||||
import random as rn
|
||||
krt1=tuple(rn.randint(20,45) for _ in range(40))
|
||||
krt2=tuple(rn.randint(20,45) for _ in range(50))
|
||||
file=open('input.bin','wb')
|
||||
pickle.dump((krt1,krt1),file)
|
||||
file.close()
|
||||
```
|
||||
Выполнение
|
||||
```py
|
||||
import Mod0
|
||||
Введите имя файла: input.txt
|
||||
Файл не найден! Попробуйте снова.
|
||||
Введите имя файла: input.bin
|
||||
SPS1: [20, 20, 21, 21, 21, 21, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 29, 29, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 32, 32, 32, 34, 34, 34, 34, 34, 34, 34, 34, 36, 36, 37, 37, 38, 38, 38, 38, 38, 38, 38, 38, 39, 39, 40, 40, 42, 42, 42, 42, 43, 43, 43, 43, 44, 44, 44, 44, 45, 45, 45, 45]
|
||||
SPS2: [1, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 1, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 2, 1, 2, 1, 2, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 2, 2]
|
||||
Статистики SPS1:
|
||||
Среднее: 33.375
|
||||
Минимум: 20
|
||||
Максимум: 45
|
||||
Медиана: 33.0
|
||||
Ст.отклонение: 7.171277096157519
|
||||
```
|
||||

|
||||
Ссылка в новой задаче
Block a user