diff --git a/TEMA5/report.md b/TEMA5/report.md new file mode 100644 index 0000000..c473c86 --- /dev/null +++ b/TEMA5/report.md @@ -0,0 +1,138 @@ +# Отчет по теме 5 + +Коваленко Дмитрий, А-01-23 + +## 5 Блоки инструкций, управляющие инструкции + +### 5.1 Изучим ветвления if +```py +porog = 12 +rashod1 = 5 +rashod2 = 7 +dohod = 0 +if rashod1 >= porog: + dohod = 12 +elif rashod2 == porog: + dohod = 0 +else: + dohod =- 8 +>>> dohod +-8 + +if rashod1 >= 3 and rashod2 == 4: + dohod = rashod1 + if rashod2 == porog or rashod1 < rashod2: + dohod = porog + +if porog == 3: + dohod = 1 +elif porog == 4: + dohod = 2 +elif porog == 5: + dohod = 3 +else: + dohod = 0 + +>>> dohod=2 if porog>=4 else 0 +>>> if porog>=5 : rashod1=6; rashod2=0 +``` + +### 5.2 Изучим цикл for + +```py +temperatura = 5 +for i in range(3, 18, 3): + temperatura += i + + +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] + +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) + +301 +... +... +436 +``` +Как можно видеть, программа не всегда выводит значения на экран. Это происходит из-за оперратора `break`, который завершает цикл, если сумма ss первысила 500. В этом случае `else` не выполняется. + +```py +stroka='Это – автоматизированная система' +stroka1="" +for ss in stroka: + stroka1+=" "+ss + +import math, pylab +sps2=[math.sin(i*math.pi/5+2) for i in range(100)] + +pylab.plot(sps2) +pylab.show() +``` +Полученный график: ![ris1.png](ris1.png) + +### 5.3 Изучим цикл while + +```py +rashod = 300 +while rashod: + print("Расход=",rashod) + rashod-=50 + +Расход= 300 +Расход= 250 +Расход= 200 +Расход= 150 +Расход= 100 +Расход= 50 + +import math, pylab +stroka='Расчет процесса в объекте регулирования' +i=0 +sps2=[] +while i