Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

2.7 KiB

Отчет по теме 5

Коваленко Дмитрий, А-01-23

5 Блоки инструкций, управляющие инструкции

5.1 Изучим ветвления if

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

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 не выполняется.

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

5.3 Изучим цикл while

rashod = 300
while rashod:
    print("Расход=",rashod)
    rashod-=50

Расход= 300
Расход= 250
Расход= 200
Расход= 150
Расход= 100
Расход= 50

import math, pylab
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
else:
    pylab.plot(sps2)
    pylab.show()

Полученный график: ris2.png

for chislo in range(250, 501):
    kandidat =chislo // 2 	
    while kandidat > 1:
        if chislo%kandidat == 0:
            print(chislo, ' имеет множитель ', kandidat)
            break
        kandidat -= 1
    else:
        print(chislo, ' является простым!')

267  имеет множитель  89