From 6dc818f770610d5caa3cdbc05938a88af2a29546 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 23 Sep 2025 11:49:35 +0200 Subject: [PATCH] third commit report changing --- TEMA8/report.md | 147 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 145 insertions(+), 2 deletions(-) diff --git a/TEMA8/report.md b/TEMA8/report.md index 776e897..839a412 100644 --- a/TEMA8/report.md +++ b/TEMA8/report.md @@ -151,6 +151,149 @@ qq= 82226315585.59491 '5' ``` -## 3.2 +## 3.2 Создание модулей для реализации программы моделирования системы управления -## 3.3 \ No newline at end of file +Были созданы модули MM1 - с функциями реализующими реальный двигатель, тахогенератор и нелинейное звено; MM2 - с инструкциями, обеспечивающими ввод параметров задачи, формирование входного сигнала, импорт модуля ММ1 и реализацию модели при расчете выходного сигнала; MM0 - содержащую импорт модуля MM2 и печатающую получившийся выходной сигнал. Был вызван модуль MM0. + +```py +================= RESTART: C:\Users\Лиза\OneDrive\Desktop\python-labs\TEMA8\MM0.py ================= +k1,T,k2,Xm,A,F,N=0.5,35,0.6,5,1000,5,15 +y= [0, 8.209118281877132, 29.104924685415277, 40.86232427117668, 38.3075414151359, 34.68635884409398, 42.90679739719954, 57.19526562043458, 60.53754513466764, 47.64611630565597, 31.742316122264157, 25.812753880749888, 24.278160244795345, 10.44509996519298, -10.518946273258612] +```py + +## 3.3 Изучение области действия обьектов в модулях + +Была изучена область действия обьектов в модулях. Исходя из примеров, приведенных ниже, можно сказать, что обьекты входящие в один модуль будут локализованы в этом модуле и доступны в нем. К переменным из другого модуля, даже импортированного в главный (выполняемый) модуль, прямого доступа не будет. + +## 3.3.1 Изучение области действия обьектов в модулях (пример 1) + +Внутрь модуля Mod2 в функцию alpha был добавлен вызов функции beta. + +``` +def alpha(): + print('****ALPHA****') + t=input('Значение t=') + n = beta(6) + print(n) + return t +``` +Далее запущен модуль и вызвана функция alpha. Можно заметить, что инструкции успешно выполнились. + +```py +>>>alpha() +****ALPHA**** +Значение t=9 +153552935.39544657 +'9' +``` +Далее в модуле в функции beta был добавлен вызов функции alpha. + +```py +def beta(q): + import math + expi=q*math.pi + alpha() + return math.exp(expi) +``` + +Функция beta была успешно вызвана + +``` +beta(6) +****ALPHA**** +Значение t=9 +153552935.39544657 +``` + +## 3.3.2 Изучение области действия обьектов в модулях (пример 2) + +В модуль Mod0 была добавлена функция печати переменных t и expi, которые есть в Mod2. + +```py +#Модуль Mod0 +import Mod1 +print('perm1=',Mod1.perm1) +from Mod2 import alpha as al +tt=al() +print('tt=',tt) +from Mod2 import beta +qq=beta(float(tt)) +print('qq=',qq) +print(t, expi) +``` +При запуске модуля на моменте печати этих переменных была выдана ошибка. + +```py +Mod1:Введите значение = 5 +Mod1:Значение perm1= 5 +perm1= 5 +****ALPHA**** +Значение t=7 +tt= 7 +qq= 3553321280.847041 +Traceback (most recent call last): + File "C:\Users\Лиза\OneDrive\Desktop\python-labs\TEMA8\Mod0.py", line 10, in + print(t, expi) +NameError: name 't' is not defined. Did you mean: 'tt'? +``` + +## 3.3.3 Изучение области действия обьектов в модулях (пример 3) + +В модуле Mod0 были добавлены инструкции, где переменная perm1 была увеличена в 3 раза и напечатана + +```py +#Модуль Mod0 +import Mod1 +print('perm1=',Mod1.perm1) +from Mod2 import alpha as al +tt=al() +print('tt=',tt) +from Mod2 import beta +qq=beta(float(tt)) +print('qq=',qq) +perm1 = Mod1.perm1*3 +print("perm1*3= ", perm1) +``` + +При запуске модуля напечаталась переменная perm1 умноженная на 3. Так как эта переменная класса строка, то строка была повторена трижды и сформирована новая строка. + +```py +Mod1:Введите значение = 4 +Mod1:Значение perm1= 4 +perm1= 4 +****ALPHA**** +Значение t=3 +tt= 3 +qq= 12391.647807916694 +perm1*3= 444 +``` + +## 3.3.4 Изучение области действия обьектов в модулях (пример 4) + +В командной строке после выполнения главного модуля была произведена попытка изменить переменные perm1, tt, qq. В итоге tt и qq изменились, а при обращении к perm1 была выведена ошибка. + +```py +================= RESTART: C:\Users\Лиза\OneDrive\Desktop\python-labs\TEMA8\Mod0.py ================ +Mod1:Введите значение = 5 +Mod1:Значение perm1= 5 +perm1= 5 +****ALPHA**** +Значение t=7 +tt= 7 +qq= 3553321280.847041 +>>>perm1 = perm1*2 +Traceback (most recent call last): + File "", line 1, in + perm1 = perm1*2 +NameError: name 'perm1' is not defined +>>>tt = tt*2 +>>>tt +'77' +>>>qq = qq*2 +>>>qq +7106642561.694082 +``` + +## 4 Завершение работы в IDLE + +Был завершен сеанс в среде IDLE. \ No newline at end of file