From 0cf3bf4c79f09a59c53c167cb76e45eb7d2073b2 Mon Sep 17 00:00:00 2001 From: PodolskyNK Date: Fri, 24 Oct 2025 11:42:28 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BE=D1=82=D1=87=D0=B5=D1=82=20=D0=B8=20=D0=9E=D0=9A=D0=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA4/Figure1.png | Bin 0 -> 20050 bytes TEMA4/Figure2.png | Bin 0 -> 26208 bytes TEMA4/Figure3.png | Bin 0 -> 15503 bytes TEMA4/Figure4.png | Bin 0 -> 8801 bytes TEMA4/Figure5.png | Bin 0 -> 13961 bytes TEMA4/report.md | 602 ++++++++++++++++++++++++++++++++++++++++++++++ TEMA4/task.md | 47 ++++ 7 files changed, 649 insertions(+) create mode 100644 TEMA4/Figure1.png create mode 100644 TEMA4/Figure2.png create mode 100644 TEMA4/Figure3.png create mode 100644 TEMA4/Figure4.png create mode 100644 TEMA4/Figure5.png create mode 100644 TEMA4/report.md create mode 100644 TEMA4/task.md diff --git a/TEMA4/Figure1.png b/TEMA4/Figure1.png new file mode 100644 index 0000000000000000000000000000000000000000..b3922cadf1209fc767017b6ace00afba447e05cd GIT binary patch literal 20050 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 literal 0 HcmV?d00001 diff --git a/TEMA4/Figure2.png b/TEMA4/Figure2.png new file mode 100644 index 0000000000000000000000000000000000000000..77ef418d45630707c94994e51ab7724ce638c743 GIT binary patch literal 26208 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

Mc%bI6?DjWPgYg5WV%8#PoC2e(vNP9%+>FNhC zJG6t@)$*`4DK))wYYziT063-2!y0S1=l-0GJF*!TSt@;AM5AD^-+ObRsqKDyDo>MZ zGM4Z4gLh-Dz|ui`_a}~SSQJH3Xhta}J2&}C@e_WVpJFt^uVDJn*{k3E9wGD?`wVZo zhlpJV+tm|`ecd&WkykC&`b_QE>RjMbPydKtvEo9N>cXosV0e<0&2`hQ;iHKV$yj23 zSVP9iT}4{t{X$i)yYG5TqugZr)~XVUUkp9p6de#BdDFl40iqNTN*$g#FWQO>CoAm$ zQ)O)esAdRPs?lU_yYn?=2wC^AN~Hm%3L@7kvyE++Fh!o%gVY7$=xvoe-swHPQ}qs~ zJZUex&uqsY5!qElaT1zw!qNCFQS_d}tr_7QO0^t3g}(V6oB$6F$}Ibf+Z$7xESa^wC~seaot}fnA-DR zTHcQ+(BRO%M=rR}Ra2#DBV`St%i3@BdFFU1>%LHuITPNMv%PW1l4fVabXzRZdE-c-~)+_-K4U^zJmYnAs!HY`oTy|K_lOJ z{703pnDy^FmU8W$b5hUEyByThYL6AYQ!bso@X~2URAtf|(OI(&dQ(;Zj27$>o%iJ$ zB8T~w9}k+#Li56OO#569G=Me>Xt)M6v`Y*vG}nQ+qrb*aH}jVUt&zS{gsw>OB-MYT9URLZd$9g$^b%`-6b!x?OA2m?^y-U}yQ zsQ1W(rp&d2idoI7kaWVSRZqyM_cu+3O>Dd}G&z~z{iVlc+z|z<3r!M7*>l6z`yxU6 zc-lN0s{Uy>=?+;s7?~0))#qdLI)aSsDL)H~ZPLUM{u4y}Mc=+6!VT+qI+SO6+)+7b z>SVUI_3$_4OHxEy#1sN;z7|_5t2Z&$_Evv@4XxWoip{PYrJgLT(#iVnBg$0J{P;%Y z1(k%9#yM-a9jXITmXao6EljeIA0Bm6~_rJhIfyJ3O?q?JZ zA+_^l-bXe!~eu9^JR;Vu3xT-JhbW;ZR?J7n50#op!7VXl+0sX3|PzRe+R znd1W-#(ez}76tB1_a`BXYNHJg^8>}VwWmJ-C82}!AdT|r?nf6n34!>ZCG+}Sk>3EUW%^GJmerqJ8hh$#2oOHm*A-C1E% z=xDbvw%JJ;CAVOHFN_Vr2Yb(qN)&DY%N)Rchln5S$L@+6m(PItd5gCE#Zgar~v^xaUt~-aw&9qoK`97zn z4|U;`VY`6D|A}2NFWQ^T zBjVzMk)3e3aX(rJgecKEswat8Qta1Uj7PuemW1C4FeK8!lcd<#Rg-_(T2bVViT-Be zs!62|V6l6N-b~x(d;hMu(YW`3f5!ObTgSOke}M#$+7LxsWA^iWO3+W%+09S*z^oNG zuusZ2`Pt}jjWJ)DukCP5;NAbTSN(w%5r~J&T>sL_SftznMQkx8T_dX-|Kc?>DFKXs z@LHo#B!H(tk~>(^9*W{u#9lw@C%Kqh57hhk6cw~H3ec>2Qi(54&kZ-bs2i#b@}TMW zcxkQ)+2lRr)fo1~CJ2;O(`i1XU5@oM=tTyG7(UFluN0Y=j65cN7uggSBUbyCk+eVF zm212LW9|@qM89R<#p|j9tyFB?;ukQ~3Hv4|eegg9JMjg(v5CcpgnW9Q_(>{O#gbPn zHiXa9H%NKV@PQ2(xhmK5=n5H5%pqX>lf_v|?d1GI+qTVAm9535z+`~-_f!WwC!gI> z%H-zx_ni$7eW^Ae?FSBH#F-py; zN6*sXSi_`oG5vVGgQgSx_KLo>>0lE(coxU#Lipw7)TXZEg|5rLi_s4svU1CQ}FJ?(|x*JY%x%L0qgSp?xuh6SeDbVy(#Mw@fxQ%+{BN*#dZgB?vFjqlt0 zLN$l|=?#LtNJ7@O+lZAmphfU4?YRWBGSVme4lOu_KX!0x$Dg$tiGN_#8qCPJN#O$V zMWSVRL`>DV?3kx5Y&Bi@Sknq#v=7iNm7MoY>n3O8y~gTU_m6mmP2O=B`w1=S*CHtq zZuu80_{>&~8?ynw1SZ{N0LmAAAG|%zcY{lhHXdpOptcEn$fIqdX=)!q0%ztW9`#_A zq-7K(xyhERn(@{&Cl)To0kX`cAYtS)wZ|A%TcTuSKoeY!)PL zT-;)3=ja`B%ZG9aWKkN+VYzZ`Q$B`EB(FuBcWardxM@~+!*(>ojT_Y8gZx%5dwA$(?e+<+zXubcz{6EenfTO}>Jgz3ATJ-+;Wj;N1c6eR^5K62Ps04`2W?UJ`rzhNmOL+R z^3UufWl{UOQR?-7fOv{TG|~VkW>*p4F2HY$D(g}p(zH%71&oI1yVTBWi&s9hM-OG8 zzfDkC_o6q!Xku$`$}C3#)9v#sGDQ&9wE@9r=(2Ozoac7)mMlDK#*Tc738xjQaaXxo z3btN0wx6ZC^R{1InAK_=yMkgu= zEu&vR&2`r5|Dey1QOt>2Dh-+`>nosD2twF#U!h<)Ps0vQ_9*Q9Uxu?g;518Z~rPH=Wz2@u5eVT*@=G}s7@b@e0X&eC64M7$XdT3@n`+{^>Jvc|Aw3 zi9{yF=)cf&mRr{`4KC9yeCVT0lKK-0MX8NBMkw-Zkk+CaAV$;|h9l}#g1CTUvueZB zStK92b0&huADNLSW&VgfOKt4B^i`T7C$dF2eCrB7yFYy6olC5FU-~7+^Q`YVId#v{ z@O(iZ3zKQaWMj_+Z}}kc`OS{gF(i1Bxh0T2E0aA}T;)G;=QDsiSD+~CB-h9#;pNqG z`Q*2qg<6KL{+0g$pP?XmqsIQxc?N?I3NO;CK!`td@vnwRPkJ=}5B3Ce(}MS^fUeNz zmHzY4LAoW{quNhD14&c_1f~ziXebi8Z~tk}hKDC?ZhamufT3UQ z7f5RJQsE=;^c4Ib;Hjqot0WLv?){B*wjAh3PNVfbFT!o+fodbHh(sY=dy40_Opna? z8HaGtH{;%seOPWu)Ka3l?(K8~t=3r4FZLnD62<>$seBgH2wk*=ChK{_t;IhbQ@UixedvihH`S($-dhP*mv=~QZRQF|2dcbT>=@Y7`|-q>`sab} zzQIKt`C}L%jG@0G9N^XhXtN(o5-`=vE>xerXb(*KtE571<&D#neDZDSmF}w!G=C@o z3J~bZI9IHRbvBJ-1a$v#mS9N(DhudX>>sPD2EWz*iH-mxEwg@Lsc@w`nTI#V6Do&* z)1O2FtTyb!!}FFt%}YK`tQF->*(gIi!oA+_Wkc9=?cm|=ypoy^cuI$6a!Z~%4uVS? zmwMH+pzxSXz{)$-MngiXJ!r!1;I}Z|h(Cf*K~t~5{{o?dS3CK2BM(reJ?g#r)E+zl~v7xjgs-+nbbOD&=#|KuO`b zo-g`#)Ie(Bx1%#uxSC|%3O|j#Vfa|FO#{Yf?FJg`1O4I?Y~U4M)1 z^cLtG8`B%>Utj#8Gtomk>B%D*JYtU)2DB?VBOoWq(X)Xm2JOJ0*KFl9z3licFx&24 zw2kB_6)-6ngzG`|of>8OPl73;No~))IE#n^wbeML>OapT8_%?8FIc7sQb!!XAt`8e z`;SY5;g}q3lZNlCmE{bU!18LE!Qqe?SZJV%I^75ZJ*2=tVnc->xs2e@yCZPci+Im_ zLBRIQv9{hry2<_p>{suILKs3q0!i67>LDY%d<_)sZTbp{jQn~BI%%Nau}fCJ zb<}R9^nHn84sB9M!!)2tbq%pmC4g|~wI;r12TrC}w8MEof11w+2-Jf6AD?fs;BwXr zrC%=cDpti#o zkyiNM>qHwnw)q8R7AIpBf>Nx`b@+rcTy;qs#>{2qn ziN!o0y*e-D4iP?eXKfF%tRv-5O#wK*hmp!zdU9t7s+RoZe_+qj^-?hNoGKsvHVt$z zwzJ4q%BZ~$!!hvz zE-l5S|Ajd_#K0C&-vMA0NI8Gg6xi}+Is#2h+AvGo<2)&MXmCqSb+?uC2o%aKkBDZQ zYv!$$aY>i^wJ#=C)5xoyqJxt%9MNCM?Q~~IBe>#WF&>QAt^TH!*V90tUF3Z@x7u3p z0E=2gmY{l@a^e_Ke4|OFNQlQ>(Ya5jZP(NA=%x$&gWQYSiBy4%F8NN>lR;y~fl++m z#m{4HqSfDf7sxds^EExmM(;=E>7_ehX;Pr^W&Mlv7f6SLKspp8wR7b?@vJ8Rgea2w z8v_xbbUXV{z=_(!Wuq%+K&;$cN14LkBQNYFtn76stK+=*C6c2)jDXaYu|ln6!LXUmgd>;_!*_qpTdI3K9kEiknK_ zje5r;A{2z{r18dw9laDdf1unC6Ob-<*ZQF6>oiby7q;=b<)M}3rOEw zBviOOKy8ZyoT}8nCpq%Q#2YmK3&>@A{0rnvTXedrV9Nk4!l2iXs9W!n)Gd5>h650L zrPb8oXMJ$?Ktfcs?FDzaVqwY`m2!>zy3DKokL4~2YfM`hZNPE8E4Eh)X$Mt5tWvbD zhW)R?-GwXvwy;B5U6nSdmjj@R{sZfxb;c{-VK3G-SJz<=$Gt}yG#yDqi;L`kE!b6BsDe_or|rd}f3QBx-`F z_rS5D!w1~iJCfT#Fa^v1EYI%F&zVdyT*}=@gxIsc#{DR{8~k&YGO0 zxRj|IKi^gbd)&|5ybjEE8x_Ms#=ux0moAW0v*a^(dn)rEHblctp`~OF6bg1ul zs2c^YT^Po4T)+gqJBuk)ikr`9rbEzSGXNo@?iprAEQ z5I6d|bm2Sg1oC7kM#|FOMU3(r;~oQ$*?3v*d$*@A2Z#$YeixmIB||w_5^8@5LNv^& zYDE|Kt(&xlhj#MaZ;TxSlF6X&vZpN|>7)A@rxdT{MzxYL2l@iWkfYn%>K>!3bDulP z>f5K~cD?gg+CTgjaz3r28e0wKHO~+14@wT=OJ-nNh#qW<^1O!vLVmc!)YS0Oqnx~> ztu09xmuef%-gEad3tp$^r(I$Wn>`WhzicXiRH=4}N{80i zM)}g&nc*PreaA;x%f(%_6sSnaEBLQS8M9y_P3~v|v;XHOPHFQ!-;&P_BN7Iw0XQky za5}_4?^)_pV&ME`)v$G5WlAemST7>WNm1f8IK9-gi)rx`YXKpovt`hA4foVn$X4O% z9-v3JGGXKEKU&-w zeukrC2$ z>Y0Zu1CelmQywsd0Jg0{!u4Y$=C#Kg?DlcLH%_IA!77pF$fmu+WhCr?1gSPHI1U^- z3TT6~bRLAJ!e{_wu5dv?<^fOVzP#l2r3f0ZNh{HC0K*3{L~gF&(yC8=z2MxOaB$r9 zJ?l|3n;FTH&4g7U&h~pH(ic5TQ9knhNf+In`{T*q=y@SuIKe3-v*k4_-IX~r{2*Rq z8IBi%U(E9C3@-^%2GdRDUrQvbG<6xdVAr`s)szeXuG^^LhtO50>Exj>nDiY3!KClt z!A%EMH-#yr4bFucrF7fe&KFsTx~c=902AeU(0}e8v1w@f&>E_4UcCxoo&?>sNpaBu zCj-M)^wY6Hy(|u7_XSt!$Dgf0U{B=VLQ8Lm)TJGo1BDFc$s32%o{=|)h3Z`mrClS< z(Jths82-G9Z%hk5ek^6(&~AF70GYVf;Pb5w(4~DwhmYTp7f5{iNB8}}+kGlWDLU&cLta7`6zQL*mM>XcfxV+~CrL!&&E4 z3E{ncZB&ARrjkVMM-_8}f`|O!q(veQ8Iw(NF4XJSqIDI`VkglN3{?Vat;yTd;T;l; zl!bj=T2As@Oh3B^I86(s4O@^H);OsxwJm0|vtrIy_D?(&UnJQ{NO&f6Yb|}SwPvPr z@1Evz81s_|dUBOQ5F~KkY5MEe$I&!yaPqv{Qs;RLaZbB*|G?(>1d_wI>=c8u;xZfj z%WJWesjMlES6H6_;7-j*txno9wdKrMnk&EsBL;~&gAo`pN*rWWd9rUNp+=A+AEBW_ zr|O@l0R-T}lKNF#>r=`ty@eRRjX$@!L3G)PyK4NMkf28{bYKR_+3!P_5#}Ph#&-e< zo1h5u)m-q1;5w!`{{vyTxK^2)U9EawI zY2wXg6VHuV1yYiO|8R|BAp3`^d`lB{qCeV7KK+F`;7!Ts%-M_Iir-Qa90FR5hrg)y-Bvfg@oyJfXAh9AuN zwPpE(GC|c0nO}Hcm#08?YV=i7XrV{3+yQ7ZzQ7n3S8o-^aTImBsoVlU z_B{r$xIGPh{_7c<9s)WNKQIK0XE{NAc1sVAZPv^X%dOpTkFqA-7<#I7W(FQVX?T+4 z?7#oQN?XBIO|a)aKDtliVz*QveA0O<6^CV)@4?B@2lP3<$w12wO2@L;@y)rNeUyrY;zOb!WYR;QwJ*3#YTe zuCeXq1!C;~U`k_tRyS}0%;6hqL{?sj5WtiK93ewP0XYx;y<{u5tgp15gxn&ZU-N-T z-1%2*#vNhuDNVFOQv5BjQlS16=31y-%|dZrV#Q^{{dbS+8sW1UblEIa8fiwO zpQp+W8FWct+NmYGJp+gm9GPGLAa;NRMb~YXwYx!dOHm2?EBCC0y!aV1o!_$te17mY zk|d1Bm4*dYmS_cFUrcfwk?;r0>AAN6#SvC%zUz|l&m*8DWEBmQoUK8S;0nEyeVz$3 z&;IO??5TeikH5ovg9qt7H>-Pv3bVvf{{570ZKYz>T96J>mHy6^DU5w;{d&~Xi!Z@t_}(OZvqfY;Gj-Jvi}Ucrz7``8=J|Q;27EB z?^1jqp@asA+(UPU`!;0qn|r2%W`*xvEKnu=z3_Kg{ufakG%QfdfGA#g_IH-t52@3NAWj%{BphCrVd~7`WDNgL+SSU zF^A*zkNbQpeoaMsGO$WIz0(xa(`we|O%=CZG>eChMTMRbgL-Zqt`C!()ML>@>xfk(rCpdS#AE0tP@3$A)exGo?ffD;QS-SbD6)!P3>#11+ z)bkQtJZ#Z!E#<%5AwzvZZ%bSL*Ev;(&v>2+Qk0z zh4l$Pn(_nZHV08#t`&8x4)3Y2fX&3-(|8*UOb!f-Axm%8Fx!7%V4aqHoHzJdRVX>y z_b3P+c{Rr(b(gX-UjwsBIB!(Va?`cRK9jt-wOalg%2*_>@8WJ)z?;Fg9((@7)J?>S z2?1T5ITB{E8=El$=NKNeOvPO6mDhQEWA+e4_}X26kN z#P_5-b0?>TjIgjQxfM7$;*qd2O5f9fuX#<=)+KoHx8Ur230G|}Cs6Z}#b`FW^}cBm z9p9lIYhp_AA}N0?I+(X~{s#uuU&N;{Zv(onVX6WHz(BS z;qI%gRGV2wnhd~P6jqgJ&0D|m65@o~SvC)Z@m-N$&ZE-{mqn6b28t|+{lF7VW7)U? zveQ{cZDfV?j_MZ_vqK!lop*VaAb-P^7Vl|iGgu>@Lcka6~?-I@p&kuqKk}Y>CSqmx46hVM>ft-_8BuC2@ z5gZE1_pzQvo2tIr4ey$uimBn7VCwurR;(KtjtF7ra=TQJ#{j>h)^>p}5@07twf&0d z>Dod){}zhemD9xpz1RvIY)87hVQckT-A#g7ZoBJnD?#IPPV)ac(aX~bY_$W8UQ-kT zW+fX?bBJDjUI<9>^<*?lW&cpyDpT?FwDL|J1uz^;z?Ny08^tkbo~+s&&ey3HsD7HW ztsjIc0Ko{?5QA99x}|5E`#y;yh?C)!ktsrm@S9?WdrK!S64X;u&3C~fu~Rre^8^Pj zfLJ9vJ5@Qm2M#C|ZXK3b+M-+Nq+S40bjFcq2xzJO6R^iMWB;eRGmnR|@AtT!lw`}2 zC@G38l{8rfi8jk!ca$X}OC-w_Ba=x8WvRO&%~(p(UD=X-FWJJ-q8JQ@8B7{X7z}g1 zm!9XG=Q)3z^E!W?{`0!JX0Ge{{jT5dyL>+H`TRNc;MHCH!t1Ms^8_wlyr`J%j9 zHTL-}v0NmSy4u7Gq2h;1dUO`;4pgi$6FroFv2*U~lz77$H`0#J?!R_5YEk@^#J$g@ z=ik!Hz9a!X&y5mG$)iZX;9p{M$;0CL`H#xLwO0KhC-m;tb>8AGua%JV4tO|oOmkIll2RN22kk530ZenF+GN>%m^E`{d;yu{ks$>#WzDLp_si$0+-7 zs&hhlQ1*rtGyrtn1`_WWNioc2hu;fNJg%++|GwMW7H%7*<#^gliH*d{{49_}&`c5u zl-gohseq|L(~Y|w8ro9#a;E}KO-*T5#Fp z=Y{&5U?|_I;dSj!)#Z}v{75%5_SPiDUq^9gC$&#FUvDhM-yZmtDwxY1dNfta1VJjm z4&2ybBXh@2guRG+2MgAr1JwQrp|=-5TP&?_-5&ocBEk9>g#FM3_@3>Unym)vY*$uJ zcVM*R6UG4%jfhiF;TFMXls|m-OY?S=&`ihj)w0}Ux==clxaTyoC}DDsvbQ(&m#>eW zuTmwB!sQAMjReb)dqwfaHQh2b*FB*Uk^RhTx-WjWA@fRQ?m4TOW3YyQWE^d2Mr4-* zjI%Mchj)6NlfkJ9q02oDY?;p}T#HZ1&LSML}=lzVEL@)Q(t_Mn3eA9~Dj) zg!WYhNeooiCia9KH#a9*@!F2e$Lrx4YPOy$tU*F!7x4(q?pi{OgK_NrV588H&tgA} z9$xr~oB5J<8vE?D2ZUy^We`L+`)BW{BdWQQHCa+(&{@5tg z7DKZcq%uMR!^$9``71d!TE91VUwVgf!_+J-i?)wh6k_k;#=RxI^F?*;Ve>xdNc8RA zzP{!MKV@0$&8H_mmU1QQo^CpaJMu62i|xSv(WRD&NLrrKlC@eYefq;8D=d5N7~7{B zCLY343fnxuljZns4h6)RklHo#Hqm$Ar5I|~ky2LMU`^T-rk+6)4dh8+T*D` zV5chsm3AiX8M1xFBCWpb@jRt7hhX&{UT-=ygY>iZw0&R4e&h1#w-3C{q6HL6ji3FD z6m3>>k&pkGi!i?3cy}&b;tmWxpj84>MvA6FwE;wQH*L+=in>k@+lm3@@Ux(PFjBA} zAO(h|Q}S8&@7w*LgUTHRbdOKbW^A7`r-Vvh$C6~;S zLv58hg=sP?DjM~JhdTqNPRF1RUAe&fGw+X2RcK>R<@5`XR$O7bmdmd|BQ!Mol%B=> z-}zH&Dk>>p=IBViqF~J61-l7R^F^1~Ev@Jm4&P?KiTRu_j!LZ_N7_}xYfja;r%Yxo zy*RCCoMP6~%-4o3lV2v-gY*S70vtBRj5vV(SlH&@BwSYB)gZR}D;isT=%C`~GLWf_~ zfdVm{>-%`7T9SHGG_uP@dwYL+V<$tLm<_GSvsF}81bo3rSHQ7NoZm%4KnM&DYuSj{ zBA~~l9&)8fGRlIry}A1ZWZH`HPyJ^9GPk_70VJ=fg!LfyL(LpV6rahHqqP*KiiSaq z=;1@{gZ9-AES7=JF>z7Amgr772^tX*Jg;Ep$EE=03nwwWkh?}PZ~HE%OY8ii-f#kT z=qB*q@1E}Fq_p|w&hdF_9o ztRPY?awEw@@`tSq^IIWj{SMewRP>Ps?s1O9tLo!z2Hk;?5jxnd(z%z8qayKs>x@D^ z>O!+`r1b&QU~S0sAX^VQvs9Yo`L@t1RR2UuOSBK5n>67vjDoL2V@AnAFycJ4e6QeS z`OGe9w0Kwam6<*3i4FbK%CG+`B<;wNY-pZU)nfHgsLrDE`w)lL=rDvWfbE01pRTRJ zUxSx0W~|@owe@95ahhX79`@!|P&BMuYTqjPc~3rrsgw89k2?^AF**-QZRYIj_qEJd zhmT~sXxYPLduq`+JPxRuUl9S=w5xsI>Tg5EIFVD*xvw_nxOLeUZEv$@fLyw7LISG? z=C$@ah89{qzDg8HnGQ?wFWGK|eUr`r%A9dj;FTs7Qyt~LeiFr-N_0}Cyt&Di(dbAp zv-3NidE)=>_A>2Y&8xtDTG8q5b}sAi*B?J{@7@MgdO#eKV6CLLoQPqjM_v>+0snlS z_^N*%yDRJPafp>^a{&~8gO!{l?)j!QMTM-zNV>?{8G4rR#B{Hbp2+&u*LcJTWFndX zXp7p9(AxmeCa0q;n$mP%-gj2%(#fATn+|zh@L)AoO|B!pO)nc+=aZc13aNrt$$h{z zwTQ!*pn%}kRr;>WYJ-!=HLJ*yeCS~eWZHZV5?EY#Gi|E~vh5{w1{$XYIy5_7&s3QW zOZpn5UonJ}c}HG|eFd}}0oYPXsGuleW!znr!?!m`N}9Dl);n7pUfu6e4s8V7k}RO! zo^3a|;x4z5U%&J{L0Ww6b0{4{^-4D-kx%P;a9>qx2w3ii>Q~}_p31O4Xs^}`8YI9v za-G6trphsN?|~{*u0!!~C9@_A0{22%ECjQEgH6hzi>iESB^6ClOaYJ%=lyFNwr;K9dn zQflWoXQD;zDK&?J>bu8v=tqy(MDZOS9Ow%8?2O&(o-qJj6%SA_fFN59DmsOu1;sW~ zcavqX&;3sGEjt@cX{o3v)fF?%DL9sxn8LnH;3G=&k1J=TzR1fs$*j~Edcb$n&EHpa=JGGY<5TAUEq(ru74x`gk!e!IT+9d8bvYz zIoFx#bRMY+8(iKAEnMJc$|B&j%ESsASJzAwUs=#-D>zO02H}FwAm(06o&>TWoGQUb zrBc_3mkvygigWgf(Tv69k8W^SSCJTTEI05e)UkSS>WOxz???^OdnrY5$tTUsZldl| zY4iTy@_6HK-+t;)?304~k?eT+d}F-4JqJ60sk4_ggYob>^1Dm4Jw?9O^3p$ves-eZ z4GppaUJA@V1VC`v$>-+R@1f)q4EFQ=0VH*i-EM%nfDJ$%Y;W#~mrI`GNRz@YcwjGj zFFt~V7@qGVz#?!TFnbH9meE@@Hmf`ZdFPk~V#|lk)C}B+&cFa-$z95D-%ROK0^Xyb z%I`1Cy9s9!-fwcfhL1H60I&c}&)aYv4u{YX0G$O;5U1q_%!#D)Lm%&^@kY0r&d1qS z)F2>+*k-+xJP*(*xQ(7@zRH@SME~)1Y3LijVF0jo0uEs1`x8B#>swS6g=$T_mxT5y zLJthaMf*9AdP)lLMkz5LxKTt+zyd%~c9pLK)XGf=p}_vX@OOQ}o4LaEKl>0SR>MVb z6rL2e2mSy(DFUzaHcV<_7AgG2#zum1kDD=*u%OLh3qir~9s$4+f9d_ckDye(Oq1cG zfK&Og)O9fLs}zU;Zi*uC1c(ZG1x-rHrP9!vX^tOY26fz7_qRS7{1dmg0 zX8S8Rr$0G!ddyh-cG+c&64h= z?HRWKSHsr&QbYOq5*{f+e5^QZw?i|OKe^W3Y9aXrZ~qRn!d?G34+w2y!%5(}jIncQ znia0=-?n8-10XWs-i1VOSeG)w9_dM+>@WjTTR5q==MWrlI?mhq_nSShuj3Myabk^1 zHH{Da5vw&a_WMuqTzOh{#@C?qy>BknLfn*qkHFtu9lls$V1+#1%yON3e^)^m_N!6; z7u_FLudx9h=E1`tM!zO+hrhHr<)v`Hn%U6I?~hcn;O$(~vH3>6P+eC7A|D^>u&+aR z{=P>3ojlhnU21OSE62RWif9P{1N7x2;7Z{#kvUr0dL$aClULnyse2MK$yoJ2yMLee z9?r|!8#eT6B>;B^p|E%_tE}SAV1TeNK>kHn54Op#AE$3sg^I1%>0ThUB8Md4(7k(n ztc*yp`>&~Q+6QX_H~fL%P2hQbWDmRLSIvkT8ylzey|l}{-2`Rg#{LCgHY*|-A03WC z_FeOlin4Hl0&oRrI=melF08GMS=L?{U;AiD`hu#dx9-?MpLn2x@K%XL52s(uFX|b*dxflZWr3* z@bIv@eV!t-inTscNUY+egb9dAo0_DQl+weZpAjPkxdkN{jWdSxE9c;g>#^MZLP0^x z%j7#{;iBwPQJG!lAmI5998V9lvb6Mtff=VG=ga8SDsBk!bRRky339^X;^KbvSEjsp zp{s6u8V)DdpEhfy`;%0NqJg>dc)i5bmitf(HCQ z{OMFJ)tu1U(xS^fapXurCE#%-%8#w7t?_rkDu-+ntlJa-rX&^#FcYgca*u&kPKu4K zOTY#7DdPQYgM;@2Nou>M<~n8N3@7engGe$EB%)$ssQV70ne<g2TOv{+ZETSejc{WkU zEmyPxyne{QWd-W4l2#=Es{P9rYF<^GnUAy#>u3Ld&WOdB3PNd@Na+$m7`d?@SK+m> zW$~+k*MI%f%6M^X8$!qiMs>m_eNXTo;o0o`n#J2MPrrJclz+Bp2S6U)AEh6FIfv1I zNEwLFXZ`sPWSXaJXjV6{w7BEnG|#??g7+lV{_W{JryfJE9AZY`s;?;o}4AzKF_d`bluJjpLL}Up9fUS4{xasiDNs^+upr7pq|puT2kMyvUlFgR4FX=dFhm_6 zXzhe{+4A~G;Ud?1K4L()tlU;=Dd~xXv0>Mz?Bk)pUO8KRO%Fics@t|jg2L+&{rdKS zU;n&^My(ST-roz(^8?5_=PIKc{58>j3RtR#FB#M8oV`*YnmL(x#J_$?4j7`Vy z*ZHefLC@y_Yb-12oMA_6Yb&e{e|7*MTx*F9G0Di4vCg5tlJqY39q=0Ke1ft@H9_b} zgE>Be-9~Nl22~E8{Rn|wpuWDcuN`rpr{M9{|#&}^w zMwt;s@4W9Vpp%iElS8QO>Ia8h%8#9w6!RU5C*HWY<2a>B`f^zp?XOkor)O=|)x8Jd zVJZR7?eVV|Xe6h)nTm`uu3u)!u(xP=@YFzqUlqN_k)}W-Lycht-1+#g%E2+mAWT1X9_@7}@bjE+47Y z(~5vy^W1UbQ6137+rRvMs->gjIq2jRjd5~nWuGvQ?%p*yc1(1jL*#mvMS>dydbD;d zf5q|~xqTdO)ip} z8;Z72napA}(n%u4jlNNZp0hq!DrT&OGpS|L;L5REB2z9U$mTg-F8|;pik zkQc9bxMl>#r;g<<1Y0c9Nc07B20Q)_=U;&%xT(*0$r>(fdK+3!^E- z7^Q3KIkr#CP)$k7`e;gyO$HHJgNCX0ug~10GMO2yIkG?f5~aq7KAPgvu|`Csxu@c) zZ{n$r>96)K?Pm*IO*;mv!!QVc{xj@(#KFNqBD~n6*olX}@Y4c&{2P{qSDQwv{bJ)`V9k80GNqRc=AR4nnOiSirfiVaxfipsLbYtdb1VtYGR(8Z2A%OFeHs z7|u;kw=AqIF{@V=Dv{%KW>7d@rl1rZlWxu1xdT+Mrq(@gJTQFx{O!p*VJoc}iOGby zm14L8TFN%~Er{C-*sQc>P*D=7&oJ=9us<{rbA4$JwMqYS+w`BZz3H5l;2~l> zIswC3{symClVQ_s8I8w&n}|W-$eU-Kee7YIKC!vEnMn4pHKM~kG*ADTVxUi*BhwoQ z`1Sd8PSvDWz+hbj3O4?|jNNvx&va}K=?m0V3|;!?3i(yQ1cDx;w4`a}O3SUt9EMT~Vsi5e(G^(t9saks4{zdsGAk2_j88(joNTK~PbU8X-(EqLh}{#93T+cL)H6t417{nCaHbm zh@Ve34pWxzJiJSGZCSqK5|oKLv!)$kCjICuUGaE$@d|P>Yk1$$(#cZB(a@|oyzVoM zpZnhXX7V$tsO9F~Q$Nnv%7q|N$&ru?^{ z*vw;Wt|m5HH700%zutYJYhkOPtgQc`Fhpr9^FQot(>3LJ(Rws55|@-z7!pE}>NVzY z@Hg3IC-4|8yW0Q$$~`*S@Vec;F#pP?y+09Z8XCXGU0RE+n*9Xea5K9!-`pCP>8U@8 zB9J-`N`^Mw)Zml-uI_H^@@QrC(;pYkvE9;`{T8Vo6cqHTCHUt@v9WshyyKnH;N$L- ziK(dK+Ga4=bFF!IDJQ{d@MwQ)Wz%Qi0khP2A0@pa916bxL{misgtr8srs^X=W` zC0uFx@d1wt`s}7Q6=doGl*0A?uz`z%L%~>;gL~V8kf30d12#91tJI=iZ)0QQP@x2a zL2e^ohlLU9X3^ujZqqG+D-OSOD2O zyV3rdR?2hf*QM?=5PKOIH;SiX_;7x1ZY0ayve8TakEBaqn*45HlXWLrxz)(Yskr6j zfDo7!NEj}z#6iulZ4lH9P&H0t1B2}O?gXy&`bakE)#PCgDaTmlC{Cwz=Djv@`h4%T zsjlAM;Ud$@?U?kV`#j3;Xw2f@yrHr5U#a#x+UQ(q_wA9wjg*;8|LH9Jw|O39B?I;J5+Q8C#kdM2gVL3b8`ZHi z-Fga@^@l=M+ZaVr9TmAj;A01)D9N^nQl9;PSd|gVvu*l<$Rz^{-K@;D>2M*Wfu1R* z;Q)1P#8oy`wbnQ6udZ?bG^SvLHYUs%&(YNdGfXI|_cf3*`+&M%_@$K>_N^zoW- zBQt`%r{-Jzg*lVg`vPwvKWAB3AXjpV3XPENYE@Ti?-ShBtFM&aPxg)*op)KYPt|`A zx<6E}S=5mCr9fqTFL2GjCerw>M+n{rA{RnN(^lSvK~~?W)ae$dtrBcBL3&+6ng`WS z?3i~a-Cq5`j`^H=L8{I=^EgP!?`0-WyM_w+j2^JH=xAfTg3{Vc0lPIf5tzydL&Cal z^WP_$0=v$*F5y=la6Si(s9S2<@5DH0QR+Y*S*)Gf_MRL&_gE(6Juu&@cG9lLKSU4b zXck#gXfGyaUi8o97rQm+aSd`MoQx*pL2=*Bfs|_BgJ(`@@y~?TmuaTUD|SAdUHX_` z-mEWG;$rTf%>ZE~4K+1ollbd0Q5>@bL4V%nv;1Vn!N1_NySuEZ6Z&aCDl(YnkE%;DSM@g z+%tvYC6&BqwJKf2pfi?$TAEMdniE>ba!+q`>zR6{;$`e92ulrbUtv8yztLhHyZyt1 z9YO_ODrw^B)NC8vs4o&+uZeIG66K)2)312*PODr&GB2H$@%@j}VB}4}x0!rcS0SQM~g3E%C$rLsHQ9E8~O(sS?NEEb7!d*0b@S4y* z3&$_;dCmSk-}V*kKj@KvP<`4-K#Z;M=wt1}cK`Nc1x=RNT*5b^-tI3StQ&;lGO(Bm zY+Gu?Un!A(3(3!%7g0BVu3_st;EM-X|M4(Qa#v~~(({*$m!hMFk$(p{c6vD4K40xP z+Bs;$Xs;CfGSbbRg~%u~Dz$Z}VH}CLK56`@NKJlbs8ozXzf2%6h3A9`E7mt=ws&ZBLR~4qn6L4+mllIhn)QHwX{fvi^KiI` zQB0S8nAK1##zEQk7;ueQurPlhUC{*TvOVJ>qp`l9t*+ud)MH09)VP-Q0)+)b5)vDQ zwWUvyub)R?G*qC=18vm39NDv%&rz_yCZnml@9SB-8sriwzeFu_229x^O(`NC_7J-N zDGGnvc@=UlcyJk-kn{`=oAG5-;tnyz)yUtr%i=usAot$A`gHZuNe{kxS!h0BxSt!s z!;eyW(!EM`Od zhlH=FMIj_(&s{}9!5hBF$$Q6e9@wYKAJc}wb3>pKq(%9Q3x_ma0hI$l>{gu@u7U{u4~P-QR`m zn!&Sd{uB(ZjeGg7@?HZBkpx_?2V>h1KMM6q{_v~qQVY86dd&Co7EzulLP0RiN(@p9k1Y?w?Ze%l&i##DN2@Jq8BaqeC&Fa+LhNhh8b8 zyu4?fywq84AJXb`35J9OiAzWa+fQK6)=xd`i!Up370k(a(U5<>3#DLxGM*-`>HoOA zX4y7R#I-EVX_nX}f;K)J9>~ptlqi7_kF2fU3ZER_T@fr0=b&^gLaU1T5feHw>d7)# zUDSIOD8*Ux1pQ2bzM!1R918*!yQU+C-~U>fwtp{-0!>NDAZl;u6)o)R9NoM_uhenv zoATmohfW9kg=?hg!1bRsEzjx~4t~HS1zvfDPgwlt6pMH!vI5Vq^ze`C^){4EB4yI% z^4%`3{`)pVo(;>dzwRhzLnJvV8SEdcOVDmtE?g?e{(zZ8S?lT zpWu0|=hotZF#B$D!!hMW%Qm}JLs3wC->*`k8xqs=i#(?;a{&Tj&Q?mm>_ zWdP^syvR-62b!tCa4bif5OA_Ly}_t7 z!{Rh*nXB0HHPKp$e{UsOs4C9f7XssUy-|oHc&;GT4UKwo>A4wW4ThGwj1vk!M4GJw zjOKdwMAAR9rAP1<2e}eY(WvRO(oxE$ci?0Ld>D6P`%y7CwEauzmZ?wl#y~ZpEFf4) zYJ=-9*GjaCageu(?WG5o{z@AZ#EShh4;M9p-RogpNR3X2>)D-HLqhPBnFE~a5d{#C z>|o)pUq_Mt;28r2S4r1UYy7e(2f4i)U_i8f>uyWyH;=QBJ06{lnAo0k3Z#gvpC&lK zKSxavsR`!XAD+ff_gH*V;(i2&^*;fuAwRbBjaM*@v4c~gY(-sWot?K{kQi4c#DgwZ64N*^f-Msyw}dgk80CB@;(-BKGduM zlr?KhR`;_1Q4;{B*aEFXXXKVlOv3HE(6 zzwx+_FUe@w+vO{bBBW+ewWh7)oO>u;rMioh z3^HHJMgGY%If^`>g4Y<~GH=3CM-Lu+=iw@q=76GJ9qqrW&gFsJ0jJoJumh;aMMRQ= z9QEqPlv##0ZVqgTf{Bu0q%SL7^niLMtf(4Aym2-(0+4VmunBG~W;E&s%T%q9mwR&H34HXE(-IJ5A zw%GG1Yh`Fip3SO2t@Z&mDm1B5Sevbmhvf>Ij7Ho4@#jmcN0j~i!^$&ut&jdfJ^>}~ z6D%kiNJgvynNp%5VG1VWVIZ=S0BWQW5B{tO78gp99u?*nV9nJlffyzMN!P9@@krX3 zHv$_EDGR>wQ<4K}FAjF&@Htn0EDiA(h!%q)i{Jki2i{MRb`q#@hLb^>4c_*l0EbnX+g*u-shBN#RBH--CuM{IqBn zK|(%vtTBdM1q;}0mFV3ZHF^Z6f-sxLSr*-F>;}7I1r|p8H)08r)ZstR`^!#1Y$S9dZ zdL@aZ>X+AfX*d{_eA;W|ZOoE805bhs>0q2VynF-L08$ts_dCl_Q^LU?cdxB(a?1BhnjeUX zB-z1~KWc!TJ~~E^UvH}I9g{C)LfWg1mLI{WP`A}#<_6|=1 z2Dzdm0c4W_`d(7$2?8G)NLe56@U@N?U;`Y=5U9+L-gX#JBd!dvHzWkwCh$CbG?r?C zw61s}8PyE8Yy=p}3HExOfyUn0Ar8oCnKp3cz(<8(0HDF-q9qQyvtMy%&ROFzyua$he@W7>FJu2qo}H<{UVno?!41%nn)AB=$*Soy{OnO+!wUJ25xZv`GzlD1?h^$tSjng%~{f`yS@%>t#Ex&K0` z&4XeF0?4N(Mah67AJT{X7X6(|4*5K{d#Is;qV{^e_V3xhq-yS^$c#z8I2a4Ag? z{}iw{5NtHg6~>*!FWjUh?J<$>ezX;vw1u!t^eHs*F6@`8tYFM9lH{PjB3x*!4QNhI z+D7#6B1ff;{Q#(@X7_N88=^pEif?nCaWwr@yVWfTQD+n$9cn3Ol7%pN0vEiSs`%4` z?BD)iJSh7&7h@tkoRY7zT5U(SZ%O1FogR*@?$!8}DR@tJM%A1u2lla)WJmG8kf91X zaf8{Bj(N3x?|Q^N0;_&OGCTmIk5SN{D4EyW|HS2uSo>1d?A*B*<)Y+^(*hw9ys9xWy?5$lixFUOz zkzd&P+ZR`%V2czyO&b)@g((;Hxc-{Fx?+TRK4+ssv|?V_ooRi>nEb<|u<4CMr~4&S ziGzrX>81`GOP9V>t&;@@H2r6)GNhRhl6}=Op~9deTtV;tNe%fhQR)l%u~z@;%Q%&Q zpWSaUQa*!jOGm?**0i*JXOKW||FQVY!1-LB3`)}D;lColn@^ZS^o{HZ6_>TKFvl#30V%#~zmuHP0O^q`QetSj@g9CynKx^PR|$-US! zaHw-TU|x5lL8#EI(0*i=z}VlDH@`H%;l%X4M>ZE1>J8F2|0MZ>wE)Ul>iSJ{>>n_V zt2=$X%ro%Z#v)3;s`Al;tQI>JpXjvKvM^zPK}2EkIkQW3%=&Hr6yo}Aw7?_j%c%z0 z1pRnNpN-CN{t-bYirxJL56%)Cn+(yvY}74Tayj!8>rvOAnb4O)V*mBd4=hlR9}O*r z)1?ISu{qB`6@4boV%ZB<8TpY1=qZ2Mo7gQrdc&iI?w3jDR%h)f80biPa;=<7^eK*L ziFJz!V%>S5Ln3a><=Lw0GKZ|-!^58ZbAGofE6L2oUwxomWlT$X_Fp7=eZH;#xtm#y za0DVhZP+)k{!ZGo{7XYTIZ;p7)obI@z7VlZJA3+AO6x^MMTQ*T1Yc92|9`~Zi3NK0 zEfA)h8(12D%jx)xQi5y}YjB7&GA6%aaAtC`Tt?75U8A?Zu2q8R-Mxs1>Oj?HAVABL z$onD|?`cwn9(kXF){1Sp z00lKnUG0M+e9YtQKlRb-%w_?J9x0BFts>7rV{^hm`$Bb#(WB-kafIX*DF(lG?8lSWTR& zB=`+@{UMS38&X$y%jrla1*P5KuzX9tUf%Kr$LP(I16TBSPWk_uY^()64A9HKO9$K; zdZ=2ISTg%V|T7nx&>UBEO~-N<}1xi5xveEqROX9rG@w zD&xUGDbE@Ys>CXlzFnFe2Y%o^uv|Go4rh{%ozQp|v{%p}`*G&bUE%nXxAjgvU^AZy2U?~3t4%FB z2*7A}ztsFuI-y|y;&(r>vib+eKN3QtIdkVVpdAII&2E2Tx&Bo-Kch)G%@T)m!vtC( z4pZt&Ou^La1I3=&K8XfGoqo67s;RW$TB*~2-rLu1b$)wJ#mx>-jd3ZtMcEHiLR-?f z?~411XJFv+)WCL^4`72ywkT^hM<4NTu#1);B8=kO5`q|Cxb+iHHbMHj-E87dQ&+>tl ze++<>8BfDCyvy^vszt}ir>Qt&S>xj8%#FZq4;bA4wuBx*G2Z1neHzNNv`_25Sdjd4}>Vg^GIwbopg#ElYx;%N_;-)9u@+ z+3A)tpBlQz^`LixIL@%^WtO|3%~`nDmyn2l$-Q=RE+R^rgZ$qn6k#mkl&&TOy~%#B zMCH*1qEl?R2H*4Cr854>G#1RkV8H8&>33rpb`r8eW!JGDj1;QNWsgDdr81|uned|D zE1>okjA^Ii32*>BO!J0kp!^TILSq0MWwc5pH0jhyEJ zpcM_^HZB59gMBNnzdf)tVH=pLy0W>A33;$oyTAinVhm2aw}0^J?lW+h#4`lRxryIP z$KS4Eb^B@DtiOF{J`Z9*R|8VWgg+jWQirmC&?%g*vbIF1f7eJ+T~q3*oWVj!VR zueY7>$-DclvDk5h&K+n7U&?T4@sUD-0*(6mnDUUlUzije<19=#FzZjXJj`!$O>Me1 z6XVR{w(6d#om8bzP9z~_3S zNdj;azjBg?e9_r8ZRL9+F7ImHeb#tW{AP0%d>t8+2X51mger{mj4UjZz z03M1?b{bkNd*aW9)ixT+%A3^cTiuejO%B!M%+wVLaDv0o8AE#;fP?4$(o&H9M0~z@ zYfW&-fj&6sSLZo3{-MZ~_;JEPCQK%xr;05!HAkD)C>i~mCivK|?1O^U6F3#!*9HAP zZAIPtehv6*O0PsgFuIt=TKbNzxLO>u_?~d!yj*5vH`Hf{^tVJbN57NlR|)*4cd{c9 zxW_7=FiL`^nkt{~JPD=GI=Ye#ys^N-S=DJ{2rxXr!nfyB0th4|%|U-C5Ux2Gs8D0L zR{G1h*q_&6sV4OdjFCAR{pz?XO?1G6B10FPJr)#1s{ar~0KZ=^rJt6!d(9`JLpt`{ zr^Uwf%LYBpcA8#J%=6CO#(l9fQY)Hq3w=X#J;gH@O$F}RrT~)3AW_VV>MacRP z0~5+Rx;?}!uS~G)ntt4zQfHPJgO=bRpN>$(UweI>mz3fG(mN&bG#pPM^Rgn}2%t%T zOFA3t*Tjd;uDQUeity8KF9IjZ3c}VkyzHHDXD2u%-RuC=I!^y{w5*DL9_mC?Si8lm zAUDe=Nm0RSBQF(bV?W4J`e@&;l3bU=3b@ilG`{O+qnu7cpBESJfDw;g|Im}^uGduk z=vs56s|$Q%BnXA2&!sxTp>%qe&u7V+zZT-YbxZQwa-F7`+kg&MOisubz$S(yK%!i_ zj%+V-&AhgtG*+LanmD&0I2P1VG)D;_rw8 z>fk>yBDaP;7`17%)%7uMvp_{jd6+d=#C!BPgR%wjCI#HufXly51zT!bzKqyLUI1L!tP7+A)aPm5RsV% zfbb&_Ag6&dgKr#i^?meGMKo%wwe>XvBk}wt?)u+gL-fl|@KEISqeT^%wiZZ$$nb(( z>Yh+e*+Z;=+(O*D4KvfGQIE66g_}e8VJ@a02`NwE;fH$xYA0X&H1i;6kXw5A@X+}l zjoHtgTb9K8`@C2&3#WT~oXtUQ4PW5Z85PdQZ&rI21@CfEGL*fm?>)$C21jIguU+fC z^r@>s5UXq9V%rWcR`jmJvy^;z{&k*|uLFt78%~F6&Ap52)Z8pmJ0H=fAFQ-|H{|x>g%H)Lqfwq6=cWzn|u-FGu}0#ye5LNM2w@O^6$52 z*o2rwm~&w)GFjoko8Q>dGj4EjP||GxS{L%-*pvOrxuXI+V@V~Sf?+V-vN*v1oDQuPl(VCZgC=f#QHIO? zpYHg#ynIP^)1ppCdcyV9)vH(O_RReJ8gexfGjWJuOOPWtnXvSp%t@8?UiEK0-Wh)t zPf2Q;pu4r|CGf7G;?aTr+IhhuVQ~)f54rRR9^$GkTzQd(-neo4SeRd%IOV@4prByI zA?sD8xQZ*CzQToT4GwO+W`^yEH!3z8B~a|Pm~xSK0++;oqaZ>uT=wOw`ARE3e8)?} zTIZXeTKr+@&h5S}u^Q zAJX*a<8T9C(-)7k>`!f;rcI?z^t23-g)O)YsR`h$*s2yHA|mub?}gO!xrf(zc^!#M zLtz0a#Qp5-YdN{OR4dglUI7AjOr8(uTGPy<@uerq>NX0F_AK5Pxn8XIHydcEYgH@) z@o7DK29dY0dkDHb4CHr4tP2ZnuM0mzl7GjPwiMEeH1$udLnWC(id&{bBu1}pv!I}5 z`Iepw6UdB^tGK#P+Z0}&0!pb8zW7V^M}o!Rv%cUy`Q4ER>z#@x<$wFqOIOBg3CFwB zxV??p6{(lIQ~oZM&9@$rGUFF72}ib$dxXC?;JlnCYu!5jnP#C-Un!U+fe#^@%Su1& zb>Ojol_z;+-@Mkj*mvu10q7HHn0ZP2D@%p`_yE^BT<12sJ)eLOynVZV)QYWakIa8J zkzA(g@~QUNW<8$q%KXWvi`$OBVOX(#B}HMvCkJh(4~|Gp6}OO&=R1aoamFM&#l(YZ z8%XgjouidVz54XVnxsJ~Qy|C%vi?3M8P><^z4f#<-sU9D4&{8u>Dl+QL<18%~-hz3YfJQp)$lv0@bB>M)a=6H~g4h zybYWxY4M+lt&V9D1j(fwixZ*$lrpZ$sU>YQ>VH-#<1KEr;{RJRtz$G-`sD@pu; z*u7AYF|Q(3URd&u?l^YWJ5c*yv2GfUe+Jy#olTD=*nHYb>b*>!LF~{D)rlLm3*b)V zdCvVwgEGYlj|-h66E%5h0+S$>{c;(^*M(e*k+1s4r`;Nl+}wZ(iD*Jm;5?1t-3R&Pb?d{RlZT2fz>5&FGS{7hClU^1)vbpX(Y#nE=(WxYnoLHvC z*2^JWyYWB;)4@aE&BbH`hyANb6;^#79GULItS%3#FjX_TX?w$3)!o5tNa$;NT2UdR%OttVPBGDmgDdVciB3ce_>;7TqiU zG8O^1MJ1n7WAS?Sp1c0T#_3b5avo*CMj0|n2AcTU()Z%R@6DOM@e;IK?qbDeAkuUs z!cn$^4Nny&)qMA`xh=S!azW# ze`xLkN+_H9z9KQvFqt>4))1pqzxj{(x$+@IUlr8eGoTT4q}xqkLyu&z(?Ez%5-z~Y$< z+?`ZYQ`0jw9fhWY$byfFi797d!s51BUi4sy${bbHwxVi16QCsO-sFULy<-?L;bP9D zf7BDIv!D#*dJV)+_|0w+V_)BTD?fZrU^)P`2i=I1Okl2bR>oepF%tR<27j~~^P5i) zWqO`2F{|hhFt|1CzL-*{@RV!w4alK`ePtdlH864TKWx zM7{g`*1jZi_{KR_$%g|21FWE9t>t*LR^7+rW|q@l8Ms1;~a<7yg? z5NWYj#GSa@3q5p1!`6+n@VG zzkZD%Fhxbb)_-@be6VM_hcwvupe{U+`5=PMhXeUk?8=opz}r<#=W3^OPH@c?DXQMP zySDe1j|#1CyRU^6W4JmMHJ%;Ed`^Pn-kFQM`I9$KtwGt`2h<+oNyOOQn~g#q9}stF zW{ALvwply39(zS{DNb=tCW~2zHs4w=uAQoAwT(QQ^uTKF*jw$cPI|6XaE}Z z(SobugB$udzf!wC?PV#YMvKB^d^ex^#|q2KTP~#euR;;Eus>Eme*9R%=0(Xn+81Cj zSRhMw%q>MlHw=x9F@=R)X>?NvH@EUXfBq!xQg4K*F35`<&yqQ8S==_&G|6^Wcg$(f zqYG4?os{v*I*A`ueNjAazU^sEMQ_yE$rU5g&Sor5)){_YNoLG5>VeOx24fYvnnDhJ1(5iBP_SnC_yF*-yJ#IJuUGK zY3`W&a+NE%g5OOPn?c&7i;O-U!F%Y2%? z`i_L3Spvhg1Wao}fb>h4Kf0YapV&KXLNS`{P`;{ zJ;<>XpDb<@-uz?sk@uu$!Z8anrW3S|#(wyasT#vOiXaSO5)@AMtZ$l>wWVEZ`4cWg zC!^>Jcui`xT+Z~t=Oolj&|iwVX1N(3J6F_bKnQr;P#h>bG>ii+BFsK;&)1v1&Qk-c z-&ZGx=5rF523i6uTj*v$gO^Nv^=Iq$kTXjISz(sjbn_>NYqip$CXIoh?{#~%acztZ zek1s3mP_i{h^YVAZmhmmxwOyn&9Hc5MBvbr$rGlZ(L5@J52_vcj+Yhn?yB7Ws(yL4 zy3i*A&*B=5zbs^+m|y;d0Q_>)KI9GE z{G~lWho4VZYs6iSEWer4*sFe4-^Ma-fZa9Ss@ln8y3!EFNa3QdYcSoibkx2D(^i9x zxszFe;?*NP0(!7dQM5tq8h5($+DPPPm~Hu$fGDf|A}vb$LQpo@~vE!(qIsJysN1ImPX zG_(mpo9`qKk}moGkZmO99esL05iqzNBQdY;a)h27UPwizZ>j8)zYHUzk$LO+dMI&M zZMN95ug5=isPR|}+tgm&bHLhmvUz0VxAf9yKQohc=bS>io=cq-es_Wg!9(|g+SLQ} zPrcQuvr5{IopVV$U0ivqJ(Nz^N}8{K!IOBg(hy;p;`Xc4)VLu>aUG=>bWFJPgVG07 z{#*;M#I!cTg~b&XwF40Vdlw4R9c+=E+i)Fw&V*Jx%6(rpTs*YDzwpcNPspVnN}n^y zN|3zqYAe4$$NpZ}Q584*TY^~s9OlE^DA(y=k z)GR1cgsW?}F@4!D7C5)`nZ90IN-O)2@r4ZiprF)jSEDGt)DRPx9>M1Sp`j-rW|O)K z)RGurnSXM&(h`EUQFBrDn^?IKmv>&q^VCwT{RTo;-HB7Ns~@IIV=*NLd3I^#dBIRg z#az@2oyx%I?Z1)*G8oB*Y-g$aakjW3ptYgG~sLhGVm0oOWJ6#D5uMm>i zq3ji_o;GOS%VLh>Om_x7Y^oYi@=wl_)Pv^6593~k9c>Qwc1YfQ7De`_6rLhB?~gm< z?O?Is27GVYHyUn+rGu2~mi0~%!U4`CCoCYS8Z2`{f1q2-m53&r@dx~Og4L?8S!4~xHA-G@ zxLXaq72K9m*^p+F&^ovH6srqa1_D<1D~~WeT&&KiqbfzMm^GjCEqf_mw^nqLR)!Hs zL-`~VkkHq`gDT?+phu4LxmJ|>c4KsFrE~yalM%QXJGuJfQg{$}FK(D@r)f zV5{!ZvKWI~x|=*&Aqi7H8#0?ybIOMQNY3YXUP#=^PoFOi{$gK%4O@C^j}a=`oxRbqTaFf}R}SXk(++%wU(j z+Ad_bX6I)y&Y7c_G{tgyx7CrtEW8ZFjDeCtDJIq+VdVPyN~8MiBp{cNRh1Tc*5b3?)G@~YkV*QkzUD4-mLC-#kJ z*>+J+<#P2)jq}M&Y@8TuV~TV7q<6sB#?FuvgcL>E*JM5Y`?R-wjr~OYP<@EXQB!5} zXDA&Z9(_ihcZ5y0$TJAyDoX0;PCz8OMA7tiC*^&;9bssu?+E{ZsS1B)lhAT;P`iHw zZ5_v&>-Qd?h+@kjA)tK*k`-PUzCGV7vLbFD*FLdnfsJMtkm4N@4&d{Uxs!!e77~LGklNNk zVysQ~7L#*D-dp1}(_$by%RIJ4y7xrhZmSg9>1h*Pu!!RihYqewkBF+P*6>RZW^ho~ zs-y;1C;o{HDgWV-*ZqFuI%S`yp8la4mTzp1@f){sars@@g$Pk>_mG4LD?=$5o-ZvC zs&ecjEU9qJMaEtZHP5@AFV{}SHFDJE_KzhdUx>*Bnw0Z3Z*;AZ*Q1&i5%q-=wi}j= zrulax$|5JXMcH@Wcg(aw|MvWJ++Bi`-Kf@Kpo3?DAVJX3)V!duq0qVkCo{oZGV;dc ztI8K41@Wn=KxACwcAZCc6!LU3eHOcN@1uY(Bn330D_NyKDaps^7&^sS!gk~D5t^%a zM8$6mTE*BkN6|!-ow9RqIwdF&;H3mi#<^V({ z+`O$vT%9ymRaI4c_)tezHyUpOu>c_)q?4PEPX%Y?U)f7x}bEKxk}c z;iIf~iI&{PeQ^24>hx$qvD#78Mm~)K2+f065tia|P%qo@_)7l_C`7iNEyK zw6$?D+6unk7s{1ciZi|WaTe~8@~jT>QHK1*o*~2eJdoum(z^X4^VreRQNOupmF@Ko zdag~vuvvTaQBbRVWTPK(iA%0GX>+p4w^F{#n;#J0>i6&8tYS|>z?CBRHfy-oaz4n^ z6#z~i43!3bb+&GM1#E6VMYA8V0*94)niU4{tnL0(zjo70osRsy(?RZ|IFzXYUJ@(#GIMT!OdlZMU4y~~cJ z%}nf$dQxud?@qY)(R1QJ#>zk28Q^$o4O$Trniif)m&!pFb5-3!vG-2(@WqdfnfW(o zNO3eNBIio&`qJRX+t?L7$9eLZo1~5=rTmJnbSY0+kncNW`FQ6Q)o4yPt6^o=*i->7 zjMMLXT17P|kpC3)7?v!m&g~nMc@kII$?5+yO}xhIGFMaR`lR>t@#pU|pA(A)R59D~ z2a8#P{QUiW!6#efoce}_IbB_9{tN5ip4*B94b+Dg+>A{64nOk659aK|78$M=SvD3F z6zuTQV<4+G#kG~W&h(vvZ;T2moyi1*g@?-?cPv*@UBz{gS(nUj8q!TaXR_ literal 0 HcmV?d00001 diff --git a/TEMA4/Figure4.png b/TEMA4/Figure4.png new file mode 100644 index 0000000000000000000000000000000000000000..0155b372361709b4c09a984536e1d3a2f25b4a16 GIT binary patch literal 8801 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 literal 0 HcmV?d00001 diff --git a/TEMA4/Figure5.png b/TEMA4/Figure5.png new file mode 100644 index 0000000000000000000000000000000000000000..d108e77a58eb56d0b1a26d28e1dea28577730e6b GIT binary patch literal 13961 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 literal 0 HcmV?d00001 diff --git a/TEMA4/report.md b/TEMA4/report.md new file mode 100644 index 0000000..e7e9b63 --- /dev/null +++ b/TEMA4/report.md @@ -0,0 +1,602 @@ +# Отчет по теме 4 +## Подольский Никита, А-01-23 +### 1. Запуск интерактивной оболочки IDLE + +### 2. Стандартные функции +#### 2.1 Функция round – округление числа с заданной точностью +```python +>>> help(round) +Help on built-in function round in module builtins: + +round(number, ndigits=None) + Round a number to a given precision in decimal digits. + + The return value is an integer if ndigits is omitted or None. Otherwise + the return value has the same type as the number. ndigits may be negative. +>>> round(123.456,1) +123.5 +>>> round(123.456,0) +123.0 +>>> round(123.456) +123 +>>> type(round(123.456,1)) + +>>> type(round(123.456,0)) + +>>> type(round(123.456)) + +``` + +#### 2.2 Функция range – создание последовательности целых чисел с заданным шагом или, по умолчанию, с шагом 1. +```python +>>> gg=range(76,123,9) +>>> list(gg) +[76, 85, 94, 103, 112, 121] +>>> range(23) +range(0, 23) +>>> type(range(23)) + +>>> list(range(23)) +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +``` + +Объект `range(23)` будет содержать последовательность целых чисел, начиная с 0 и до 22 (так как 23 не включается). Чтобы это увидить, необходимо применить `list()`. range — это легковесный объект, который генерирует числа на лету, а не хранит их все в памяти, поэтому преобразование в list нужно только для просмотра. Границы диапазона: от 0 и до 23, проход с шагом 1 по умолчанию(Если вызываем просто `range(23)`, выводится только начальное и конечное значение). +#### 2.3 Функция zip - создание итерируемого объекта из кортежей +``` python +>>> qq = ["Podolsky", "Zhalnin", "Melnikov", "Bushmanov"] +>>> ff = zip(gg, qq) +>>> ff + +>>> tuple(ff) +((76, 'Podolsky'), (85, 'Zhalnin'), (94, 'Melnikov'), (103, 'Bushmanov')) +``` + +``` python +>>> ff[1] +Traceback (most recent call last): + File "", line 1, in + ff[1] +TypeError: 'zip' object is not subscriptable +``` +К объекту ff нельзя обратиться по индексу из-за того что он не итерируемый, так же он является не изменяемым. + +#### 2.4 Функция eval – вычисление значения выражения, корректно записанного на языке Python и представленного в виде символьной строки. +```python +>>> fff = float(input('коэффициент усиления=')); dan=eval('5*fff-156') +коэффициент усиления=73 +>>> fff +73.0 +>>> dan +209.0 +``` + +#### 2.5 Функция exec – чтение и выполнение объекта-аргумента функции. +``` python +>>> exec(input('введите инструкции:')) +введите инструкции: +>>> perem=-123.456;gg=round(abs(perem)+98,3) +>>> gg +221.456 +``` +Функции eval() и exec() нужно использовать с осторожностью, так как они затрудняют чтение и понимание программ. Отличие eval() от exec() в том, что eval() вычисляет выражение (expression), а exec() выполняет инструкции (statements). Выражения — подмножество инструкций, отличающееся наличием результата. Например, 1, 1+2, a+3 — выражения, а присваивание или условный оператор — инструкции. +#### 2.6. Функции abs, pow, max, min, sum, divmod, len, map. + +```python +# Функция abs (возвращает модуль числа) +>>> x = abs(-25) +>>> x +25 + +# Функция pow (возведение в степень) +>>> pow(3, 4) +81 +>>> pow(7, 3, 5) # 7**3 = 343, затем 343 % 5 = 3 +3 + +# Функции max и min (поиск максимума и минимума) +>>> max(12, 7, 29) +29 +>>> min(-8, 15, 0) +-8 + +# Функция sum (суммирование элементов) +>>> sum([5, 10, 15]) +30 +>>> sum([5, 10, 15], 5) +35 + +# Функция divmod (возвращает кортеж: целая часть и остаток) +>>> divmod(47, 6) +(7, 5) + +# Функция len (возвращает длину последовательности) +>>> len(['a', 'b', 'c', 'd']) +4 + +# Функция map (применяет функцию к каждому элементу) +>>> a = [2, 4, 6] +>>> b = [1, 3, 5] +>>> result = list(map(lambda x, y: x * y, a, b)) +>>> result +[2, 12, 30] + +``` + +### 3. Функции из стандартного модуля math – совокупность разнообразных математических функций. + +```python +>>>import math +>>>dir(math) +['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc', 'ulp'] +help(math.factorial) +Help on built-in function factorial in module math: + +factorial(x, /) + Find x!. + + Raise a ValueError if x is negative or non-integral. + +>>>math.factorial(5) +120 +``` + +Аналогичным образом изучим и попробуем применить некоторые другие функции из этого модуля: sin, acos, degrees, radians, exp, log, log10, sqrt, ceil, floor, pi. + +- Функция sin + +```python +>>>help(math.sin) +Help on built-in function sin in module math: +sin(x, /) + Return the sine of x (measured in radians). +>>>math.sin(math.pi / 3) +0.8660254037844386 +``` + +- Функция acos + +```python +>>>help(math.acos) +Help on built-in function acos in module math: +acos(x, /) + Return the arc cosine (measured in radians) of x. + + The result is between 0 and pi. +>>>math.acos(1) +0.0 +``` + +- Функция degrees + +```python +>>>help(math.degrees) +Help on built-in function degrees in module math: +degrees(x, /) + Convert angle x from radians to degrees. +>>>math.degrees(math.pi / 2) +90.0 +``` + +- Функция radians + +```python +>>>help(math.radians) +Help on built-in function radians in module math: + +radians(x, /) + Convert angle x from degrees to radians. +>>>math.radians(360) +6.283185307179586 +>>>math.radians(157) +2.7401669256310974 +``` + +- Функция exp + +```python +>>>help(math.exp) +Help on built-in function exp in module math: +exp(x, /) + Return e raised to the power of x. +>>>math.exp(3) +20.085536923187668 +>>>math.exp(5) +148.4131591025766 +``` + +- Функция log + +```python +>>>help(math.log) +Help on built-in function log in module math: + +log(...) + log(x, [base=math.e]) + Return the logarithm of x to the given base. + + If the base not specified, returns the natural logarithm (base e) of x. +>>>math.log(10) +2.302585092994046 +>>>math.log(math.e) +1.0 +``` + +- Функция log10 + +```python +>>>help(math.log10) +Help on built-in function log10 in module math: + +log10(x, /) + Return the base 10 logarithm of x. +>>>math.log10(10) +1.0 +>>>math.log10(100) +2.0 +>>>math.log10(105) +>>>2.0211892990699383 +``` + +- Функция sqrt + +```python +>>>help(math.sqrt) +Help on built-in function sqrt in module math: + +sqrt(x, /) + Return the square root of x. +>>>math.sqrt(16) +4.0 +>>>math.sqrt(25) +5.0 +``` + +- Функция ceil(округление в большую сторону) + +```python +help(math.ceil) +Help on built-in function ceil in module math: + +ceil(x, /) + Return the ceiling of x as an Integral. + + This is the smallest integer >= x. + +>>>math.ceil(4.56) +5 +>>>math.ceil(130.1) +131 +``` + +- Функция floor(округление в меньшую сторону) + +```python +>>>help(math.floor) +Help on built-in function floor in module math: + +floor(x, /) + Return the floor of x as an Integral. + + This is the largest integer <= x. + +>>>math.floor(99.999) +99 +``` + +- Функция pi + +```python +>>>math.pi +3.141592653589793 +``` + +### 4. Функции из модуля cmath – совокупность функций для работы с комплексными числами. + +```python +>>>import cmath +>>>dir(cmath) +['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'cos', 'cosh', 'e', 'exp', 'inf', 'infj', 'isclose', 'isfinite', 'isinf', 'isnan', 'log', 'log10', 'nan', 'nanj', 'phase', 'pi', 'polar', 'rect', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau'] +>>>cmath.sqrt(1.2-0.5j) # извлечения квадратного корня из комплексного числа +(1.118033988749895-0.22360679774997896j) +>>>cmath.phase(1-0.5j) # функция расчета фазы +-0.4636476090008061 +``` + +### 5. Стандартный модуль random – совокупность функций для выполнения операций с псевдослучайными числами и выборками. +random - равномерно распределенное случайное число; +uniform- равномерно распределенное случайное число в диапазоне, заданном двумя аргументами; +randint - случайные целые числа в диапазоне от значения первого аргумента до значения второго; gauss - нормально распределенное случайное число с средним равным первому аргументу и стандартным отклонением равным второму аргументу; choice - случайный выбор из совокупности указанной в аргументе; shuffle - случайная перестановка элементов списка в аргументе; sample - случайный выбор подмножества элементов из списка в первом аргументе (количество элементов равно числу, указанному во втором аргументе); betavariate - случайное число с бета-распределением, где альфа равна первому аргументу, а бета равна второму аргументу; gammavariate - случайное число с гамма-распределением, где альфа равна первому аргументу, а бета равна второму аргументу. + +```python +>>>import random +>>>dir(random) +['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_ONE', '_Sequence', '_Set', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_floor', '_index', '_inst', '_isfinite', '_log', '_os', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randbytes', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate'] +>>>help(random.seed) +Help on method seed in module random: + +seed(a=None, version=2) method of random.Random instance + Initialize internal state from a seed. + + The only supported seed types are None, int, float, + str, bytes, and bytearray. + + None or no argument seeds from current time or from an operating + system specific randomness source if available. + + If *a* is an int, all bits are used. + + For version 2 (the default), all of the bits are used if *a* is a str, + bytes, or bytearray. For version 1 (provided for reproducing random + sequences from older versions of Python), the algorithm for str and + bytes generates a narrower range of seeds. + +>>>random.seed() +``` + +Функция random.seed() инициализирует начальное состояние генератора псевдослучайных чисел. + +- Функци random(равномерно распределенное случайное число от 0 до 1) + +```python +>>>random.random() +0.15224090837130377 +>>>random.random() +0.8451183120672832 +>>>random.random() +0.8392090272295469 +``` + +- Функция uniform (равномерно распределенное случайное число) + +```python +>>>random.uniform(1, 5) +1.4822447721210175 +>>>random.uniform(1, 500) +11.101749613668387 +``` + +- Функция gauss(нормально распределенное случайное число) + +```python +>>>random.gauss(1, 5) +5.705708773458442 +>>>random.gauss(12, 57) +-14.33510203993609 +``` + +- Функция randint(случайные целые числа) + +```python +>>>random.randint(3, 19) +4 +>>>random.randint(3, 19) +5 +``` + +- Функция choice (случайный выбор из совокупности) + +```python +>>>random.choice([True, "ababba", 35, 90.3, 3+5j]) +90.3 +>>>random.choice([True, "ababba", 35, 90.3, 3+5j]) +(3+5j) +``` + +- Функця shuffle (случайная перестановка элементов списка) + +```python +>>>lst = [True, "ababba", 35, 90.3, 3+5j] +>>>random.shuffle(lst) +>>>lst +[35, 'ababba', 90.3, (3+5j), True] +``` + +- Функция sample (случайный выбор подмножества элементов) + +```python +>>>random.sample(lst, 5) +['ababba', 90.3, True, (3+5j), 35] +>>>random.sample(lst, 1) +['ababba'] +``` + +- Функция betavariate(случайное число с бета-распределением) + +```python +>>>random.betavariate(1, 2) +0.3174347054415454 +>>>random.betavariate(1, 2) +0.17833765040946833 +``` + +- Функция gammavariate(случайное число с гамма-распределением) + +```python +>>>random.gammavariate(2, 5) +18.174658510394487 +>>>random.gammavariate(2, 5) +29.01757536081825 +``` + +- Создание списка с 4 случайными значениями, подчиняющимися, соответственно, равномерному, нормальному, бета и гамма – распределениям и с любыми допустимыми значениями параметров этих распределений. + +```python +>>>ls_r = [0] * 4 +>>>ls_r[0] = random.uniform(0, 5) +>>>ls_r[1] = random.gauss(0, 2) +>>>ls_r[2] = random.betavariate(1, 3) +>>>ls_r[3] = random.gammavariate(3, 2) +>>>ls_r +[3.940448252721481, -0.9946853417283795, 0.04299068887668711, 8.97265061419367] +``` + +### 6. Функции из модуля time – работа с календарем и со временем. + +- UNIX время и текущее время + time - возвращает время в секундах, прошедшее с начала эпохи, за которое обычно принимается 1.01.1970г; gmtime - возвращает объект класса struct_time, содержащий полную информацию о текущем времени (UTC): год (tm_year), месяц (tm_mon), день tm_mday)...; localtime - для получения «местного» времени (которое стоит на компьютере); asctime - преобразовывает представление времени из кортежа в строку (просто отображает время в формате строки); ctime - преобразовывает время в секундах, прошедшего с начала эпохи, в строку; sleep - прерывает работу программы на заданное время в секундах; mktime - преобразовает время из типа кортежа или struct_time в число секунд с начала эпохи. +```python +>>>import time +>>>dir(time) +['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 'monotonic', 'monotonic_ns', 'perf_counter', 'perf_counter_ns', 'process_time', 'process_time_ns', 'sleep', 'strftime', 'strptime', 'struct_time', 'thread_time', 'thread_time_ns', 'time', 'time_ns', 'timezone', 'tzname'] +c1=time.time() +c1 +1759739386.6377628 +>>>c2=time.time()-c1 # временной интервал в секундах, со времени ввода предыдущей инструкции +>>>c2 +26.08662247657776 +>>>dat = time.gmtime() # Эта функция возвращает, так называемое, «Всемирное координированное время» (UTC) +>>>dat.tm_mon # получение номера месяца +10 +>>>dat +time.struct_time(tm_year=2025, tm_mon=10, tm_mday=6, tm_hour=8, tm_min=57, tm_sec=30, tm_wday=0, tm_yday=279, tm_isdst=0) +``` + +``` python + +- Текущее время с учетом часового пояса + +```python +>>>mestn = time.localtime() +>>>list(mestn) +[2025, 10, 6, 12, 18, 35, 0, 279, 0] +``` + +- Функция asctime (преобразование представления времени из кортежа в строку) + +```python +>>>time.asctime(mestn) + +'Mon Oct 6 12:18:35 2025' +``` + +- Функция ctime (преобразование времени в секундах, прошедшего с начала эпохи, в строку) + +```python +>>>time.ctime() + +'Mon Oct 6 12:22:01 2025' +``` + +- Функция sleep (прерывание работы программы на заданное время) + +```python +>>>time.sleep(5) +``` + +- Функция mktime (преобразование времени из типа кортежа или struct_time в число секунд с начала эпохи) + +```python +>>>time.mktime(mestn) + +1759742315.0 +``` + +- Обратное преобразование из секунд в местное время + +```python +>>>time.localtime(c1) + +time.struct_time(tm_year=2025, tm_mon=10, tm_mday=6, tm_hour=11, tm_min=29, tm_sec=46, tm_wday=0, tm_yday=279, tm_isdst=0) +``` + +### 7. Графические функции + +Импортируем модули mathplotlib и pylab для построения графика. + +-Создание и отображение графика x(t): + +``` python +>>>import matplotlib +>>>import pylab + +>>>x=list(range(-3,55,4)) +>>> t=list(range(15)) +>>> pylab.plot(t,x) +[] +>>> pylab.title('Первый график') +Text(0.5, 1.0, 'Первый график') +>>> pylab.xlabel('время') +Text(0.5, 47.04444444444444, 'время') +>>> pylab.ylabel('сигнал') +Text(93.94444444444443, 0.5, 'сигнал') +>>> pylab.show() +``` +![[Figure1.png]] + +- Рассмотрим способ построения нескольких графиков на одном рисунке. + +``` python +>>> import matplotlib +>>> import pylab +>>> X1 = [12, 6, 8, 10, 7] +>>> X2 = [5, 7, 9, 11, 13] +>>> pylab.plot(X1) +[] +>>> pylab.plot(X2) +[] +>>> pylab.show() +``` +![[Figure2.png]] +- Теперь изучим возможность построения круговой диаграммы. + +```python +>>>region=['Центр','Урал','Сибирь','Юг'] +>>> naselen=[65,12,23,17] +>>> pylab.pie(naselen,labels=region) +([, , , ], [Text(-0.191013134139045, 1.0832885038559115, 'Центр'), Text(-0.861328292412156, -0.6841882582231001, 'Урал'), Text(0.04429273995539947, -1.0991078896938387, 'Сибирь'), Text(0.9873750693480946, -0.48486129194837324, 'Юг')]) +>>> pylab.show() +``` +![[Figure3.png]] +- Построение гистограммы + +```python +>>>pylab.show() +>>>data = [1, 2, 2, 3, 3, 3, 4, 4, 5] +>>>pylab.hist(data) +(array([1., 0., 2., 0., 0., 3., 0., 2., 0., 1.]), array([1. , 1.4, 1.8, 2.2, 2.6, 3. , 3.4, 3.8, 4.2, 4.6, 5. ]), ) +>>>pylab.title('Простая гистограмма') +Text(0.5, 1.0, 'Простая гистограмма') +>>>pylab.xlabel('Значения') +Text(0.5, 0, 'Значения') +>>>pylab.ylabel('Частота') +Text(0, 0.5, 'Частота') +>>>pylab.show() +``` +![[Figure4.png]] +- Построение столбиковой диаграммы + +```python +>>> import matplotlib +>>> import pylab + +>>> data = [1, 2, 2, 3, 3, 3, 4, 4, 5] + +# Гистограмма +>>> pylab.hist(data, bins=10, edgecolor='black') +>>> pylab.title('Простая гистограмма') +>>> pylab.xlabel('Значения') +>>> pylab.ylabel('Частота') +>>> pylab.grid(axis='y', alpha=0.3) +>>> pylab.show() + +``` +![[Figure5.png]] + +### 8. Статистический модуль statics + +```python +>>>import statistics +>>>data = [10, 20, 30, 40, 50] +>>> statistics.mean(data) +30 +>>> statistics.median(data) +30 +>>> statistics.stdev(data) +15.811388300841896 +>>> statistics.variance(data) +250 +>>> statistics.mode(data) +10 +``` + +### 9. Завершение работы \ No newline at end of file diff --git a/TEMA4/task.md b/TEMA4/task.md new file mode 100644 index 0000000..a93fcac --- /dev/null +++ b/TEMA4/task.md @@ -0,0 +1,47 @@ +# Общее контрольное задание по теме 4 +Подольский Никита, А-01-23 +## Задание +Реализовать, записать в текстовый файл и проанализировать результаты последовательности инструкций, выполняющих следующие действия: + +• Напишите и исполните единое выражение, реализующее последовательное выполнение следующих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деления. + +• Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами. + +• Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели. + +• Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3. + +• Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стандартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита. + +• Напишите инструкцию для определения временного интервала в минутах, прошедшего с момента предыдущего (из п.2) определения временных параметров. + +## Решение +``` python +>>> import cmath +>>> import random +>>> import time +>>> divmod((round(cmath.phase(0.2 + 0.8j), 2) * 20), 3) +(8.0, 2.6000000000000014) +>>> msc_t = time.localtime() +>>> msc_t +>>> time.struct_time(tm_year=2025, tm_mon=10, tm_mday=24, tm_hour=11, tm_min=21, tm_sec=49, tm_wday=4, tm_yday=297, tm_isdst=0) +>>> nows = str(msc_t.tm_hour) + " " + str(msc_t.tm_min) +>>> nows +'11 21' +>>> liist = ["понедельник", "вторник", "среда", "четверг", "пятница", "суббота", "воскресенье"] +>>> random.sample(liist, 3) +['среда', 'воскресенье', 'четверг'] +>>> random.choice(range(14, 33, 3)) +29 +>>> N = round(random.gauss(15,4)) +>>> N +19 +>>>spis = list('qawsedrftgyhujikol') +>>> spis = list('qawsedrftgyhujikolp') +>>> random.sample(spis, N) +['i', 't', 'h', 'q', 'j', 's', 'f', 'k', 'u', 'a', 'g', 'l', 'p', 'o', 'd', 'w', 'y', 'r', 'e'] +>>> (time.mktime(time.localtime()) - time.mktime(msc_t)) / 60 +5.533333333333333 + + +``` \ No newline at end of file