Изменил(а) на 'TEMA7/report.md'

main
EfremovSI 1 месяц назад
Родитель 91403991f4
Сommit dcd593e27b

@ -300,7 +300,7 @@ def func5(diap,shag):
""" Итератор, возвращающий значения
из диапазона от 1 до diap с шагом shag"""
for j in range(1,diap+1,shag):
yield j
yield j #делает одну итерацию
for mm in func5(7,3):
print(mm)
@ -309,7 +309,7 @@ def func5(diap,shag):
7
alp=func5(7,3)
print(alp.__next__())
print(alp.__next__())
1
print(alp.__next__())
4
@ -319,7 +319,7 @@ print(alp.__next__())
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
print(alp.__next__())
StopIteration
StopIteration #отработал условие и устал
```
## 6. Локализация объектов в функциях
@ -329,14 +329,14 @@ glb=10
def func7(arg):
loc1=15
glb=8
return loc1*arg
return loc1*arg #arg принимает значения глоб. параметра глб, поэтому на 8 не умножается
res=func7(glb);res
150
def func8(arg):
loc1=15
print(glb)
print(glb) #в момент запуска glb считается локальной переменной в функции func8, однако в момент печати не была локализована
glb=8
return loc1*arg
@ -351,13 +351,13 @@ UnboundLocalError: cannot access local variable 'glb' where it is not associated
glb=11
def func7(arg):
loc1=15
global glb
print(glb)
glb=8
global glb
print(glb) #объявлена как глобальная и выведена до присваивания ей нового значения 8, поэтому 11
glb=8
return loc1*arg
res=func7(glb);res
11
165
165 #при следующей попытке запуска функции умножит loc1 на 8, а не на 11
```
**6.2. Выявление локализации объекта с помощью функций locals() и globals() из builtins**
@ -401,7 +401,7 @@ def func9(arg2,arg3):
kk=func9(10,1)
glob_func9_1: dict_keys(['__name__', '__doc__', '__package__', '__loader__', '__spec__', '__annotations__', '__builtins__', 'anfun1', 'math', 'anfun2', 'anfun3', 'func5', 'mm', 'alp', 'glb', 'func7', 'res', 'func8', 'hh', 'func9'])
locl_func9_1: dict_keys(['arg1', 'loc1', 'glb1'])
loc_func9: dict_keys(['arg2', 'arg3', 'func9_1', 'loc1', 'glb'])
loc_func9: dict_keys(['arg2', 'arg3', 'func9_1', 'loc1', 'glb']) #фукнция func9 сработала позже, следовательно арг2 арг3 появились позже
glob_func9: dict_keys(['__name__', '__doc__', '__package__', '__loader__', '__spec__', '__annotations__', '__builtins__', 'anfun1', 'math', 'anfun2', 'anfun3', 'func5', 'mm', 'alp', 'glb', 'func7', 'res', 'func8', 'hh', 'func9'])
```
@ -409,7 +409,7 @@ glob_func9: dict_keys(['__name__', '__doc__', '__package__', '__loader__', '__sp
```python
import math
# Ввод параметров
znach = input('k1,T,k2,Xm,A,F,N=').split(',')
k1 = float(znach[0])
T = float(znach[1])
@ -419,17 +419,15 @@ A = float(znach[4])
F = float(znach[5])
N = int(znach[6])
print(f"Параметры системы: k1={k1}, T={T}, k2={k2}, Xm={Xm}")
print(f"Входной сигнал: A={A}, F={F}, N={N}")
# Создание входного сигнала (синусоида)
vhod = []
for i in range(N):
vhod.append(A * math.sin((2 * i * math.pi) / F))
print("Входной сигнал:", vhod[:10]) # Покажем первые 10 значений
print("Входной сигнал:", vhod)
# Функции компонентов системы
def realdvig(xtt, kk1, TT, yti1, ytin1):
"""Модель реального двигателя"""
yp = kk1 * xtt # усилитель
@ -453,12 +451,11 @@ def nechus(xtt, gran):
ytt = xtt + gran
return ytt
# Моделирование системы
yi1 = 0 # состояние интегратора двигателя
yin1 = 0 # состояние инерционного звена
yi2 = 0 # состояние интегратора тахогенератора
vyhod = [] # выход системы
yi1 = 0
yin1 = 0
yi2 = 0
vyhod = []
for xt in vhod:
xt1 = xt - yi2 # отрицательная обратная связь

Загрузка…
Отмена
Сохранить