From 92a96b6b461968dfb5e3a1eb1b6d971757766c29 Mon Sep 17 00:00:00 2001 From: SavinSA Date: Mon, 24 Nov 2025 02:24:41 +0300 Subject: [PATCH] report full --- TEMA7/pic2.png | Bin 0 -> 16995 bytes TEMA7/report.md | 213 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 213 insertions(+) create mode 100644 TEMA7/pic2.png diff --git a/TEMA7/pic2.png b/TEMA7/pic2.png new file mode 100644 index 0000000000000000000000000000000000000000..076dcd5ab7eb0923c703d735b53116fdd5f81466 GIT binary patch literal 16995 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 literal 0 HcmV?d00001 diff --git a/TEMA7/report.md b/TEMA7/report.md index 145580c..fc27c86 100644 --- a/TEMA7/report.md +++ b/TEMA7/report.md @@ -321,4 +321,217 @@ TypeError: 'tuple' object does not support item assignment (1, 2, 3, 4) ``` +## 5.1. Специальные типы пользовательских функций. Анонимные функции + +```py +>>> import math +>>> anfun1 = lambda: 1.5+math.log10(17.23) +>>> anfun1() +2.7362852774480286 +>>> anfun2 = lambda a,b: a+math.log10(b) +>>> anfun2(17,234) +19.369215857410143 +>>> anfun3=lambda a,b=234: a+math.log10(b) +>>> anfun3(100) +102.36921585741014 +>>> +``` + +## 5.2. Функции-генераторы + +```py +>>> def func5(diap,shag): + """Итератор, возвращающий значения + из диапазона от 1 до diap с шагом shag""" + for j in range(1,diap+1, shag): + yield j + + +>>> for mm in func5(7,3): + print(mm) + + +1 +4 +7 +>>> alp = func5(7,3) +>>> print(alp,__next__()) +>>> print(alp.__next__()) +1 +>>> print(alp.__next__()) +4 +>>> print(alp.__next__()) +7 +>>> print(alp.__next__()) +Traceback (most recent call last): + File "", line 1, in + print(alp.__next__()) +StopIteration +``` + +## 6.1. Примеры на локализацию объектов + +### Пример 1. +```py +>>> glb=10 +>>> def func7(arg): + loc1=15 + glb=8 + return loc1*arg + +>>> res=func7(glb) +>>> res +150 +>>> glb +10 +``` + +### Пример 2. + +```py +>>> def func8(arg): + loc1 = 15 + print(glb) + glb=8 + return(loc1*arg) + +>>> res=func8(glb) +Traceback (most recent call last): + File "", line 1, in + res=func8(glb) + File "", line 3, in func8 + print(glb) +UnboundLocalError: local variable 'glb' referenced before assignment +>>> def func8(arg): + loc1 = 15 + glb=8 + print(glb) + return(loc1*arg) + +>>> res = func8(glb) +8 +>>> res +150 +>>> +``` + +### Пример 3. + +```py +>>> glb = 11 +>>> def func7(arg): + loc1=15 + global glb + print(glb) + glb = 8 + return loc1*arg + +>>> res = func7(glb) +11 +>>> glb +8 +``` + +## 6.2. Выявление локализации + +```py +>>> globals().keys() +dict_keys(['__name__', '__doc__', '__package__', '__loader__', '__spec__', '__annotations__', '__builtins__', 'os', 'anfun1', 'math', 'anfun2', 'anfun3', 'func5', 'mm', 'alp', 'glb', 'func7', 'res', 'func8']) +>>> locals().keys() +dict_keys(['__name__', '__doc__', '__package__', '__loader__', '__spec__', '__annotations__', '__builtins__', 'os', 'anfun1', 'math', 'anfun2', 'anfun3', 'func5', 'mm', 'alp', 'glb', 'func7', 'res', 'func8']) +>>> def func8(arg): + loc1 = 15 + glb=8 + print(globals().keys()) + print(locals().keys()) + return loc1*arg + +>>> hh=func8(glb) +dict_keys(['__name__', '__doc__', '__package__', '__loader__', '__spec__', '__annotations__', '__builtins__', 'os', 'anfun1', 'math', 'anfun2', 'anfun3', 'func5', 'mm', 'alp', 'glb', 'func7', 'res', 'func8']) +dict_keys(['arg', 'loc1', 'glb']) +>>> 'glb' in globals().keys() +True +``` +## 6.3. Локализация объектов при работе с вложенными функциями + +```py +>>> def func9(arg2,arg3): + def func9_1(arg1): + loc1=15 + glb1=8 + print('glob_func9_1:', globals().keys()) + print('loc1_func9_1:', locals().keys()) + return loc1*arg1 + loc1=5 + glb=func9_1(loc1) + print('loc_func9:',locals().keys()) + print('glob_func9:',globals().keys()) + return arg2+arg3*glb + +>>> kk=func9(10,1) +glob_func9_1: dict_keys(['__name__', '__doc__', '__package__', '__loader__', '__spec__', '__annotations__', '__builtins__', 'os', 'anfun1', 'math', 'anfun2', 'anfun3', 'func5', 'mm', 'alp', 'glb', 'func7', 'res', 'func8', 'hh', 'func9']) +loc1_func9_1: dict_keys(['arg1', 'loc1', 'glb1']) +loc_func9: dict_keys(['arg2', 'arg3', 'func9_1', 'loc1', 'glb']) +glob_func9: dict_keys(['__name__', '__doc__', '__package__', '__loader__', '__spec__', '__annotations__', '__builtins__', 'os', 'anfun1', 'math', 'anfun2', 'anfun3', 'func5', 'mm', 'alp', 'glb', 'func7', 'res', 'func8', 'hh', 'func9']) +>>> kk +85 +``` + +## 6.4. + +```py +>>> znach=input('k1,T,k2,Xm,A,F,N=').split(',') +k1,T,k2,Xm,A,F,N=5,20,2,1,10,0.02,50 +>>> T=float(znach[1]) +>>> k2 = float(znach[2]) +>>> k1=float(znach[0]) +>>> Xm = float(znach[3]) +>>> A=float(znach[4]) +>>> F=float(znach[5]) +>>> N=int(znach[6]) +>>> vhod=[] +>>> for i in range(N): + vhod.append(A*math.sin((2*i*math.pi)*F)) + + +>>> vhod +[0.0, 1.2533323356430426, 2.486898871648548, 3.6812455268467796, 4.817536741017153, 5.877852522924732, 6.845471059286887, 7.705132427757892, 8.443279255020151, 9.048270524660197, 9.510565162951535, 9.822872507286887, 9.980267284282716, 9.980267284282716, 9.822872507286887, 9.510565162951536, 9.048270524660195, 8.44327925502015, 7.705132427757892, 6.845471059286888, 5.877852522924733, 4.817536741017152, 3.6812455268467814, 2.486898871648548, 1.2533323356430408, 1.2246467991473533e-15, -1.2533323356430428, -2.486898871648546, -3.681245526846779, -4.817536741017154, -5.87785252292473, -6.845471059286884, -7.705132427757894, -8.443279255020153, -9.048270524660198, -9.510565162951535, -9.822872507286887, -9.980267284282716, -9.980267284282716, -9.822872507286887, -9.510565162951536, -9.048270524660198, -8.44327925502015, -7.705132427757896, -6.84547105928689, -5.877852522924734, -4.817536741017153, -3.6812455268467787, -2.486898871648545, -1.2533323356430466] +>>> def realdvig(xtt,kk1,TT,yti1,ytin1): + yp=kk1*xtt + yti1=yp+yti1 + ytin1=(yti1+TT*ytin1)/(TT+1) + return [yti1,ytin1] + +>>> def tahogen(xtt,kk2,yti2): + yp=kk2*xtt + yti2=yp+yti2 + return yti2 + +>>> def nechus(xtt,gran): + if xtt(-gran): + ytt=0 + elif xtt>=gran: + ytt=xtt-gran + elif xtt<=(-gran): + ytt=xtt+gran + return ytt + +>>> yi1=0;yin1=0;yi2=0 +>>> vyhod=[] +>>> for xt in vhod: + xt1=xt-yi2 + [yi1,yin1]=realdvig(xt1,k1,T,yi1,yin1) + yi2=tahogen(yin1,k2,yi2) + yt=nechus(yin1,Xm) + vyhod.append(yt) + + +>>> print('y=',vyhod) +y= [0, 0, 0.03263241167294595, 0.9745456461939759, 1.4445477037255587, 0.5534963485187296, -0.14317115231403954, -3.810424583957446, -5.935617950854518, -3.1454619295767294, 4.410078865544928, 17.906974115100144, 26.191694213352932, 16.564012161149634, -16.52439077227259, -67.59051021156763, -101.3214249457787, -69.9621783842152, 55.00346225455457, 246.14981490076363, 380.49988175932214, 278.83918136760593, -179.12097686946288, -894.831188510742, -1427.8203056594884, -1106.6971235336005, 553.0427518851675, 3227.436842271835, 5328.628272818676, 4345.723637601036, -1642.536200959916, -11619.299856185102, -19859.46237228057, -16988.531756411103, 4552.501490270824, 41710.04551030272, 73876.07518877511, 66108.68459616054, -11169.337014708513, -149332.61878005945, -274368.6364383781, -256250.17990633397, 20228.386522231223, 533135.2397813796, 1017335.790045514, 989751.144011423, 3441.7330011494814, -1897576.0088700322, -3766140.0629690504, -3810393.13835538] +>>> import pylab +>>> pylab.plot(vyhod) +[] +>>> pylab.show() +``` +![Скриншот полученного графика](pic2.png)