diff --git a/TEMA5/Figure_1.png b/TEMA5/Figure_1.png new file mode 100644 index 0000000..5094286 Binary files /dev/null and b/TEMA5/Figure_1.png differ diff --git a/TEMA5/Figure_2.png b/TEMA5/Figure_2.png new file mode 100644 index 0000000..acca508 Binary files /dev/null and b/TEMA5/Figure_2.png differ diff --git a/TEMA5/report.md b/TEMA5/report.md new file mode 100644 index 0000000..6db7073 --- /dev/null +++ b/TEMA5/report.md @@ -0,0 +1,299 @@ +#Отчёт по теме 5 + +Гордиевских Данил А-03-23 + +##2. Ветвление по условию – управляющая инструкция if + +Условие задается в виде логического выражения, которое может принимать значение True или False. Блок инструкций может располагаться на нескольких строках. Отступы во всех строках блока должны быть одинаковыми по отношению к первому символу управляющей инструкции. Если имеется вложенная управляющая инструкция, то она вводится с таким же отступом, а все строки ее блоков – отступают по отношению к ее первому символу. Признак конца блока – отсут-ствие отступов в очередной строке или ввод пустой строки. + +```py +porog = 10 +rashod1 = 3 +rashod2 = 5 +if rashod1>=porog: + dohod = 12 +... elif rashod2 == porog: +... dohod = 0 +... else: +... dohod = -8 +... +... +>>> if rashod1>=3 and rashod2 == 4: +... dohod = rashod1 +... if rashod2 == porog or rashod1>> dohod +-8 +>>> if porog == 3: +... dohod = 1 +... elif porog == 4: +... dohod = 2 +... elif porog == 5: +... dohod = 3 +... else: +... dohod = 0 +... +... +>>> dohod +0 +>>> dohod=2 if porog>=4 else 0 +>>> porog +10 +>>> dohod +2 +>>> if porog>=5 : rashod1=6; rashod2=0 +... +>>> porog +10 +>>> rashod1 +6 +>>> rashod2 +0 +``` + +##3. Цикл по перечислению – управляющая инструкция for + +###3.1. Простой цикл + +```py +>>> temperatura = 5 +>>> for i in range(3,18,3): +... temperatura+=i +... +>>> temperatura +50 +``` + +###3.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, 2, 2, 2] + +>>> 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] +``` + +Отличия в списках объясняются тем, что в первом случае при переборе значений из списка, список дополняется и добавленные элементы тоже перебираются +Во втором случае создаётся срез списка, который не изменяется в цикле, и именно по нему проходит 4 итерации + +###3.3. Пример + +Создание списка с 10 целыми случайными числами из диапазона от 1 до 100. При этом, если сумма чисел не превышает 500, эта сумма должна быть отображена на экране + +```py +>>> 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) +... +... +>>> ss +505 +``` + +###3.4. Пример с символьной строкой + +```py +>>> stroka='Это – автоматизированная система' +>>> stroka1="" +>>> for ss in stroka: +... stroka1+=" "+ss +... +... +>>> stroka1 +' Э т о – а в т о м а т и з и р о в а н н а я с и с т е м а' +``` + +###3.5. Запись цикла в строке + +Cоздание списка с синусоидальным сигналом + +```py +>>> import math +>>> sps2=[math.sin(i*math.pi/5+2) for i in range(100)] +>>> import pylab +>>> x = list(range(100)) +>>> pylab.plot(x,sps2) +[] +>>> pylab.show() +``` + +![График](Figure_1.png) + +##4. Цикл «пока истинно условие» – управляющая инструкция while + +###4.1. Цикл со счетчиком + +```py +>>> rashod=300 +>>> while rashod: +... print("Расход=",rashod) +... rashod-=50 +... +Расход= 300 +Расход= 250 +Расход= 200 +Расход= 150 +Расход= 100 +``` + +###4.2. Пример с символьной строкой + +```py +>>> import math +>>> stroka='Расчет процесса в объекте регулирования' +>>> i=0 +>>> sps2=[] +>>> while i