main
unknown 4 недель назад
Родитель 9261c4489a
Сommit 6dc818f770

@ -151,6 +151,149 @@ qq= 82226315585.59491
'5' '5'
``` ```
## 3.2 ## 3.2 Создание модулей для реализации программы моделирования системы управления
## 3.3 Были созданы модули 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 <module>
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 "<pyshell#5>", line 1, in <module>
perm1 = perm1*2
NameError: name 'perm1' is not defined
>>>tt = tt*2
>>>tt
'77'
>>>qq = qq*2
>>>qq
7106642561.694082
```
## 4 Завершение работы в IDLE
Был завершен сеанс в среде IDLE.
Загрузка…
Отмена
Сохранить