From 8e76de48971c24c19d0821aff91bfc40fe711f95 Mon Sep 17 00:00:00 2001 From: MamakinYR Date: Mon, 8 Dec 2025 16:03:51 +0300 Subject: [PATCH] test:added solution --- TEMA9/M0.py | 5 ++ TEMA9/M1.py | 23 +++++++++ TEMA9/M2.py | 25 ++++++++++ TEMA9/binar1.bin | Bin 0 -> 34 bytes TEMA9/binar2.bin | Bin 0 -> 48 bytes TEMA9/t1.png | Bin 0 -> 16103 bytes TEMA9/t2.png | Bin 0 -> 16269 bytes TEMA9/test.md | 127 +++++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 180 insertions(+) create mode 100644 TEMA9/M0.py create mode 100644 TEMA9/M1.py create mode 100644 TEMA9/M2.py create mode 100644 TEMA9/binar1.bin create mode 100644 TEMA9/binar2.bin create mode 100644 TEMA9/t1.png create mode 100644 TEMA9/t2.png create mode 100644 TEMA9/test.md diff --git a/TEMA9/M0.py b/TEMA9/M0.py new file mode 100644 index 0000000..1a7fa96 --- /dev/null +++ b/TEMA9/M0.py @@ -0,0 +1,5 @@ +import M2 + +print(f'Минимальное и максимальное значения: {M2.min_and_max}') +print(f'Список средних: {M2.spis}') + diff --git a/TEMA9/M1.py b/TEMA9/M1.py new file mode 100644 index 0000000..8eeea4c --- /dev/null +++ b/TEMA9/M1.py @@ -0,0 +1,23 @@ +def min_max(vibork): + minim = 0 + maxim = 0 + for i in vibork: + if i == min(vibork): + minim = i + if i == max(vibork): + maxim = i + return (minim, maxim) + +def avg_bins(vibork, N): + sum = 0 + avg = 0 + outp = [] + for i in range(len(vibork)): + if i % N == 0: + if i != 0: + avg = sum / N + outp.append(avg) + sum = 0 + sum += vibork[i] + outp.append(sum / ((i % N) + 1)) + return outp diff --git a/TEMA9/M2.py b/TEMA9/M2.py new file mode 100644 index 0000000..eaa825a --- /dev/null +++ b/TEMA9/M2.py @@ -0,0 +1,25 @@ +import os +os.chdir(r'C:\Users\uprkt\Desktop\ПО\python-labs\TEMA9') + +while True: + filename = os.path.abspath(input(f"Введите имя файла: ")) + if os.path.isfile(filename): + break + +import pickle + +fp=open(filename, 'rb') +vib=pickle.load(fp) +fp.close() + +import M1 + +min_and_max = M1.min_max(vib) +print(f'Число элементов: {len(vib)}') +N = int(input('Введите число N')) +spis = M1.avg_bins(vib, N) + +import pylab + +pylab.plot(vib) +pylab.show() diff --git a/TEMA9/binar1.bin b/TEMA9/binar1.bin new file mode 100644 index 0000000000000000000000000000000000000000..9987ab82d2cd262ee8f30ef6a75e8d59638b3c46 GIT binary patch literal 34 kcmZo*nJUfz0kKmwycxZjyqUdOyji{3yxF}uyg5_#0AYOvtpET3 literal 0 HcmV?d00001 diff --git a/TEMA9/binar2.bin b/TEMA9/binar2.bin new file mode 100644 index 0000000000000000000000000000000000000000..916b28f2c70ea1148fcabba7a904a13df76c1ff6 GIT binary patch literal 48 qcmZo*nX1YF0kKmwyqUaNyji{3y*Yq1v$uk`1(?kWWHW)pQ}qDG+6XxS literal 0 HcmV?d00001 diff --git a/TEMA9/t1.png b/TEMA9/t1.png new file mode 100644 index 0000000000000000000000000000000000000000..b7b5a3133a8ccfbca04e1f66844be83d15d323a3 GIT binary patch literal 16103 zcmeIZXHZmI*Dbt35d{T3iU<-^R1^eMGDuJaR3u20j3TkgIS90(Vjvt*f@I0LK_o{( zL?wrABs4UVn~bz%xN~#P`=sxEtG;{x-KzV;qU`Ry_KIVUIp$a|)KnA?(6Q1X2y)=& zjqB30$JHl>!6i=4mWh25rpv``j0AICd~>#q&03{ zzpCjGGee~H&@}7aUNH8$c7ytTM4J*;_C|I>HqG@zhv?at3um_64G$i1WYUoj$D7p2 z%W4}MyXsKyRkwM57rFB~^xDLe0lDVnKP7%uw-oRSl;x?1#=H|BY;_It3VG3QdRDyp z%Cd9IzIl%;98?HWbBTJ!4myNry+ZaP2 z?it;FmodF#RP(3q4hit{x6F#bldrt{Mk<+~-{X2YQ!#hP&2zM{#h_1Vr3W{pRV97!G-c~EH8 zsemD5w|@yb-daL!Ddqbh2hls(_D$(4bmi?Z%^6lHNeyGW@0Tde>{FQ9*w`cN9P01= zf?plVdpv5wr(e|7k)oufre-p*{{X8{Tg{_g_(b_vg1!&$-i`ExwR~CVHGU~5@^$WJ zsXW~QhAxfbkKKkkLK$zRunr!`#+?Tbl0DgEd<|Y5FKMihOW5p2sDw~pez|b<*aTwvR0=~qP-LrbW??bauE?qN@L|Pl<+4$^{w}0u zj=fockiINf=+bykV|k`ut#x4F4!(|!T{ZJb(l(=h!S*H7FP3uyl`n&W@UiX#85Z$A z+9yvkm3PCg+UR2J3$gy($%)F;g-x#)6Qma;C?IVVp9s&%KO$mO;?Nh4trn;90 z)2SQng%@_c@jl$`%kKRY|V*qN)mueN&U1y9fOx=)SP>kHX_6VWKf9L&j(3++l& zaV^)cvqFI};o7u}V@H3BEhTq2wQB17S+5W7-cJKAE>c8LD0OJB>UH_rj~~8%FQfEL z!xKqKa=6NY89RE5t0`^9B(X&E;CI!<}5InT6k*4?!Yz;+B<_kD;wyA zuLv8mc&kLN#pN~&jg5Icr4d}Dxb3t)a5P6IUD3kgyOw6^#Jovmo4_5>GhM~yd@)=o zP>WfdF|$j#(4SshO|&9^E@6$jEOyf|A3tq(VEhpZ-Ywr|lb*6lb17q%$D-DXiBVJS z$A_6%*(}{LVyfsH=3hxSOC&UmWosEZzO&Y(Z&%v<1E1t01@l953Z35q9v;5#f_R%Q z8J+3Nlrzd0>qXLO;p{{A+%YA4clxLx8GOX@$C8k(80j))S9eiY`tja#r=P#Z;dT~i zJMV;Pd|YI7%HvR{dWC1!Ke5*h`-*ajw(lRKQKm*!p=wxK568m09J#hQmha`N7D{e- z(nn(GcbB0)p~INgRhxKDp=v7-9>>briodmJ zStLfi!POv>?>TIRrpvVHKG3ZQqtnYUyx_64MV4Y+AM#=fE7KC?x&3C(nGB^yJ-6a# zJl9}>YpyQ7YFrwrxX|4C!=7xHgP96@6x&=SBSwq%J>W;)pc%C8n_Ls<$vN4hP`$0C zM00u3m2Ic>W2>pT{W*@DwrV%u=^waXOCgg^8xk%MW(g*T(I5C;z@=-3v^IBeV;CdX z)>g{AGW-%t%V}fKP>zk)D;ChHQ}6sZW%>T`u3bwF(Y<6*onn&_di2>XvBk}X-C!SfGr+} zc3ywVv~{0z_}suSH`5H9h0LEJ=804E^4zT;8ZWa)9y3k3$X+ z>?orV#@3DDe5ox>O zdf=8CZX<0&)<1llTq-G%=@n_pI9Y-O`xIAfZ>>j3`;@6`Xf$)w1P1PxT56NC{*m{7 z7NV1&Z%gDQQz7fFbd5r$6T=YI@-PVY&1T+axQtnbBdRy#=PH-uL~MIqRJITBB6{3GBV%Jc5)x&9l+z$$J|pYB zp*G3}75@s~KEYDVwe<^qrM%duPoL85-z>p+ z|MSFVsXZ;F`fZM4iAOLy)%fV>JNm1w(W0v2;^O9WgQQRXl%-BpULm2Sn62X%PVPc@ z zNRZq6`jb69#Hc|Bly&Sqh9LF@HjVeBuJFn!(%;hL6S~n#9Jo__M)*TH-^xjJ+l%l* zKnN2knkYQe*Yvg6(BBeXm3-7S6Ci2h2zqjkvwxM!crAGOqtke`LX{lO^1j{VQI6WL z%wZ@bVU?=}-kS0+I923z^?x(1jb(RLN_*y3OhbDD07RwL2Ns@=S@%BDQyFsnS~ zJL!RN7Q2-@#$hk|dM(Sjg=BPr=w|i5NqI@fNO-j= zF`4>g586J8*J|HxeeaLTb9l40+{d1(5}5V=y#Jdc%=*o<1dfdI9~HJ);}xD(kmllC${o`;o(k5+l~RGZojp;0-8Vr(4RW zjC##>2CV_S-1fQI8Rg~b5Xy>wo>wkhvopd+ZXD;^^16g_2InqQ=5SUSie5!`ZXDz? z_FzN@$TU*dwCQ!YfoFfmIup#K!92kJ~>MnSDeUkXkc(5l%6dhf4LPAN?G$lHss1r;xZ+ z%Su?qOiuRPZ*rk7x&?QE(DAdv*2BhsIaarv>-jfFhl6;|yJy`A+UqP?tQ1A~ zST3AUi;|(>2s9-4i>Rc^0c)=jr5YkEw-H zbtH-2T7oopMSs)m91YTs*K^yx zw)**#kH_5`2qbXfo7&}j+My3WTH2}RUCx|2;{{-h;(5WA_FV%58x9$#QUk3YClQhX z`!@kXUBTt0W&&4g6<5aVFN5I;UoSFvW1r4F@r#!6t5S&(d+$A4I-bq>CNwnBarldt zl`$~zU&JCnRYAFcUoV+B{z#WuR#w|qVijDZQ8`S?&wa9w=rJ5bci;eCk<-V85F*}5 zXJTLw^3YmToV{liBNu|9CeV0BI*x4hP8 zinWUE3@Nk3zFBPq8J~>K3264M=2|_Id6YHT!d|s)=4KF_`g!YMMyy?N-|m|7xhnln zpMtjssSxR;?Eai;-+V2NhzE_mO-GDnZfOLZ%`%H6L*G248n`(yOXc3ncEAE4AEidb z6ltAQtw#d)=k$9vb;;#gCZ^e2;pPu2RMnI^JVd5@3evDz@ zQa=*8Z~Lfro3lDQSJXacS*2!v4Cpa${YsRrW1{EXcPZV>bYSa0aBu8xS(>=(V^vWq zT%is;uhp;Uraj-_J@V%-m&R&a{vzx1p6J==?s3jmtFuVvb#8^YvTRH=2q7N9wUK0D zYj04aheJzR-(403|BA%R_1B+Fq-?z?dykTJ>J2*dd#0C--zojv$0@Ub&9VK-&(1R5 zM7bYK+6p^*g54xTj##b)3gz^T12*Scy>FN5;{mQNpvHm@P~Ycmsj=yp`T6RS+xf5G zdwI$x=3?}_XN!<(1z@{B64O5#_-%RktNZ=1B{xRblkuN!W^x|3gEb#SN0`}PRJY11 zBBdP7Fn0cgEUT{}Z_xCB-lxEak9g30NHfE8(wmazIi-15J+~JxNBLgULMD_26K$!2 zQ97;p;?0>+VA~Rv)n2%a@{j2$H~l5D?1Z?C6EabN3bUJff8~IZa%Z^Qs`&^e$eXjG zs_-%OE`S$@(=fh-4p3W~jS6&B1@5LLsuz>5KYgcFoy&)T*iEv8IhIX1caFbP<5#zp z-I}z9JI1hYdO6Ebs%e&hG@t|E>Ho5e|A4A;XHgx^ht!IYC7Z0j5gMz51^^zH5lPcg zj-YkR%9o8OLfhrexO@IW0os8T?ZCAWrZDmg (ZsSDkOIY|+;E+X#B2+0tp7yGKn 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 OkkSLS`vrGRU;YnWWF*@F literal 0 HcmV?d00001 diff --git a/TEMA9/test.md b/TEMA9/test.md new file mode 100644 index 0000000..f636b8b --- /dev/null +++ b/TEMA9/test.md @@ -0,0 +1,127 @@ +# Тест по модулю 3 + +Мамакин Ярослав, А-02-23 + +## Задание + +M3_27 +1) Создайте модуль М1, содержащий 2 функции: + +- функция 1: аргумент - список или кортеж с выборкой; определение по списку или кортежу номеров элементов с наименьшим и наибольшим значениями; + +- функция 2: аргументы - список или кортеж с выборкой и целочисленный параметр N; функция должна разделить выборку на непересекающиеся группы, содержащие по заданному числу N элементов с последовательными индексами (в последней группе число элементов может быть меньше N), и расчет по группам среднего значения их элементов; значения средних возвращаются в вызывающую программу в виде списка; + +2) Создайте еще один модуль М2, в котором должны выполняться следующие операции: + +- запрашивается имя бинарного файла с выборкой, проверяется его наличие и при отсутствии - повторяется запрос; + +- выборка вводится из файла; + +- с помощью функции 1 производится определение номеров наименьшего и наибольшего элементов; + +- отображается число элементов в считанной последовательности и запрашивается у пользователя число элементов N для формирования групп; + +- с помощью функции 2 рассчитывается список со средними значениями по группам ; + +- на графике отображается исходная выборка. + +3) Создайте модуль М0 - главную программу, которая вызывает М2 и отображает результаты расчета на экране. + +4) Проведите расчеты при 2-х разных исходных файлах. + +## Решение + +```py +def min_max(vibork): + minim = 0 + maxim = 0 + for i in vibork: + if i == min(vibork): + minim = i + if i == max(vibork): + maxim = i + return (minim, maxim) + +def avg_bins(vibork, N): + sum = 0 + avg = 0 + outp = [] + for i in range(len(vibork)): + if i % N == 0: + if i != 0: + avg = sum / N + outp.append(avg) + sum = 0 + sum += vibork[i] + outp.append(sum / ((i % N) + 1)) + return outp +``` + + +```py +import os +os.chdir(r'C:\Users\uprkt\Desktop\ПО\python-labs\TEMA9') + +while True: + filename = os.path.abspath(input(f"Введите имя файла: ")) + if os.path.isfile(filename): + break + +import pickle + +fp=open(filename, 'rb') +vib=pickle.load(fp) +fp.close() + +import M1 + +min_and_max = M1.min_max(vib) +print(f'Число элементов: {len(vib)}') +N = int(input('Введите число N')) +spis = M1.avg_bins(vib, N) + +import pylab + +pylab.plot(vib) +pylab.show() +``` + + +```py +import M2 + +print(f'Минимальное и максимальное значения: {M2.min_and_max}') +print(f'Список средних: {spis}') +``` + + +```py +import M0 +Введите имя файла: binar1.bin +Число элементов: 9 +Введите число N3 +Минимальное и максимальное значения: (1, 9) +Список средних: [2.0, 5.0, 8.0] +import M0 +Введите имя файла: binar2.bin +Число элементов: 16 +Введите число N4 +Минимальное и максимальное значения: (2, 56) +Список средних: [4.5, 11.75, 19.0, 4.25] +``` + +![12](t1.png) +![23](t2.png) + + + + + + + + + + + + +