Сравнить коммиты

..

6 Коммитов

Автор SHA1 Сообщение Дата
Дмитрий Антонов
5b78df2a99 done lab work 2025-12-17 19:36:01 +03:00
Дмитрий Антонов
38387e98f7 almost done labor eight 2025-12-04 21:03:01 +03:00
Дмитрий Антонов
0cb3072d7c done 2025-11-09 00:38:36 +03:00
Дмитрий Антонов
eb4349f8a3 resolve mistakes 2025-10-26 01:08:00 +03:00
Дмитрий Антонов
39f0d2548a done lab 2025-10-26 01:05:50 +03:00
Дмитрий Антонов
4f678a7432 done lab 2025-10-26 01:04:01 +03:00
30 изменённых файлов: 1913 добавлений и 0 удалений

Двоичные данные
TEMA5/Figure_1.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 54 KiB

Двоичные данные
TEMA5/Figure_2.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 18 KiB

277
TEMA5/report.md Обычный файл
Просмотреть файл

@@ -0,0 +1,277 @@
# Отчет по теме 5
**Антонов Дмитрий, А-03-23**
### Начало работы, изучение циклов и ветвлений
### 1. Изучение ветвления if else
- Множественное ветвление с помощью elif
```py
porog = 5
rashod1 = 10
rashod2 = 15
if rashod1>=porog:
dohod=12
elif rashod2==porog:
dohod=0
else:
dohod=-8
dohod
12
```
#### 1.1 Проверка сложного условия
```py
if rashod1>=3 and rashod2==4:
dohod=rashod1
if rashod2==porog or rashod1<rashod2:
dohod=porog
dohod
12
```
#### 1.2 Пример нескольких ветвей elif
```py
if porog==3:
dohod=1
elif porog==4:
dohod=2
elif porog==5:
dohod=3
else:
dohod=0
dohod
3
```
#### 1.3 Присваивание значения переменной с использованием условий if else
```py
dohod=2 if porog>=4 else 0
dohod
2
```
- Блок действий можно записать в строку
```py
if porog>=5: rashod1=6; rashod2=0
rashod1
6
```
### 2. Изучения цикла for
```py
temperatura=5
for i in range(3,18,3):
temperatura+=i
temperatura
50
```
#### 2.1 Комбинированние цикла for и if
```py
sps=[2,15,14,8]
for k in sps:
if len(sps)<=10:sps.append(sps[0])
else:break
sps
[2, 15, 14, 8, 2, 2, 2, 2, 2, 2, 2]
```
- В цикле ниже создается копия списка
```py
sps=[2,15,14,8]
for k in sps[:]:
if len(sps)<=10:sps.append(sps[0])
else:break
sps
[2, 15, 14, 8, 2, 2, 2, 2]
import random as rn;sps5=[]
for i in range(10):
sps5.append(rn.randint(1,100))
ss=sum(sps5)
if ss>500: break
else:
print(ss)
for i in range(10):
sps5.append(rn.randint(1,10))
ss=sum(sps5)
if ss>500: break
else:
print(ss)
992
sps5=[]
for i in range(10):
sps5.append(rn.randint(1,100))
ss=sum(sps5)
if ss>500: break
else:
print(ss)
453
stroka='Это – автоматизированная система';stroka1=""
for ss in stroka:
stroka1+=" "+ss
stroka1
' Э т о – а в т о м а т и з и р о в а н н а я с и с т е м а'
```
### 3. Запись цикла в строке
```py
import math
sps2=[math.sin(i*math.pi/5+2) for i in range(100)]
sps2
[0.9092974268256817, 0.49103209793281005, -0.11479080280322804, -0.6767675184643197, -0.9802420445539634, -0.9092974268256817, -0.49103209793281016, 0.11479080280322791, 0.6767675184643196, 0.9802420445539634, 0.9092974268256818, 0.4910320979328103, -0.1147908028032278, -0.6767675184643196, -0.9802420445539632, -0.9092974268256818, -0.4910320979328104, 0.11479080280322768, 0.6767675184643195, 0.9802420445539632, 0.9092974268256819, 0.4910320979328105, -0.11479080280322579, -0.6767675184643194, -0.9802420445539632, -0.9092974268256819, -0.4910320979328106, 0.11479080280322743, 0.6767675184643193, 0.9802420445539632, 0.909297426825682, 0.49103209793281066, -0.1147908028032273, -0.6767675184643192, -0.9802420445539632, -0.909297426825682, -0.4910320979328108, 0.11479080280322719, 0.6767675184643192, 0.9802420445539631, 0.9092974268256822, 0.491032097932814, -0.11479080280322707, -0.676767518464319, -0.9802420445539625, -0.9092974268256822, -0.491032097932811, 0.11479080280323047, 0.6767675184643189, 0.9802420445539625, 0.9092974268256822, 0.4910320979328142, -0.11479080280322682, -0.6767675184643215, -0.9802420445539631, -0.9092974268256808, -0.4910320979328112, 0.11479080280322317, 0.6767675184643187, 0.9802420445539624, 0.9092974268256823, 0.4910320979328082, -0.11479080280322658, -0.6767675184643213, -0.980242044553963, -0.9092974268256838, -0.49103209793281144, 0.11479080280322293, 0.6767675184643186, 0.9802420445539637, 0.9092974268256824, 0.49103209793280844, -0.11479080280322633, -0.6767675184643158, -0.980242044553963, -0.9092974268256839, -0.49103209793281166, 0.11479080280322974, 0.6767675184643184, 0.9802420445539637, 0.9092974268256825, 0.4910320979328149, -0.11479080280321903, -0.6767675184643209, -0.9802420445539629, -0.909297426825681, -0.4910320979328119, 0.11479080280322244, 0.6767675184643129, 0.9802420445539636, 0.9092974268256826, 0.49103209793281505, -0.11479080280322584, -0.6767675184643155, -0.9802420445539644, -0.9092974268256812, -0.49103209793281205, 0.1147908028032222, 0.6767675184643127, 0.980242044553965]
```
- Построение графика
```py
import matplotlib.pyplot as plt
pylab.plot(sps2,color='green',label = 'синусоидальный сигнал')
[<matplotlib.lines.Line2D object at 0x0000023A2BB96900>]
pylab.title('График синусоидального сигнала')
Text(0.5, 1.0, 'График синусоидального сигнала')
plt.show()
```
![График синусоидального сигнала](Figure_1.png)
### 4. Изучение цикла while
```py
rashod=300
while rashod:
print("Расход=",rashod)
rashod-=50
Расход= 300
Расход= 250
Расход= 200
Расход= 150
Расход= 100
Расход= 50
import math
stroka='Расчет процесса в объекте регулирования';i=0;sps2=[]
while i<len(stroka):
r=1-2/(1+math.exp(0.1*i))
sps2.append(r)
print('Значение в момент',i,"=",r)
i+=1
Значение в момент 0 = 0.0
Значение в момент 1 = 0.049958374957880025
Значение в момент 2 = 0.09966799462495568
Значение в момент 3 = 0.14888503362331795
Значение в момент 4 = 0.197375320224904
Значение в момент 5 = 0.2449186624037092
Значение в момент 6 = 0.2913126124515909
Значение в момент 7 = 0.3363755443363322
Значение в момент 8 = 0.3799489622552249
Значение в момент 9 = 0.421899005250008
Значение в момент 10 = 0.4621171572600098
Значение в момент 11 = 0.5005202111902354
Значение в момент 12 = 0.5370495669980353
Значение в момент 13 = 0.5716699660851172
Значение в момент 14 = 0.6043677771171636
Значение в момент 15 = 0.6351489523872873
Значение в момент 16 = 0.6640367702678489
Значение в момент 17 = 0.6910694698329307
Значение в момент 18 = 0.7162978701990245
Значение в момент 19 = 0.7397830512740043
Значение в момент 20 = 0.7615941559557649
Значение в момент 21 = 0.7818063576087741
Значение в момент 22 = 0.8004990217606297
Значение в момент 23 = 0.8177540779702878
Значение в момент 24 = 0.8336546070121553
Значение в момент 25 = 0.8482836399575129
Значение в момент 26 = 0.8617231593133063
Значение в момент 27 = 0.874053287886007
Значение в момент 28 = 0.8853516482022625
Значение в момент 29 = 0.8956928738431645
Значение в момент 30 = 0.9051482536448664
Значение в момент 31 = 0.9137854901178277
Значение в момент 32 = 0.9216685544064713
Значение в момент 33 = 0.9288576214547277
Значение в момент 34 = 0.935409070603099
Значение в момент 35 = 0.9413755384972874
Значение в момент 36 = 0.9468060128462683
Значение в момент 37 = 0.9517459571646616
Значение в момент 38 = 0.9562374581277391
```
- Построение графика
```py
import pylab
pylab.plot(sps2,color='yellow')
[<matplotlib.lines.Line2D object at 0x000001DE04A45550>]
pylab.title('сигнал на выходе инерционного звена из списка sps2')
Text(0.5, 1.0, 'сигнал на выходе инерционного звена из списка sps2')
pylab.show()
```
![сигнал на выходе инерционного звена из списка](Figure_2.png)
### 5. Проврека, является ли число простым с помощью циклов
```py
chislo=267 #Проверяемое число
kandidat =chislo // 2
kandidat
133
while kandidat > 1:
if chislo%kandidat == 0: # Остаток от деления
print(chislo, ' имеет множитель ', kandidat)
break # else выполняться не будет
kandidat -= 1
else: # При завершении цикла без break
print(chislo, ' является простым!')
267 имеет множитель 89
for current in range(250,301,1):
kandidat = current // 2
while kandidat > 1:
if current%kandidat == 0: # Остаток от деления
print(current, ' имеет делитель ', kandidat)
break # else выполняться не будет
kandidat -= 1
else: # При завершении цикла без break
print(current, ' является простым!')
250 имеет множитель 125
251 является простым!
252 имеет множитель 126
253 имеет множитель 23
254 имеет множитель 127
255 имеет множитель 85
256 имеет множитель 128
257 является простым!
258 имеет множитель 129
259 имеет множитель 37
260 имеет множитель 130
261 имеет множитель 87
262 имеет множитель 131
263 является простым!
264 имеет множитель 132
265 имеет множитель 53
266 имеет множитель 133
267 имеет множитель 89
268 имеет множитель 134
269 является простым!
270 имеет множитель 135
271 является простым!
272 имеет множитель 136
273 имеет множитель 91
274 имеет множитель 137
275 имеет множитель 55
276 имеет множитель 138
277 является простым!
278 имеет множитель 139
279 имеет множитель 93
280 имеет множитель 140
281 является простым!
282 имеет множитель 141
283 является простым!
284 имеет множитель 142
285 имеет множитель 95
286 имеет множитель 143
287 имеет множитель 41
288 имеет множитель 144
289 имеет множитель 17
290 имеет множитель 145
291 имеет множитель 97
292 имеет множитель 146
293 является простым!
294 имеет множитель 147
295 имеет множитель 59
296 имеет множитель 148
297 имеет множитель 99
298 имеет множитель 149
299 имеет множитель 23
300 имеет множитель 150
```

42
TEMA5/task.md Обычный файл
Просмотреть файл

@@ -0,0 +1,42 @@
# Общее контрольное задание по теме 5
**Антонов Дмитрий, А-03-23**
### Фрагмент программы поиска средней оценки по введенной фамилии
```py
stng = 'Hello Poac'
for symbol in strng:
if(symbol.isalpha()):
dictionary[symbol] = ord(symbol.lower()) - 96
dictionary
{'H': 8, 'e': 5, 'l': 12, 'o': 15, 'P': 16, 'a': 1, 'c': 3}
```
### Проверка нахождения элемента в списке
```py
spis = 'Создайте список со словами из задания данного пункта'.split(" ")
if 'список' in spis:
print('слово найдено!!!!')
else: print('Такого слова нет!!!')
слово найдено!!!!
if 'POAC' in spis:
print('слово найдено!!!!')
else: print('Такого слова нет!!!')
Такого слова нет!!!
```
### Программа расчета средней оценки
```py
familia = ['Антонов','Ефимова','Гордиевских','Девятова']
mark = [5,5,5,5]
familia2 = ['Ефимова','Гордиевских','Девятова','Антонов']
mark_winter = [5,5,5,5]
inpt = input("Введите фамилию студента:")
for curent in familia:
for crnnt in familia2:
if(crnnt == inpt and curent == inpt):
indx = familia.index(crnnt)
indx2 = familia2.index(crnnt)
print((mark[indx]+mark_winter[indx2])/2)
break
```

25
TEMA5/test.md Обычный файл
Просмотреть файл

@@ -0,0 +1,25 @@
# Контрольное задание по лабораторной работе №5
**Антонов Дмитрий А-03-23**
### Создание кортежа со случайными числами в диапазоне от 20 до 98, размером 20
```py
kort = tuple(rnd.uniform(20,99) for i in range(20))
kort
(53.86162392247127, 23.64159596287047, 61.209080362158105, 90.19643865216301, 37.26052220441301, 26.291107540558315, 53.4491861411439, 70.91796073939588, 25.89828362411023, 45.202539366284824, 90.03260139325205, 76.24879442920543, 47.45325503226437, 61.971082638980874, 54.25047450833701, 46.43893208150455, 54.68716762380848, 92.31434477894435, 82.8913567268144, 40.52090472090592)
```
- Проверил тип созданного объекта
```py
type(kort)
<class 'tuple'>
```
### Создание нового кортежа, который включает элементы со значениями от 40 до 70
```py
newkort = tuple(now for now in kort if 40<=now<=70)
newkort
(53.86162392247127, 61.209080362158105, 53.4491861411439, 45.202539366284824, 47.45325503226437, 61.971082638980874, 54.25047450833701, 46.43893208150455, 54.68716762380848, 40.52090472090592)
```
### Расчет среднего значения по новому кортежу
```py
average = sum(newkort)/ len(newkort)
average
51.90442463978593
```

12
TEMA5/л5.py Обычный файл
Просмотреть файл

@@ -0,0 +1,12 @@
familia = ['Антонов','Ефимова','Гордиевских','Девятова']
mark = [5,5,5,5]
familia2 = ['Ефимова','Гордиевских','Девятова','Антонов']
mark_winter = [5,5,5,5]
inpt = input("Введите фамилию студента:")
for curent in familia:
for crnnt in familia2:
if(crnnt == inpt and curent == inpt):
indx = familia.index(crnnt)
indx2 = familia2.index(crnnt)
print((mark[indx]+mark_winter[indx2])/2)
break

Двоичные данные
TEMA6/fig1.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 13 KiB

268
TEMA6/report.md Обычный файл
Просмотреть файл

@@ -0,0 +1,268 @@
# Отчет по теме 6
**Антонов Дмитрий, А-03-23**
### 1.Начало работы, настройка текущего каталога
```py
import os
os.chdir('//Users//dmitrijantonov//Desktop//POAC//python-labs//TEMA6//')
```
### 2.Вывод данных на экран дисплея
#### 2.1 Эхо-вывод
```py
stroka='Автоматизированная система управления'
stroka
'Автоматизированная система управления'
```
#### 2.2 print вывод
```py
fff=234.5;gg='Значение температуры = '
print(gg, fff) #Можно вывести несколько объектов за одно обращение к функции
Значение температуры = 234.5
print(gg, fff, sep='/')
Значение температуры = /234.5
print(gg, fff,sep='/',end='***'); print('____')
Значение температуры = /234.5***____
print()
print(""" Здесь может выводиться
большой текст,
занимающий несколько строк""")
Здесь может выводиться
большой текст,
занимающий несколько строк
print("Здесь может выводиться",
"большой текст,",
"занимающий несколько строк")
Здесь может выводиться большой текст, занимающий несколько строк
```
#### 2.3 Стандартный поток вывода, модуль sys
```py
import sys
sys.stdout.write('Функция write')
Функция write13
sys.stdout.write('Функция write\n')
Функция write
14
help(sys.stdout.write)
Help on method write in module idlelib.run:
write(s) method of idlelib.run.StdOutputFile instance
Write string s to stream.
Return the number of characters written
(which is always equal to the length of the string).
```
### 3. Ввод c клавиатуры
```py
psw=input('Введите пароль:')
Введите пароль:555550
psw
'555550'
type(psw)
<class 'str'>
while True:
znach=float(input('Задайте коэф.усиления = '))
if znach<17.5 or znach>23.8:
print('Ошибка!')
else:
break
Задайте коэф.усиления = 15.4
Ошибка!
Задайте коэф.усиления = 21.6
import math
print(eval(input('введите выражение для расчета = ')))
введите выражение для расчета = math.log10(23/(1+math.exp(-3.24)))
1.34504378689765
```
### 4.Ввод-вывод при работе с файлами
#### 4.1 Функции для работы с путем к файлу
- Настройка текущей директории
```py
import os
os.getcwd()
'/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA6'
Antonov = os.getcwd()
print(Antonov)
/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA6
os.getcwd()
'/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA6'
```
- Пробую методы вложенного модуля path
```py
os.listdir()
['.DS_Store', 'hm', 'report.md', '.gitkeep']
os.path.isdir('/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA6')
True
os.path.isdir('python-labs/TEMA6')
False
os.path.abspath('report.md')
'/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA6/report.md'
file = os.path.abspath('report.md')
drkt=os.path.dirname(file)
drkt
'/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA6'
os.path.basename(file)
'report.md'
os.path.split(file)
('/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA6', 'report.md')
os.path.exists(file)
True
os.path.exists(file+'eee')
False
```
#### 4.3 Открытие/закрытие файла, функция open/close
```py
help(open)
fp=open(file=drkt+'//zapis1.txt',mode='w')
drkt
'/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA6'
dir(fp)
['_CHUNK_SIZE', '__class__', '__del__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__next__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_checkClosed', '_checkReadable', '_checkSeekable', '_checkWritable', '_finalizing', 'buffer', 'close', 'closed', 'detach', 'encoding', 'errors', 'fileno', 'flush', 'isatty', 'line_buffering', 'mode', 'name', 'newlines', 'read', 'readable', 'readline', 'readlines', 'reconfigure', 'seek', 'seekable', 'tell', 'truncate', 'writable', 'write', 'write_through', 'writelines']
fp.close()
```
#### 4.4 Запись в файл функция write
```py
sps=list(range(1,13))
fp2=open('zapis3.txt','w')
fp2.write(str(sps[:4])+'\n');fp2.write(str(sps[4:8])+'\n');fp2.write(str(sps[8:])+'\n');fp2.close()
13
13
16
```
[!Данные записанные в файл](fig1.png)
- Запись списка списков
```py
sps3=[['Иванов И.',1],['Петров П.',2],['Сидоров С.',3]]
fp3=open('zapis4.txt','w')
for i in range(len(sps3)):
stroka4=sps3[i][0]+' '+str(sps3[i][1])
fp3.write(stroka4)
11
11
12
fp3.close()
gh=open('zapis5.txt','w')
for r in sps3:
gh.write(r[0]+' '+str(r[1])+'\n')
12
12
13
gh.close()
```
#### 4.5 Чтение информации из текстового файла.
```py
sps1=[];fp=open('zapis3.txt')
for stroka in fp:
stroka=stroka.rstrip('\n')
stroka=stroka.replace('[','')
stroka=stroka.replace(']','')
sps1=sps1+stroka.split(',')
fp.close()
print(sps1)
['1', ' 2', ' 3', ' 4', '5', ' 6', ' 7', ' 8', '9', ' 10', ' 11', ' 12']
```
- Теперь элементы списков совпадают
```py
for i in range(len(sps1)):
sps1[i] = int(sps1[i])
sps1==sps
True
```
#### 4.6 Чтение информации из файла с помощью метода read
```py
fp=open('zapis3.txt');stroka1=fp.read(12);stroka2=fp.read();fp.close()
stroka1
'[1, 2, 3, 4]'
stroka2
'\n[5, 6, 7, 8]\n[9, 10, 11, 12]\n'
```
- Изучение функции readline и readlines
```py
fp=open('zapis3.txt');stroka1=fp.readline()
stroka1
'[1, 2, 3, 4]\n'
stroka2=fp.readline(3)
stroka2
'[5,'
fp.close()
fp=open('zapis3.txt');stroka1=fp.readlines()
stroka1
['[1, 2, 3, 4]\n', '[5, 6, 7, 8]\n', '[9, 10, 11, 12]\n']
fp.close()
```
#### 4.9 Ввод-вывод объектов с использованием функций из модуля pickle
```py
import pickle
mnoz1={'pen','book','pen','iPhone','table','book'}
fp=open('zapis6.mnz','wb')
pickle.dump(mnoz1,fp)
fp.close()
fp=open('zapis6.mnz','rb')
mnoz2=pickle.load(fp)
fp.close()
```
- Проверка объектов на совпадение
```py
mnoz2 == mnoz1
True
```
- Отличие от исходного в том, что сохранились только уникальные элементы
```py
mnoz2
{'table', 'book', 'iPhone', 'pen'}
mnoz1
{'table', 'book', 'iPhone', 'pen'}
```
- Запись/чтение нескольких объектов
```py
sps3
[['Иванов И.', 1], ['Петров П.', 2], ['Сидоров С.', 3]]
fp=open('zapis7.2ob','wb')
pickle.dump(mnoz1,fp);pickle.dump(sps3,fp);fp.close()
fp=open('zapis7.2ob','rb')
obj1=pickle.load(fp)
obj2=pickle.load(fp)
fp.close()
obj1,obj2
({'table', 'book', 'iPhone', 'pen'}, [['Иванов И.', 1], ['Петров П.', 2], ['Сидоров С.', 3]])
obj1==mnoz1; obj2==sps3
True
True
```
### 5. Перенаправление потоков ввода и вывода данных
- Перенаправление вывода в файл
```py
import sys
vr_out=sys.stdout
fc=open('Stroka.txt','w')
sys.stdout=fc
print('запись строки в файл')
sys.stdout=vr_out
print('запись строки на экран')
запись строки на экран
fc.close()
```
- Перенаправление вввода из файла
```py
tmp_in = sys.stdin
fd = open("Stroka.txt", "r")
sys.stdin = fd
while True:
try:
line = input ()
print(line)
except EOFError:
break
запись строки в файл
fd.close()
sys.stdin=tmp_in
```

42
TEMA6/task.md Обычный файл
Просмотреть файл

@@ -0,0 +1,42 @@
# Общее контрольное задание по теме 6
**Антонов Дмитрий, А-03-23**
1. Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, пред-ставленными в виде символьных строк.
```py
import random as rn
kort = tuple(str(rn.randint(6,56)) for _ in range(126))
kort
('29', '20', '18', '11', '20', '38', '8', '15', '33', '28', '30', '24', '50', '15', '26', '13', '36', '38', '10', '23', '36', '34', '16', '30', '34', '55', '28', '34', '36', '16', '6', '14', '15', '51', '7', '14', '10', '12', '54', '16', '53', '16', '39', '39', '32', '53', '43', '27', '8', '38', '8', '30', '31', '31', '22', '40', '40', '42', '18', '23', '20', '14', '48', '56', '27', '39', '10', '6', '47', '51', '26', '42', '54', '38', '49', '24', '21', '43', '40', '36', '50', '41', '43', '23', '34', '26', '21', '54', '35', '27', '10', '32', '53', '40', '39', '38', '6', '51', '37', '41', '39', '26', '46', '6', '13', '22', '26', '24', '20', '11', '34', '29', '27', '17', '23', '36', '25', '17', '25', '6', '55', '24', '52', '17', '48', '40')
```
2. Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
```py
spis = ['Антонов','Ефимова','Турханов','Девятова','Гордиевских']
```
3. Записывается кортеж и список в бинарный файл.
```py
import pickle
fp=open('task.bn','wb')
pickle.dump(kort,fp)
pickle.dump(spis,fp)
fp.close()
fp=open('task.bn','rb')
obj1=pickle.load(fp)
obj2=pickle.load(fp)
fp.close()
obj1 == kort; obj2 == spis
True
True
obj1
('29', '20', '18', '11', '20', '38', '8', '15', '33', '28', '30', '24', '50', '15', '26', '13', '36', '38', '10', '23', '36', '34', '16', '30', '34', '55', '28', '34', '36', '16', '6', '14', '15', '51', '7', '14', '10', '12', '54', '16', '53', '16', '39', '39', '32', '53', '43', '27', '8', '38', '8', '30', '31', '31', '22', '40', '40', '42', '18', '23', '20', '14', '48', '56', '27', '39', '10', '6', '47', '51', '26', '42', '54', '38', '49', '24', '21', '43', '40', '36', '50', '41', '43', '23', '34', '26', '21', '54', '35', '27', '10', '32', '53', '40', '39', '38', '6', '51', '37', '41', '39', '26', '46', '6', '13', '22', '26', '24', '20', '11', '34', '29', '27', '17', '23', '36', '25', '17', '25', '6', '55', '24', '52', '17', '48', '40')
obj2
['Антонов', 'Ефимова', 'Турханов', 'Девятова', 'Гордиевских']
if(obj1 == kort and obj2 == spis):
print("Объекты схожи")
Объекты схожи
```
4. Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами.
```py
vocab = {}
for i in range(0,len(kort),5):
vocab['группа №'+str(i//5)] = list(kort[i:i+5])
```

48
TEMA6/test.md Обычный файл
Просмотреть файл

@@ -0,0 +1,48 @@
# Индивидуальное контрольное задание по теме 6
**Антонов Дмитрий, А-03-23**
## Задание M2_8
1) Создайте множество с 40 элементами - случайными числами, равномерно распределенными на интервале от -20 до +10. Числа должны быть округлены до двух знаков после точки.
```py
import os
os.chdir('//Users//dmitrijantonov//Desktop//POAC//python-labs//TEMA6//')
import random as rn
my_set = set(round(rn.uniform(-20,10),2) for _ in range(40))
my_set
{0.41, 2.22, 3.89, 4.77, 5.04, 6.94, 7.43, 8.16, 9.13, 9.48, 9.85, 6.01, 9.2, -3.82, -19.36, -18.72, -15.84, -9.36, -9.5, -8.1, -4.59, -19.23, -4.49, -4.15, -16.02, -4.74, -16.5, -13.96, -12.95, -11.92, -10.71, -9.89, -8.66, -7.45, -6.18, -5.86, -4.62, -3.52, -2.95, -1.4}
type(my_set)
<class 'set'>
```
2) Запросите у пользователя и введите имя бинарного файла для сохранения множества. Если во введенном имени есть пробелы, замените их на пустые строки.
```py
name = input("Введите имя бинарного файла для сохранения множества: ").replace(" ","")
Введите имя бинарного файла для сохранения множества: NA ME
name
'NAME'
```
3) Запишите множество в бинарный файл с указанным именем.
```py
import pickle
fl = open(name+"bn",'wb')
pickle.dump(my_set,fl)
fl.close()
```
4) Удалите из памяти созданное множество.
```py
del(my_set)
```
5) Прочитайте множество из файла и рассчитайте по его элементам среднее значение. Отобразите его на экране по шаблону: " По <число элементов> среднее = <рассчитанное значение>". Выводимое среднее округлить до двух знаков после точки.
```py
fl = open(name+"bn",'rb')
file_set = pickle.load(fl)
file_set
{0.41, 2.22, 3.89, 4.77, 5.04, 6.94, 7.43, 8.16, 9.13, 9.48, 9.85, 6.01, 9.2, -7.45, -4.62, -3.52, -9.36, -9.89, -8.66, -6.18, -4.49, -19.36, -18.72, -19.23, -4.15, -15.84, -16.02, -4.74, -16.5, -13.96, -12.95, -9.5, -8.1, -11.92, -10.71, -5.86, -4.59, -3.82, -2.95, -1.4}
import numpy
mn = numpy.mean(list(file_set))
mn
np.float64(-4.2989999999999995)
print("По {} среднее = {} ".format(len(file_set),round(mn,2)))
По 40 среднее = -4.30
```

2
TEMA8/MM0.py Обычный файл
Просмотреть файл

@@ -0,0 +1,2 @@
import MM2
print('y=',MM2.vyhod)

22
TEMA8/MM1.py Обычный файл
Просмотреть файл

@@ -0,0 +1,22 @@
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 and xtt>(-gran):
ytt=0
elif xtt>=gran:
ytt=xtt-gran
elif xtt<=(-gran):
ytt=xtt+gran
return ytt

23
TEMA8/MM2.py Обычный файл
Просмотреть файл

@@ -0,0 +1,23 @@
znach=input('k1,T,k2,Xm,A,F,N=').split(',')
k1=float(znach[0])
T=float(znach[1])
k2=float(znach[2])
Xm=float(znach[3])
A=float(znach[4])
F=float(znach[5])
N=int(znach[6])
import math
vhod=[]
for i in range(N):
vhod.append(A*math.sin((2*i*math.pi)/F))
import MM1 as mod
yi1=0;yin1=0;yi2=0
vyhod=[]
for xt in vhod:
xt1=xt-yi2 #отрицательная обратная связь
[yi1,yin1]=mod.realdvig(xt1,k1,T,yi1,yin1)
yi2=mod.tahogen(yin1,k2,yi2)
yt=mod.nechus(yin1,Xm)
vyhod.append(yt)

8
TEMA8/module1.py Обычный файл
Просмотреть файл

@@ -0,0 +1,8 @@
def read_func(name):
ans = []
fp = open(name,'r')
for line in fp:
for num in line.strip().split():
ans.append(float(num))
fp.close()
return ans

15
TEMA8/module2.py Обычный файл
Просмотреть файл

@@ -0,0 +1,15 @@
import math as m
def count_corr(lst1,lst2):
n = min(len(lst1),len(lst2))
sred1 = sum(lst1[:n+1])/(n)
sred2 = sum(lst2[:n+1])/(n)
down1 = 0;down2 = 0;up = 0
for i in range(n):
down1 += ((lst1[i] - sred1)**2)
down2 += ((lst2[i] - sred2)**2)
up += (lst1[i] - sred1)*(lst2[i] - sred2)
print(up,m.sqrt(down1*down2))
return up / m.sqrt(down1*down2)

11
TEMA8/module3.py Обычный файл
Просмотреть файл

@@ -0,0 +1,11 @@
import module1 as m1,module2 as m2
def brain():
name1 = input("Введите имя первого текстового файла ")
name2 = input("Введите имя второго текстового файла ")
file1 = m1.read_func(name1)
file2 = m1.read_func(name2)
answer = m2.count_corr(file1,file2)
print(answer)
print("Коэффициент корреляции = {}".format(round(answer,3)))

597
TEMA8/report.md Обычный файл
Просмотреть файл

@@ -0,0 +1,597 @@
# Отчет по теме 8
**Антонов Дмитрий, А-03-23**
### 1.Начало работы, настройка текущего каталога
```py
import os;os.chdir('//Users//dmitrijantonov//Desktop//POAC//python-labs//TEMA8//')
os.getcwd()
'/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8'
import sys,importlib
```
### 2.Запуск модуля из командной строки
```py
import Mod1
Mod1:Введите значение = 5
Mod1:Значение perm1= 5
```
#### 2.1 Проверил класс модуля и получил список атрибутов
```py
dir()
['Mod1', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'importlib', 'os', 'sys']
type(Mod1)
<class 'module'>
dir(Mod1)
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'perm1']
```
#### 2.2 Обращение к переменной внутри модуля
```py
Mod1.perm1
'5'
import Mod1
```
- Ничего не произошло после импорт, так как модуль уже импортирован
```py
importlib.reload(Mod1)
Mod1:Введите значение = 3
Mod1:Значение perm1= 3
<module 'Mod1' from '/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod1.py'>
Mod1.perm1
'3'
```
#### 2.2 Проверил какие модули уже импортированы
```py
print(sorted(sys.modules.keys()))
['Mod1', '__future__', '__main__', '_abc', '_ast', '_bisect', '_bz2', '_codecs', '_collections', '_collections_abc', '_colorize', '_compat_pickle', '_compression', '_datetime', '_frozen_importlib', '_frozen_importlib_external', '_functools', '_heapq', '_imp', '_io', '_lzma', '_opcode', '_opcode_metadata', '_operator', '_osx_support', '_pickle', '_pyrepl', '_pyrepl.pager', '_queue', '_random', '_signal', '_sitebuiltins', '_socket', '_sre', '_stat', '_string', '_struct', '_suggestions', '_sysconfigdata__darwin_darwin', '_thread', '_tkinter', '_tokenize', '_typing', '_warnings', '_weakref', '_weakrefset', 'abc', 'array', 'ast', 'bdb', 'binascii', 'bisect', 'builtins', 'bz2', 'codecs', 'collections', 'collections.abc', 'configparser', 'contextlib', 'copyreg', 'datetime', 'dis', 'encodings', 'encodings.aliases', 'encodings.utf_8', 'enum', 'errno', 'fnmatch', 'functools', 'genericpath', 'heapq', 'idlelib', 'idlelib.autocomplete', 'idlelib.autocomplete_w', 'idlelib.calltip', 'idlelib.calltip_w', 'idlelib.config', 'idlelib.debugger', 'idlelib.debugger_r', 'idlelib.debugobj', 'idlelib.debugobj_r', 'idlelib.hyperparser', 'idlelib.iomenu', 'idlelib.macosx', 'idlelib.multicall', 'idlelib.pyparse', 'idlelib.rpc', 'idlelib.run', 'idlelib.scrolledlist', 'idlelib.stackviewer', 'idlelib.tooltip', 'idlelib.tree', 'idlelib.util', 'idlelib.window', 'idlelib.zoomheight', 'importlib', 'importlib._abc', 'importlib._bootstrap', 'importlib._bootstrap_external', 'importlib.machinery', 'importlib.util', 'inspect', 'io', 'ipaddress', 'itertools', 'keyword', 'linecache', 'lzma', 'marshal', 'math', 'opcode', 'operator', 'os', 'os.path', 'pickle', 'pkgutil', 'platform', 'plistlib', 'posix', 'posixpath', 'pydoc', 'pyexpat', 'pyexpat.errors', 'pyexpat.model', 'queue', 'random', 're', 're._casefix', 're._compiler', 're._constants', 're._parser', 'reprlib', 'select', 'selectors', 'shlex', 'shutil', 'site', 'socket', 'socketserver', 'stat', 'string', 'struct', 'sys', 'sysconfig', 'tempfile', 'textwrap', 'threading', 'time', 'tkinter', 'tkinter.constants', 'token', 'tokenize', 'traceback', 'types', 'typing', 'urllib', 'urllib.parse', 'warnings', 'weakref', 'xml', 'xml.parsers', 'xml.parsers.expat', 'xml.parsers.expat.errors', 'xml.parsers.expat.model', 'zipimport', 'zlib']
```
- Удаление импортированного модуля
```py
sys.modules.pop('Mod1')
<module 'Mod1' from '/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod1.py'>
print(sorted(sys.modules.keys()))
['__future__', '__main__', '_abc', '_ast', '_bisect', '_bz2', '_codecs', '_collections', '_collections_abc', '_colorize', '_compat_pickle', '_compression', '_datetime', '_frozen_importlib', '_frozen_importlib_external', '_functools', '_heapq', '_imp', '_io', '_lzma', '_opcode', '_opcode_metadata', '_operator', '_osx_support', '_pickle', '_pyrepl', '_pyrepl.pager', '_queue', '_random', '_signal', '_sitebuiltins', '_socket', '_sre', '_stat', '_string', '_struct', '_suggestions', '_sysconfigdata__darwin_darwin', '_thread', '_tkinter', '_tokenize', '_typing', '_warnings', '_weakref', '_weakrefset', 'abc', 'array', 'ast', 'bdb', 'binascii', 'bisect', 'builtins', 'bz2', 'codecs', 'collections', 'collections.abc', 'configparser', 'contextlib', 'copyreg', 'datetime', 'dis', 'encodings', 'encodings.aliases', 'encodings.utf_8', 'enum', 'errno', 'fnmatch', 'functools', 'genericpath', 'heapq', 'idlelib', 'idlelib.autocomplete', 'idlelib.autocomplete_w', 'idlelib.calltip', 'idlelib.calltip_w', 'idlelib.config', 'idlelib.debugger', 'idlelib.debugger_r', 'idlelib.debugobj', 'idlelib.debugobj_r', 'idlelib.hyperparser', 'idlelib.iomenu', 'idlelib.macosx', 'idlelib.multicall', 'idlelib.pyparse', 'idlelib.rpc', 'idlelib.run', 'idlelib.scrolledlist', 'idlelib.stackviewer', 'idlelib.tooltip', 'idlelib.tree', 'idlelib.util', 'idlelib.window', 'idlelib.zoomheight', 'importlib', 'importlib._abc', 'importlib._bootstrap', 'importlib._bootstrap_external', 'importlib.machinery', 'importlib.util', 'inspect', 'io', 'ipaddress', 'itertools', 'keyword', 'linecache', 'lzma', 'marshal', 'math', 'opcode', 'operator', 'os', 'os.path', 'pickle', 'pkgutil', 'platform', 'plistlib', 'posix', 'posixpath', 'pydoc', 'pyexpat', 'pyexpat.errors', 'pyexpat.model', 'queue', 'random', 're', 're._casefix', 're._compiler', 're._constants', 're._parser', 'reprlib', 'select', 'selectors', 'shlex', 'shutil', 'site', 'socket', 'socketserver', 'stat', 'string', 'struct', 'sys', 'sysconfig', 'tempfile', 'textwrap', 'threading', 'time', 'tkinter', 'tkinter.constants', 'token', 'tokenize', 'traceback', 'types', 'typing', 'urllib', 'urllib.parse', 'warnings', 'weakref', 'xml', 'xml.parsers', 'xml.parsers.expat', 'xml.parsers.expat.errors', 'xml.parsers.expat.model', 'zipimport', 'zlib']
```
- Повторный запуск модуля
```py
import Mod1
Mod1:Введите значение = 5
Mod1:Значение perm1= 5
print(sorted(sys.modules.keys()))
['Mod1', '__future__', '__main__', '_abc', '_ast', '_bisect', '_bz2', '_codecs', '_collections', '_collections_abc', '_colorize', '_compat_pickle', '_compression', '_datetime', '_frozen_importlib', '_frozen_importlib_external', '_functools', '_heapq', '_imp', '_io', '_lzma', '_opcode', '_opcode_metadata', '_operator', '_osx_support', '_pickle', '_pyrepl', '_pyrepl.pager', '_queue', '_random', '_signal', '_sitebuiltins', '_socket', '_sre', '_stat', '_string', '_struct', '_suggestions', '_sysconfigdata__darwin_darwin', '_thread', '_tkinter', '_tokenize', '_typing', '_warnings', '_weakref', '_weakrefset', 'abc', 'array', 'ast', 'bdb', 'binascii', 'bisect', 'builtins', 'bz2', 'codecs', 'collections', 'collections.abc', 'configparser', 'contextlib', 'copyreg', 'datetime', 'dis', 'encodings', 'encodings.aliases', 'encodings.utf_8', 'enum', 'errno', 'fnmatch', 'functools', 'genericpath', 'heapq', 'idlelib', 'idlelib.autocomplete', 'idlelib.autocomplete_w', 'idlelib.calltip', 'idlelib.calltip_w', 'idlelib.config', 'idlelib.debugger', 'idlelib.debugger_r', 'idlelib.debugobj', 'idlelib.debugobj_r', 'idlelib.hyperparser', 'idlelib.iomenu', 'idlelib.macosx', 'idlelib.multicall', 'idlelib.pyparse', 'idlelib.rpc', 'idlelib.run', 'idlelib.scrolledlist', 'idlelib.stackviewer', 'idlelib.tooltip', 'idlelib.tree', 'idlelib.util', 'idlelib.window', 'idlelib.zoomheight', 'importlib', 'importlib._abc', 'importlib._bootstrap', 'importlib._bootstrap_external', 'importlib.machinery', 'importlib.util', 'inspect', 'io', 'ipaddress', 'itertools', 'keyword', 'linecache', 'lzma', 'marshal', 'math', 'opcode', 'operator', 'os', 'os.path', 'pickle', 'pkgutil', 'platform', 'plistlib', 'posix', 'posixpath', 'pydoc', 'pyexpat', 'pyexpat.errors', 'pyexpat.model', 'queue', 'random', 're', 're._casefix', 're._compiler', 're._constants', 're._parser', 'reprlib', 'select', 'selectors', 'shlex', 'shutil', 'site', 'socket', 'socketserver', 'stat', 'string', 'struct', 'sys', 'sysconfig', 'tempfile', 'textwrap', 'threading', 'time', 'tkinter', 'tkinter.constants', 'token', 'tokenize', 'traceback', 'types', 'typing', 'urllib', 'urllib.parse', 'warnings', 'weakref', 'xml', 'xml.parsers', 'xml.parsers.expat', 'xml.parsers.expat.errors', 'xml.parsers.expat.model', 'zipimport', 'zlib']
sys.modules.pop('Mod1')
<module 'Mod1' from '/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod1.py'>
```
#### 2.3 Запуск на выполнение с помощью exec()
```py
exec(open('Mod1.py').read())
Mod1:Введите значение = 9
Mod1:Значение perm1= 9
exec(open('Mod1.py').read())
Mod1:Введите значение = 5
Mod1:Значение perm1= 5
dir()
['Mod1', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '__warningregistry__', 'importlib', 'os', 'perm1', 'sys']
perm1
'5'
exec(open('Mod1.py').read())
Mod1:Введите значение = 8
Mod1:Значение perm1= 8
perm1
'8'
from Mod1 import perm1
Mod1:Введите значение = 78
Mod1:Значение perm1= 78
dir()
['Mod1', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '__warningregistry__', 'importlib', 'os', 'perm1', 'sys']
print(sorted(sys.modules.keys()))
['Mod1', '__future__', '__main__', '_abc', '_ast', '_bisect', '_bz2', '_codecs', '_collections', '_collections_abc', '_colorize', '_compat_pickle', '_compression', '_datetime', '_frozen_importlib', '_frozen_importlib_external', '_functools', '_heapq', '_imp', '_io', '_lzma', '_opcode', '_opcode_metadata', '_operator', '_osx_support', '_pickle', '_pyrepl', '_pyrepl.pager', '_queue', '_random', '_signal', '_sitebuiltins', '_socket', '_sre', '_stat', '_string', '_struct', '_suggestions', '_sysconfigdata__darwin_darwin', '_thread', '_tkinter', '_tokenize', '_typing', '_warnings', '_weakref', '_weakrefset', 'abc', 'array', 'ast', 'bdb', 'binascii', 'bisect', 'builtins', 'bz2', 'codecs', 'collections', 'collections.abc', 'configparser', 'contextlib', 'copyreg', 'datetime', 'dis', 'encodings', 'encodings.aliases', 'encodings.utf_8', 'enum', 'errno', 'fnmatch', 'functools', 'genericpath', 'heapq', 'idlelib', 'idlelib.autocomplete', 'idlelib.autocomplete_w', 'idlelib.calltip', 'idlelib.calltip_w', 'idlelib.config', 'idlelib.debugger', 'idlelib.debugger_r', 'idlelib.debugobj', 'idlelib.debugobj_r', 'idlelib.hyperparser', 'idlelib.iomenu', 'idlelib.macosx', 'idlelib.multicall', 'idlelib.pyparse', 'idlelib.rpc', 'idlelib.run', 'idlelib.scrolledlist', 'idlelib.stackviewer', 'idlelib.tooltip', 'idlelib.tree', 'idlelib.util', 'idlelib.window', 'idlelib.zoomheight', 'importlib', 'importlib._abc', 'importlib._bootstrap', 'importlib._bootstrap_external', 'importlib.machinery', 'importlib.util', 'inspect', 'io', 'ipaddress', 'itertools', 'keyword', 'linecache', 'lzma', 'marshal', 'math', 'opcode', 'operator', 'os', 'os.path', 'pickle', 'pkgutil', 'platform', 'plistlib', 'posix', 'posixpath', 'pydoc', 'pyexpat', 'pyexpat.errors', 'pyexpat.model', 'queue', 'random', 're', 're._casefix', 're._compiler', 're._constants', 're._parser', 'reprlib', 'select', 'selectors', 'shlex', 'shutil', 'site', 'socket', 'socketserver', 'stat', 'string', 'struct', 'sys', 'sysconfig', 'tempfile', 'textwrap', 'threading', 'time', 'tkinter', 'tkinter.constants', 'token', 'tokenize', 'traceback', 'types', 'typing', 'urllib', 'urllib.parse', 'warnings', 'weakref', 'xml', 'xml.parsers', 'xml.parsers.expat', 'xml.parsers.expat.errors', 'xml.parsers.expat.model', 'zipimport', 'zlib']
perm1
'78'
from Mod2 import beta
dir()
['Mod1', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '__warningregistry__', 'beta', 'importlib', 'os', 'perm1', 'sys']
g=beta(2)
****BETA****
dir()
['Mod1', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '__warningregistry__', 'beta', 'g', 'importlib', 'os', 'perm1', 'sys']
sys.modules.pop('Mod1')
<module 'Mod1' from '/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod1.py'>
dir()
['Mod1', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '__warningregistry__', 'beta', 'g', 'importlib', 'os', 'perm1', 'sys']
del(Mod1)
from Mod1 import perm1
Mod1:Введите значение = 5
Mod1:Значение perm1= 5
dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '__warningregistry__', 'beta', 'g', 'importlib', 'os', 'perm1', 'sys']
print(sorted(sys.modules.keys()))
['Mod1', 'Mod2', '__future__', '__main__', '_abc', '_ast', '_bisect', '_bz2', '_codecs', '_collections', '_collections_abc', '_colorize', '_compat_pickle', '_compression', '_datetime', '_frozen_importlib', '_frozen_importlib_external', '_functools', '_heapq', '_imp', '_io', '_lzma', '_opcode', '_opcode_metadata', '_operator', '_osx_support', '_pickle', '_pyrepl', '_pyrepl.pager', '_queue', '_random', '_signal', '_sitebuiltins', '_socket', '_sre', '_stat', '_string', '_struct', '_suggestions', '_sysconfigdata__darwin_darwin', '_thread', '_tkinter', '_tokenize', '_typing', '_warnings', '_weakref', '_weakrefset', 'abc', 'array', 'ast', 'bdb', 'binascii', 'bisect', 'builtins', 'bz2', 'codecs', 'collections', 'collections.abc', 'configparser', 'contextlib', 'copyreg', 'datetime', 'dis', 'encodings', 'encodings.aliases', 'encodings.utf_8', 'enum', 'errno', 'fnmatch', 'functools', 'genericpath', 'heapq', 'idlelib', 'idlelib.autocomplete', 'idlelib.autocomplete_w', 'idlelib.calltip', 'idlelib.calltip_w', 'idlelib.config', 'idlelib.debugger', 'idlelib.debugger_r', 'idlelib.debugobj', 'idlelib.debugobj_r', 'idlelib.hyperparser', 'idlelib.iomenu', 'idlelib.macosx', 'idlelib.multicall', 'idlelib.pyparse', 'idlelib.rpc', 'idlelib.run', 'idlelib.scrolledlist', 'idlelib.stackviewer', 'idlelib.tooltip', 'idlelib.tree', 'idlelib.util', 'idlelib.window', 'idlelib.zoomheight', 'importlib', 'importlib._abc', 'importlib._bootstrap', 'importlib._bootstrap_external', 'importlib.machinery', 'importlib.util', 'inspect', 'io', 'ipaddress', 'itertools', 'keyword', 'linecache', 'lzma', 'marshal', 'math', 'opcode', 'operator', 'os', 'os.path', 'pickle', 'pkgutil', 'platform', 'plistlib', 'posix', 'posixpath', 'pydoc', 'pyexpat', 'pyexpat.errors', 'pyexpat.model', 'queue', 'random', 're', 're._casefix', 're._compiler', 're._constants', 're._parser', 'reprlib', 'select', 'selectors', 'shlex', 'shutil', 'site', 'socket', 'socketserver', 'stat', 'string', 'struct', 'sys', 'sysconfig', 'tempfile', 'textwrap', 'threading', 'time', 'tkinter', 'tkinter.constants', 'token', 'tokenize', 'traceback', 'types', 'typing', 'urllib', 'urllib.parse', 'warnings', 'weakref', 'xml', 'xml.parsers', 'xml.parsers.expat', 'xml.parsers.expat.errors', 'xml.parsers.expat.model', 'zipimport', 'zlib']
perm1
'5'
from Mod2 import beta
g=beta(2)
****BETA****
g
535.4916555247646
dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '__warningregistry__', 'beta', 'g', 'importlib', 'os', 'perm1', 'sys']
print(sorted(sys.modules.keys()))
['Mod1', 'Mod2', '__future__', '__main__', '_abc', '_ast', '_bisect', '_bz2', '_codecs', '_collections', '_collections_abc', '_colorize', '_compat_pickle', '_compression', '_datetime', '_frozen_importlib', '_frozen_importlib_external', '_functools', '_heapq', '_imp', '_io', '_lzma', '_opcode', '_opcode_metadata', '_operator', '_osx_support', '_pickle', '_pyrepl', '_pyrepl.pager', '_queue', '_random', '_signal', '_sitebuiltins', '_socket', '_sre', '_stat', '_string', '_struct', '_suggestions', '_sysconfigdata__darwin_darwin', '_thread', '_tkinter', '_tokenize', '_typing', '_warnings', '_weakref', '_weakrefset', 'abc', 'array', 'ast', 'bdb', 'binascii', 'bisect', 'builtins', 'bz2', 'codecs', 'collections', 'collections.abc', 'configparser', 'contextlib', 'copyreg', 'datetime', 'dis', 'encodings', 'encodings.aliases', 'encodings.utf_8', 'enum', 'errno', 'fnmatch', 'functools', 'genericpath', 'heapq', 'idlelib', 'idlelib.autocomplete', 'idlelib.autocomplete_w', 'idlelib.calltip', 'idlelib.calltip_w', 'idlelib.config', 'idlelib.debugger', 'idlelib.debugger_r', 'idlelib.debugobj', 'idlelib.debugobj_r', 'idlelib.hyperparser', 'idlelib.iomenu', 'idlelib.macosx', 'idlelib.multicall', 'idlelib.pyparse', 'idlelib.rpc', 'idlelib.run', 'idlelib.scrolledlist', 'idlelib.stackviewer', 'idlelib.tooltip', 'idlelib.tree', 'idlelib.util', 'idlelib.window', 'idlelib.zoomheight', 'importlib', 'importlib._abc', 'importlib._bootstrap', 'importlib._bootstrap_external', 'importlib.machinery', 'importlib.util', 'inspect', 'io', 'ipaddress', 'itertools', 'keyword', 'linecache', 'lzma', 'marshal', 'math', 'opcode', 'operator', 'os', 'os.path', 'pickle', 'pkgutil', 'platform', 'plistlib', 'posix', 'posixpath', 'pydoc', 'pyexpat', 'pyexpat.errors', 'pyexpat.model', 'queue', 'random', 're', 're._casefix', 're._compiler', 're._constants', 're._parser', 'reprlib', 'select', 'selectors', 'shlex', 'shutil', 'site', 'socket', 'socketserver', 'stat', 'string', 'struct', 'sys', 'sysconfig', 'tempfile', 'textwrap', 'threading', 'time', 'tkinter', 'tkinter.constants', 'token', 'tokenize', 'traceback', 'types', 'typing', 'urllib', 'urllib.parse', 'warnings', 'weakref', 'xml', 'xml.parsers', 'xml.parsers.expat', 'xml.parsers.expat.errors', 'xml.parsers.expat.model', 'zipimport', 'zlib']
alpha()
Traceback (most recent call last):
File "<pyshell#40>", line 1, in <module>
alpha()
NameError: name 'alpha' is not defined
from Mod2 import alpha as al
al()
****ALPHA****
Значение t=9
'9'
del al,beta
from Mod2 import alpha as al, beta as bt
del al,bt
dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '__warningregistry__', 'g', 'importlib', 'os', 'perm1', 'sys']
from Mod2 import *
tt=alpha()
****ALPHA****
Значение t=0.12
uu=beta(float(tt))
****BETA****
print(uu)
1.4578913609506803
sys.modules.pop('Mod1')
<module 'Mod1' from '/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod1.py'>
sys.modules.pop('Mod2')
<module 'Mod2' from '/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py'>
print(sorted(sys.modules.keys()))
['__future__', '__main__', '_abc', '_ast', '_bisect', '_bz2', '_codecs', '_collections', '_collections_abc', '_colorize', '_compat_pickle', '_compression', '_datetime', '_frozen_importlib', '_frozen_importlib_external', '_functools', '_heapq', '_imp', '_io', '_lzma', '_opcode', '_opcode_metadata', '_operator', '_osx_support', '_pickle', '_pyrepl', '_pyrepl.pager', '_queue', '_random', '_signal', '_sitebuiltins', '_socket', '_sre', '_stat', '_string', '_struct', '_suggestions', '_sysconfigdata__darwin_darwin', '_thread', '_tkinter', '_tokenize', '_typing', '_warnings', '_weakref', '_weakrefset', 'abc', 'array', 'ast', 'bdb', 'binascii', 'bisect', 'builtins', 'bz2', 'codecs', 'collections', 'collections.abc', 'configparser', 'contextlib', 'copyreg', 'datetime', 'dis', 'encodings', 'encodings.aliases', 'encodings.utf_8', 'enum', 'errno', 'fnmatch', 'functools', 'genericpath', 'heapq', 'idlelib', 'idlelib.autocomplete', 'idlelib.autocomplete_w', 'idlelib.calltip', 'idlelib.calltip_w', 'idlelib.config', 'idlelib.debugger', 'idlelib.debugger_r', 'idlelib.debugobj', 'idlelib.debugobj_r', 'idlelib.hyperparser', 'idlelib.iomenu', 'idlelib.macosx', 'idlelib.multicall', 'idlelib.pyparse', 'idlelib.rpc', 'idlelib.run', 'idlelib.scrolledlist', 'idlelib.stackviewer', 'idlelib.tooltip', 'idlelib.tree', 'idlelib.util', 'idlelib.window', 'idlelib.zoomheight', 'importlib', 'importlib._abc', 'importlib._bootstrap', 'importlib._bootstrap_external', 'importlib.machinery', 'importlib.util', 'inspect', 'io', 'ipaddress', 'itertools', 'keyword', 'linecache', 'lzma', 'marshal', 'math', 'opcode', 'operator', 'os', 'os.path', 'pickle', 'pkgutil', 'platform', 'plistlib', 'posix', 'posixpath', 'pydoc', 'pyexpat', 'pyexpat.errors', 'pyexpat.model', 'queue', 'random', 're', 're._casefix', 're._compiler', 're._constants', 're._parser', 'reprlib', 'select', 'selectors', 'shlex', 'shutil', 'site', 'socket', 'socketserver', 'stat', 'string', 'struct', 'sys', 'sysconfig', 'tempfile', 'textwrap', 'threading', 'time', 'tkinter', 'tkinter.constants', 'token', 'tokenize', 'traceback', 'types', 'typing', 'urllib', 'urllib.parse', 'warnings', 'weakref', 'xml', 'xml.parsers', 'xml.parsers.expat', 'xml.parsers.expat.errors', 'xml.parsers.expat.model', 'zipimport', 'zlib']
import Mod0
Mod1:Введите значение = 5
Mod1:Значение perm1= 5
perm1= 5
****ALPHA****
Значение t=10
tt= 10
****BETA****
qq= 44031505860631.98
dir()
['Mod0', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '__warningregistry__', 'alpha', 'beta', 'g', 'importlib', 'os', 'perm1', 'sys', 'tt', 'uu']
Mod0.tt;Mod0.qq;Mod0.Mod1.perm1
'10'
44031505860631.98
'5'
R
Traceback (most recent call last):
File "<pyshell#57>", line 1, in <module>
R
NameError: name 'R' is not defined
===== RESTART: /Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/MM0.py =====
k1,T,k2,Xm,A,F,N=2,3,4,1,6,4,3
Traceback (most recent call last):
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/MM0.py", line 1, in <module>
import MM2
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/MM2.py", line 15, in <module>
import MM1 as mod
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/MM1.py", line 6
return [yti1,ytin1]
^
IndentationError: unindent does not match any outer indentation level
===== RESTART: /Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/MM0.py =====
k1,T,k2,Xm,A,F,N=2,3,4,1,6,4,3
y= [0, 2.0, 0]
===== RESTART: /Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/MM0.py =====
k1,T,k2,Xm,A,F,N=5,5,5,2,3,4,8
y= [0, 0.5, -3.833333333333333, 0, 19.990740740740744, -25.978395061728403, -22.99485596707819, 121.76114540466394]
===== RESTART: /Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py ====
main()
Traceback (most recent call last):
File "<pyshell#58>", line 1, in <module>
main()
NameError: name 'main' is not defined. Did you mean: 'min'?
import os;os.chdir('//Users//dmitrijantonov//Desktop//POAC//python-labs//TEMA8//')
import os,sys,imp
Traceback (most recent call last):
File "<pyshell#60>", line 1, in <module>
import os,sys,imp
ModuleNotFoundError: No module named 'imp'
import os,sys,impimport os,sys,importlib
SyntaxError: invalid syntax
import sys,importlib
import Mod2
Mod2.beta
<function beta at 0x105a9d300>
Mod2.beta()
Traceback (most recent call last):
File "<pyshell#65>", line 1, in <module>
Mod2.beta()
TypeError: beta() missing 1 required positional argument: 'q'
Mod2.beta(5)
****BETA****
****ALPHA****
Значение t=9
обращание к альфа 9
6635623.99934113
import Mod2
Mod2.alpha()
****ALPHA****
Значение t=5
'5'
===== RESTART: /Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py ====
import os;os.chdir('//Users//dmitrijantonov//Desktop//POAC//python-labs//TEMA8//')
import sys,importlib
import Mod2
Mod2.alpha()
****ALPHA****
Значение t=5
****BETA****
Traceback (most recent call last):
File "<pyshell#72>", line 1, in <module>
Mod2.alpha()
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 13, in alpha
print("обращание к бетта",beta(t))
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 6, in beta
expi=q*math.pi
TypeError: can't multiply sequence by non-int of type 'float'
import Mod2
Mod2.alpha()
****ALPHA****
Значение t=5
****BETA****
Traceback (most recent call last):
File "<pyshell#74>", line 1, in <module>
Mod2.alpha()
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 13, in alpha
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 6, in beta
TypeError: can't multiply sequence by non-int of type 'float'
===== RESTART: /Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py ====
import os;os.chdir('//Users//dmitrijantonov//Desktop//POAC//python-labs//TEMA8//')
import sys,importlib
import Mod2
Mod2.alpha()
****ALPHA****
Значение t=9
****BETA****
Traceback (most recent call last):
File "<pyshell#78>", line 1, in <module>
Mod2.alpha()
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
print("обращание к бетта",beta(t))
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
expi=q*math.pi
TypeError: can't multiply sequence by non-int of type 'float'
dir()
['Mod2', '__annotations__', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'alpha', 'beta', 'importlib', 'os', 'sys']
del(alpha,beta,Mod2)
import Mod2
Mod2.alpha()
****ALPHA****
Значение t=
****BETA****
Traceback (most recent call last):
File "<pyshell#82>", line 1, in <module>
Mod2.alpha()
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
print("обращание к бетта",beta(t))
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
expi=q*math.pi
TypeError: can't multiply sequence by non-int of type 'float'
del(alpha,beta,Mod2)
Traceback (most recent call last):
File "<pyshell#83>", line 1, in <module>
del(alpha,beta,Mod2)
NameError: name 'alpha' is not defined
dir()
['Mod2', '__annotations__', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'importlib', 'os', 'sys']
import Mod2
Mod2.beta()
Traceback (most recent call last):
File "<pyshell#86>", line 1, in <module>
Mod2.beta()
TypeError: beta() missing 1 required positional argument: 'q'
Mod2.beta(2)
****BETA****
535.4916555247646
import Mod2
Mod2.alpha()
****ALPHA****
Значение t=3
****BETA****
Traceback (most recent call last):
File "<pyshell#89>", line 1, in <module>
Mod2.alpha()
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
print("обращание к бетта",beta(t))
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
import math
TypeError: can't multiply sequence by non-int of type 'float'
dir(Mod2,alpha,beta)
Traceback (most recent call last):
File "<pyshell#90>", line 1, in <module>
dir(Mod2,alpha,beta)
NameError: name 'alpha' is not defined
del(Mod2,alpha,beta)
Traceback (most recent call last):
File "<pyshell#91>", line 1, in <module>
del(Mod2,alpha,beta)
NameError: name 'alpha' is not defined
dir()
['__annotations__', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'importlib', 'os', 'sys']
import Mod2
Mod2.alpha()
****ALPHA****
Значение t=5
****BETA****
Traceback (most recent call last):
File "<pyshell#94>", line 1, in <module>
Mod2.alpha()
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
print("обращание к бетта",beta(t))
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
expi=float(q)*math.pi
TypeError: can't multiply sequence by non-int of type 'float'
import
SyntaxError: Expected one or more names after 'import'
import Mod2
Mod2.alpha()
****ALPHA****
Значение t=5
****BETA****
Traceback (most recent call last):
File "<pyshell#97>", line 1, in <module>
Mod2.alpha()
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
print("обращание к бетта",beta(t))
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
print("q",q)
TypeError: can't multiply sequence by non-int of type 'float'
import Mod2
Mod2.alpha()
****ALPHA****
Значение t=5
****BETA****
Traceback (most recent call last):
File "<pyshell#99>", line 1, in <module>
Mod2.alpha()
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
print("обращание к бетта",beta(t))
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
print("q",type(q))
TypeError: can't multiply sequence by non-int of type 'float'
import Mod2
Mod2.alpha()
****ALPHA****
Значение t=5
****BETA****
Traceback (most recent call last):
File "<pyshell#101>", line 1, in <module>
Mod2.alpha()
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
print("обращание к бетта",beta(t))
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
print(type(q))
TypeError: can't multiply sequence by non-int of type 'float'
import Mod2
Mod2.alpha()
****ALPHA****
Значение t=8
****BETA****
Traceback (most recent call last):
File "<pyshell#103>", line 1, in <module>
Mod2.alpha()
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
print("обращание к бетта",beta(float(t)))
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
print(type(q))
TypeError: can't multiply sequence by non-int of type 'float'
import Mod2
Mod2.alpha()
****ALPHA****
Значение t=8.8
****BETA****
Traceback (most recent call last):
File "<pyshell#105>", line 1, in <module>
Mod2.alpha()
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
print("обращание к бетта",beta(float(t)))
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
print(type(q))
TypeError: can't multiply sequence by non-int of type 'float'
import Mod2
Mod2.alpha()
****ALPHA****
Значение t=9
****BETA****
Traceback (most recent call last):
File "<pyshell#107>", line 1, in <module>
Mod2.alpha()
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
print("обращание к бетта",beta(int(t)))
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
print(type(q))
TypeError: can't multiply sequence by non-int of type 'float'
del(Mod2,alpha,beta)
Traceback (most recent call last):
File "<pyshell#108>", line 1, in <module>
del(Mod2,alpha,beta)
NameError: name 'alpha' is not defined
dir()
['__annotations__', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'importlib', 'os', 'sys']
import Mod2
Mod2.alpha()
****ALPHA****
Значение t=9
****BETA****
Traceback (most recent call last):
File "<pyshell#111>", line 1, in <module>
Mod2.alpha()
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
print("обращание к бетта",beta(int(t)))
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
print(type(q))
TypeError: can't multiply sequence by non-int of type 'float'
import Mod2
Mod2.alpha()
****ALPHA****
Значение t=9
****BETA****
Traceback (most recent call last):
File "<pyshell#113>", line 1, in <module>
Mod2.alpha()
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
print("обращание к бетта")
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
import math
TypeError: can't multiply sequence by non-int of type 'float'
tt=alpha()
Traceback (most recent call last):
File "<pyshell#114>", line 1, in <module>
tt=alpha()
NameError: name 'alpha' is not defined
from Mod2 import *
tt=alpha()
****ALPHA****
Значение t=9
****BETA****
Traceback (most recent call last):
File "<pyshell#116>", line 1, in <module>
tt=alpha()
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
print("обращание к бетта")
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
import math
TypeError: can't multiply sequence by non-int of type 'float'
from Mod2 import *
tt=alpha()
****ALPHA****
Значение t=0
****BETA****
Traceback (most recent call last):
File "<pyshell#118>", line 1, in <module>
tt=alpha()
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
print("обращание к бетта")
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
print(type(q))
TypeError: can't multiply sequence by non-int of type 'float'
del(Mod2,alpha,beta)
from Mod2 import *
tt=alpha()
****ALPHA****
Значение t=9
****BETA****
Traceback (most recent call last):
File "<pyshell#121>", line 1, in <module>
tt=alpha()
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
print("обращание к бетта")
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
print(type(q))
TypeError: can't multiply sequence by non-int of type 'float'
del(Mod2,alpha,beta)
Traceback (most recent call last):
File "<pyshell#122>", line 1, in <module>
del(Mod2,alpha,beta)
NameError: name 'Mod2' is not defined
dir()
['__annotations__', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'alpha', 'beta', 'importlib', 'os', 'sys']
del(alpha,beta)
dir()
['__annotations__', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'importlib', 'os', 'sys']
from Mod2 import *
dir()
['__annotations__', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'alpha', 'beta', 'importlib', 'os', 'sys']
alpha.__doc__
print(alpha.__doc__)
None
alpha()
****ALPHA****
Значение t=9
****BETA****
Traceback (most recent call last):
File "<pyshell#130>", line 1, in <module>
alpha()
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
print("обращание к бетта")
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
print(type(q))
TypeError: can't multiply sequence by non-int of type 'float'
import Mod2
Mod2.alpha()
****ALPHA****
Значение t=9
****BETA****
<class 'float'>
обращание к бетта 1902773895292.1592
'9'
import Mod2
Mod2.beta(9)
****BETA****
<class 'int'>
****ALPHA****
Значение t=9
обращание к альфа 9
1902773895292.1592
import Mod0
Mod1:Введите значение = 9
Mod1:Значение perm1= 9
perm1= 9
****ALPHA****
Значение t=8
tt= 8
****BETA****
<class 'float'>
qq= 82226315585.59491
Traceback (most recent call last):
File "<pyshell#19>", line 1, in <module>
import Mod0
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod0.py", line 10, in <module>
print(t,expi)
NameE
import Mod0
Mod1:Введите значение = 5
Mod1:Значение perm1= 5
perm1= 5
perm1= 15
****ALPHA****
Значение t=6
tt= 6
****BETA****
<class 'float'>
qq= 153552935.39544657
dir()
['Mod0', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'importlib', 'os', 'sys']
perm1
Traceback (most recent call last):
File "<pyshell#22>", line 1, in <module>
perm1
NameError: name 'perm1' is not defined
Mod0.perm1 * 2
30
tt * 2
Traceback (most recent call last):
File "<pyshell#24>", line 1, in <module>
tt * 2
NameError: name 'tt' is not defined
qq*2
Traceback (most recent call last):
File "<pyshell#25>", line 1, in <module>
qq*2
NameError: name 'qq' is not defined
Mod0.qq * 2
307105870.79089314
Mod0.tt * 2
'66'
```

12
TEMA8/task.md Обычный файл
Просмотреть файл

@@ -0,0 +1,12 @@
# Общее контрольное задание по теме 8
**Антонов Дмитрий, А-03-23**
```py
import module3
module3.brain()
Введите имя первого текстового файла testfile1.txt
Введите имя второго текстового файла testfile2.txt
-192.75 397.74528595572315
-0.4846066233993201
Коэффициент корреляции = -0.485
```

2
TEMA8/testfile1.txt Обычный файл
Просмотреть файл

@@ -0,0 +1,2 @@
1 2 3
5 6 8 1212

2
TEMA8/testfile2.txt Обычный файл
Просмотреть файл

@@ -0,0 +1,2 @@
112 3 4
2

18
TEMA9/Mod3.py Обычный файл
Просмотреть файл

@@ -0,0 +1,18 @@
class Class1: #Объявление класса Class1 в модуле
def zad_zn(self,znach): # 1 Метод класса
self.data=znach # self - ссылка на экземпляр класса Class1
def otobrazh(self): # 2 Метод класса
print(self.data)#Отображение данных экземпляра
class Class2(Class1): #Class2 - наследник класса Class1
def otobrazh(self): # Метод класса Class2
print('значение=',self.data)#Отображение данных экземпляра
def otobrazh(objekt): #Объявление самостоятельной функции
print('значение объекта=',objekt)
class Class3(Class2): #Наследник класса Class2, а через него – и класса Class1
def __init__(self,znach): #Конструктор-вызывается при создании нового экземпляра класса
self.data=znach
def __add__(self,drug_zn): #Вызывается, когда экземпляр участвует в операции «+»
return Class3(self.data+drug_zn)
def zad_dr_zn(self,povtor): #А это - обычный метод
self.data*=povtor

21
TEMA9/SAU.py Обычный файл
Просмотреть файл

@@ -0,0 +1,21 @@
class SAU:
def __init__(self,zn_param):
self.param=zn_param
self.ypr=[0,0]
def zdn_zn(self,upr):
self.x=upr
def model(self):
def inerz(x,T,yy):
return (x+T*yy)/(T+1)
y0=self.x-self.ypr[1]*self.param[3] #Обр.связь с усилителем 2
y1=self.param[0]*y0 #Усилитель1
y2=inerz(y1,self.param[1],self.ypr[0]) #Инерционное звено1
y3=inerz(y2,self.param[2],self.ypr[1]) #Инерционное звено2
self.ypr[0]=y2
self.ypr[1]=y3
def otobraz(self):
print('y=',self.ypr[1])

30
TEMA9/control.py Обычный файл
Просмотреть файл

@@ -0,0 +1,30 @@
class Departament:
def __init__(self,fio,otdel,dolzhnost,oklad):
self.fio = fio
self.otdel = otdel
self.dolzhnost = dolzhnost
self.oklad = oklad
self.__prm = list()
def increase(self,put):
self.oklad += put
def new_work(self,new_otdel):
self.otdel = new_otdel
def new_dolzhnost(self,new_dolzh):
self.dolzhnost = new_dolzh
def all_info(self):
print(self.fio,self.otdel,self.dolzhnost,self.oklad,self.prop)
def getter(self):
return self.__prm
def setter(self,new):
self.__prm.append(new)
prop = property(getter,setter)

Двоичные данные
TEMA9/fig.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 14 KiB

Двоичные данные
TEMA9/k002.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 18 KiB

Двоичные данные
TEMA9/k20.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 18 KiB

Двоичные данные
TEMA9/k5.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 15 KiB

352
TEMA9/report.md Обычный файл
Просмотреть файл

@@ -0,0 +1,352 @@
# Отчет по теме 9
**Антонов Дмитрий, А-03-23**
### 1.Начало работы, настройка текущего каталога
```py
import os
os.chdir('//Users//dmitrijantonov//Desktop//POAC//python-labs//TEMA9//')
```
### 2.Создание классов и их наследников
#### 2.1 Создание класса
```py
class Class1: #Объявление класса
def zad_zn(self,znach): #Метод 1 класса1 – задание значения data
self.data=znach # self - ссылка на экземпляр класса
def otobrazh(self): # Метод 2 класса1
print(self.data)#Отображение данных экземпляра класса
z1=Class1() #Создаём 1-й экземпляр класса
dir()
['Class1', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os', 'z1']
```
- Вызов методов у экзмепляров класса
```py
z2=Class1()
z1.zad_zn('экз.класса 1')
z2.zad_zn(-632.453)
z1.otobrazh()
экз.класса 1
z2.otobrazh()
-632.453
z1.data='Новое значение атрибута у экз.1';z1.otobrazh()
Новое значение атрибута у экз.1
```
#### 2.2 Создание класса-наследника
```py
class Class2(Class1): #Class2 - наследник класса Class1
def otobrazh(self): # Метод класса Class2 – переопределяет метод родителя
print('значение=',self.data)#Отображение данных экземпляра
z3=Class2()
dir(z3)
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__firstlineno__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__static_attributes__', '__str__', '__subclasshook__', '__weakref__', 'otobrazh', 'zad_zn']
z3.zad_zn('Совсем новое')
z3.otobrazh()
значение= Совсем новое
z1.otobrazh()
```
- Родитлеский класс не изменил значение поля класса
```py
Новое значение атрибута у экз.1
del z1,z2,z3
```
### 3. Использование классов, содержащихся в модулях
```py
from Mod3 import Class1 #Частичный импорт содержимого модуля
z4=Class1()
z4.otobrazh()
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
z4.otobrazh()
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA9/Mod3.py", line 5, in otobrazh
print(self.data)#Отображение данных экземпляра
AttributeError: 'Class1' object has no attribute 'data'
```
- Нет  data, ничего не задавали -> нечего вывести
```py
z4.zad_zn(2)
z4.otobrazh()
2
from Mod3 import Class1
z4=Class1()
z4.data='значение данного data у экз.4'
z4.otobrazh()
значение данного data у экз.4
del z4
dir()
['Class1', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os']
```
- Меняем значение у класса, значение экземпляра - неизменно
```py
import Mod3
z4=Mod3.Class2()
z4.zad_zn('Класс из модуля')
z4.otobrazh()
значение= Класс из модуля
Mod3.otobrazh('Объект')
значение объекта= Объект
z4.otobrazh()
значение= Класс из модуля
```
### 4.Использование специальных методов
```py
import Mod3
z5=Mod3.Class3('abc') #При создании экземпляра срабатывает конструктор __init__
z5.otobrazh()
значение= abc
```
- При операции выполнении+ срабатывает метод _add_
```py
z6=z5+'def'
z6.otobrazh()
значение= abcdef
z6.zad_dr_zn(3)
type(z6)
<class 'Mod3.Class3'>
z6.otobrazh()
значение= abcdefabcdefabcdef
```
### 5.Присоединение атрибутов к классу
```py
dir(Class3)
['__add__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__firstlineno__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__static_attributes__', '__str__', '__subclasshook__', '__weakref__', 'otobrazh', 'zad_dr_zn', 'zad_zn']
```
- Создание нового отрибута
```py
Class3.fio='Иванов И.И.'
dir(Class3)
['__add__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__firstlineno__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__static_attributes__', '__str__', '__subclasshook__', '__weakref__', 'fio', 'otobrazh', 'zad_dr_zn', 'zad_zn']
z7=Class3(123)
```
- Отличие в data
```py
dir(z7)==dir(Class3)
False
z7.fio
'Иванов И.И.'
z7.otobrazh()
значение= 123
dir(z7)
['__add__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__firstlineno__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__static_attributes__', '__str__', '__subclasshook__', '__weakref__', 'data', 'fio', 'otobrazh', 'zad_dr_zn', 'zad_zn']
dir(Class3)
['__add__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__firstlineno__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__static_attributes__', '__str__', '__subclasshook__', '__weakref__', 'fio', 'otobrazh', 'zad_dr_zn', 'zad_zn']
```
- Значение не изменилось у родительского класса
```py
z7.fio ='fff'
z7.fio
'fff'
Class3.fio
'Иванов И.И.'
z7.rozden='1987'
```
- Атрибут rozden не появится у родительского класса
```py
dir(z7)
['__add__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__firstlineno__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__static_attributes__', '__str__', '__subclasshook__', '__weakref__', 'data', 'fio', 'otobrazh', 'rozden', 'zad_dr_zn', 'zad_zn']
dir(Class3)
['__add__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__firstlineno__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__static_attributes__', '__str__', '__subclasshook__', '__weakref__', 'fio', 'otobrazh', 'zad_dr_zn', 'zad_zn']
```
### 6.Выявление родительских классов
- Выявление родительских классов с помощью атрибута _bases_
```py
from Mod3 import Class1,Class2,Class3
dir()
['Class1', 'Class2', 'Class3', 'Mod3', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os']
Class3.__bases__
(<class 'Mod3.Class2'>,)
Class2.__bases__
(<class 'Mod3.Class1'>,)
Class1.__bases__
(<class 'object'>,)
```
- Выявление родительских классов (вся цепочка) с помощью атрибута _mro_
```py
Class3.__mro__
(<class 'Mod3.Class3'>, <class 'Mod3.Class2'>, <class 'Mod3.Class1'>, <class 'object'>)
ZeroDivisionError.__mro__
(<class 'ZeroDivisionError'>, <class 'ArithmeticError'>, <class 'Exception'>, <class 'BaseException'>, <class 'object'>)
```
### 7. Создание свойства класса
```py
class Class4:
def __init__(sam,znach):
sam.__prm=znach
def chten(sam):
return sam.__prm
def zapis(sam,znch):
sam.__prm=znch
def stiran(sam):
del sam.__prm
svojstvo=property(chten,zapis,stiran)
```
- Инициализация свойства (getter setter)
```py
exempl=Class4(12)
exempl.svojstvo
12
exempl.svojstvo=45
exempl.svojstvo
45
print(exempl.svojstvo)
45
del exempl.svojstvo
print(exempl.svojstvo)
```
- Свойство удалено у экземпляра, невозможно обратиться. У класса свойство остается
```py
Traceback (most recent call last):
File "<pyshell#20>", line 1, in <module>
print(exempl.svojstvo)
File "<pyshell#13>", line 5, in chten
return sam.__prm
AttributeError: 'Class4' object has no attribute '_Class4__prm'
newexp=Class4(12)
newexp.svojstvo
12
```
- Вывод: Удаляется только атрибут __prm, а не весь экземпляр. Ошибка возникает из-за попытки чтения несуществующего атрибута. Нужно добавить проверку в методы класса.
### 8. Представления в виде класса модели системы автоматического регулирова-ния (САР), состоящей из последовательного соединения усилителя и двух инерционных звеньев, охваченных отрицательной обратной связью с усилителем.
```py
class SAU:
def __init__(self,zn_param):
self.param=zn_param
self.ypr=[0,0]
def zdn_zn(self,upr):
self.x=upr
def model(self):
def inerz(x,T,yy):
return (x+T*yy)/(T+1)
y0=self.x-self.ypr[1]*self.param[3] #Обр.связь с усилителем 2
y1=self.param[0]*y0 #Усилитель1
y2=inerz(y1,self.param[1],self.ypr[0]) #Инерционное звено1
y3=inerz(y2,self.param[2],self.ypr[1]) #Инерционное звено2
self.ypr[0]=y2
self.ypr[1]=y3
def otobraz(self):
print('y=',self.ypr[1])
```
- Код тестирования
```py
###main_SAU
prm=[2.5,4,1.3,0.8] #Параметры модели: коэф.усиления, 2 пост.времени, обратная связь
from SAU import *
xx=[0]+[1]*20 #Входной сигнал – «ступенька»
SAUe=SAU(prm) # Создаём экземпляр класса
yt=[]
for xt in xx: # Прохождение входного сигнала
SAUe.zdn_zn(xt)
SAUe.model()
SAUe.otobraz()
yt.append(SAUe.ypr[1])
import pylab
pylab.plot(yt)
pylab.show()
```
- Запуск модуль тестирования
```py
import test
y= 0.0
y= 0.2173913043478261
y= 0.4763705103969754
y= 0.686594887811293
y= 0.8199324616478645
y= 0.8837201137353929
y= 0.8994188484874774
y= 0.8892777072047301
y= 0.870097963179993
y= 0.8518346102696789
y= 0.8387499784485772
y= 0.8314204114211459
y= 0.8286051955249649
y= 0.8285656555914835
y= 0.8297915186846528
y= 0.8312697736438287
y= 0.8324765218921963
y= 0.8332456979978418
y= 0.8336163607592184
y= 0.8337101315489143
y= 0.833654237067147
```
![График переходного процесса](fig.png)
```py
===== RESTART: /Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA9/test.py ====
y= 0.0
y= 0.4347826086956522
y= 0.8771266540642723
y= 1.1305662858551822
y= 1.1883971255105579
y= 1.1326349288718767
y= 1.0497533578387872
y= 0.990644578833048
y= 0.9679847053552146
y= 0.9716581950194924
y= 0.9856417751200821
y= 0.9982074917220521
y= 1.0046687323933552
y= 1.005560453221529
y= 1.0035460777605603
y= 1.0010934567866612
y= 0.9995090295694802
y= 0.9990060583193288
y= 0.999210776397813
y= 0.9996464852690349
y= 0.9999972035112243
```
![График переходного процесса](k5.png)
```py
===== RESTART: /Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA9/test.py ====
y= 0.0
y= 10.434782608695652
y= -62.42722117202269
y= 441.6213035259309
y= -3045.006010698934
y= 21072.830598329532
y= -145756.02311219365
y= 1008239.1249389423
y= -6974221.774992491
y= 48242372.61584475
y= -333704038.94107586
y= 2308310792.118783
y= -15967138737.795193
y= 110448523882.25536
y= -763998899668.5714
y= 5284763419071.18
y= -36555974632436.45
y= 252866434191791.06
y= -1749137704131481.2
y= 1.209920453773572e+16
y= -8.369309637553866e+16
```
![График переходного процесса](k20.png)
```py
===== RESTART: /Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA9/test.py ====
y= 0.0
y= 1.7391304347826089
y= 1.6937618147448015
y= 0.9085559299745211
y= 0.9495540682030151
y= 1.3035341690149207
y= 1.2757616169252037
y= 1.116425550960422
y= 1.133140167539201
y= 1.2047517464994821
y= 1.1953257047692445
y= 1.163190713632341
y= 1.168291227922628
y= 1.1826887757160904
y= 1.180006868007609
y= 1.1735666352933953
y= 1.1749473300671665
y= 1.17782341716993
y= 1.1771240746521525
y= 1.175841826810497
y= 1.1761915011970139
```
![График переходного процесса](k002.png)

70
TEMA9/task.md Обычный файл
Просмотреть файл

@@ -0,0 +1,70 @@
# Общее контрольное задание по теме 8
**Антонов Дмитрий, А-03-23** \
Общее контрольное задание.
Создайте и запишите в модуль класс, содержащий следующие компоненты:
- конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фа-милии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения;
- метод для обеспечения операции повышения оклада сотрудника на заданное значение;
- метод для обеспечения перевода сотрудника из одного отдела в другой;
- метод для изменения должности сотрудника;
- свойство, содержащее перечень (список) поощрений сотрудника.
```py
class Departament:
def __init__(self,fio,otdel,dolzhnost,oklad):
self.fio = fio
self.otdel = otdel
self.dolzhnost = dolzhnost
self.oklad = oklad
self.__prm = list()
def increase(self,put):
self.oklad += put
def new_work(self,new_otdel):
self.otdel = new_otdel
def new_dolzhnost(self,new_dolzh):
self.dolzhnost = new_dolzh
def all_info(self):
print(self.fio,self.otdel,self.dolzhnost,self.oklad,self.prop)
def getter(self):
return self.__prm
def setter(self,new):
self.__prm.append(new)
prop = property(getter,setter)
```
Задание: Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобразите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, измене-ния должности и оклада, объявления благодарности.
```py
from control import Departament
empl_fr = Departament("Иванов И.И.","УИТ","Доцент",100)
empl_sec = Departament("Петров П.П.","ИРЭ","Аспирант",50)
empl_fr.all_info()
Иванов И.И. УИТ Доцент 100 []
empl_sec.all_info()
Петров П.П. ИРЭ Аспирант 50 []
empl_sec.new_work("УИТ")
empl_sec.all_info()
Петров П.П. УИТ Аспирант 50
empl_fr.new_dolzhnost("Академик")
empl_fr.increase(120)
empl_fr.all_info()
Иванов И.И. УИТ Академик 220
empl_fr.prop="Отличная работа!"
empl_fr.all_info()
Иванов И.И. УИТ Академик 220 Отличная работа!
empl_fr.prop="Отличная работа!"
empl_fr.prop="Отличная работа!"
empl_fr.prop="Отличная работа!"
empl_fr.all_info()
Иванов И.И. УИТ Доцент 100 ['Отличная работа!', 'Отличная работа!', 'Отличная работа!']
```

14
TEMA9/test.py Обычный файл
Просмотреть файл

@@ -0,0 +1,14 @@
###main_SAU
prm=[0.01,4,1.3,0.8] #Параметры модели: коэф.усиления, 2 пост.времени, обратная связь
from SAU import *
xx=[0]+[1]*20 #Входной сигнал – «ступенька»
SAUe=SAU(prm) # Создаём экземпляр класса
yt=[]
for xt in xx: # Прохождение входного сигнала
SAUe.zdn_zn(xt)
SAUe.model()
SAUe.otobraz()
yt.append(SAUe.ypr[1])
import pylab
pylab.plot(yt)
pylab.show()