# Отчёт по теме 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