# Отчет по Теме 5 Зеленкина Ксения, А-02-23 ## 1. Начало работы. Запустила интерактивную оболочку IDLE и открыла окно текстового редактора, куда буду фиксировать мои дальнейшие действия. ## 2. Условный оператор. Изучила ветвление по условию – управляющая инструкция __if__. Задала некоторые числовые значения объектам __porog__, __rashod1__, __rashod2__. Выполните следующую операцию, определив значение __dohod__: _Пример 1:_ ```py porog, rashod1, rashod2 = 3, 120, 50 if rashod1>=porog: dohod=12 elif rashod2==porog: dohod=0 else: dohod=-8 print(dohod) ``` __Результат:__ ```py 12 ``` Выполним ещё одну операцию, определив значение __dohod__: _Пример 2:_ ```py if rashod1>=3 and rashod2==4: dohod=rashod1 if rashod2==porog or rashod1=4 else 0 ``` __Результат:__ ```py 0 ``` _Пример 2:_ ```py porog = 10 if porog>=5 : rashod1=6; rashod2=0 print(rashod1, rashod2) ``` __Результат:__ ```py 6 0 ``` ## 3. Цикл по перечислению. Цикл по перечислению – управляющая инструкция for. #### 3.1. Выполним простой цикл: ```py temperatura=5 for i in range(3,18,3): temperatura+=i print(temperatura) ``` __Результат:__ ```py 8 14 23 35 50 ``` #### 3.2. Выполним более сложный цикл: ```py sps=[2,15,14,8] for k in sps: if len(sps)<=10:sps.append(sps[0]) else:break print(sps) ``` __Результат:__ ```py [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 print(sps) ``` __Результат:__ ```py [2, 15, 14, 8, 2, 2, 2, 2] ``` #### 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) ``` __Результат:__ ```py 1 раз: (пусто) 2 раз: (пусто) 3 раз: 316 ``` Вывод значения __ss__ бывает не всегда, потому что блок __else__ относится к циклу __for__ и выполняется только если цикл не был прерван __break__. #### 3.4. Пример с символьной строкой ```py stroka='Это – автоматизированная система' stroka1="" for ss in stroka: stroka1+=" "+ss print(stroka1) ``` __Результат:__ ```py Э т о – а в т о м а т и з и р о в а н н а я с и с т е м а ``` #### 3.5. Запись цикла в строке. Пример: создание списка с синусоидальным сигналом: ```py import math import matplotlib.pyplot as plt sps2=[math.sin(i*math.pi/5+2) for i in range(100)] x = list(range(100)) plt.figure(figsize=(12, 6)) plt.plot(x, sps2, 'b-', linewidth=1, label='sin(i*π/5 + 2)') plt.title('График сигнала: sin(i*π/5 + 2)') plt.xlabel('i (индекс)') plt.ylabel('Значение sin(i*π/5 + 2)') plt.show() ``` __График:__ ## 4. Цикл «пока истинно условие» Цикл «пока истинно условие» – управляющая инструкция __while__. #### 4.1. Цикл со счетчиком: ```py rashod=300 while rashod: print("Расход=",rashod) rashod-=50 ``` __Результат:__ ```py Расход= 300 Расход= 250 Расход= 200 Расход= 150 Расход= 100 Расход= 50 ``` Цикл завершился, потому что условие __while rashod__: стало ложным, когда __rashod__ достиг нуля. #### 4.2. Пример с символьной строкой. ```py import math import matplotlib.pyplot as plt stroka='Расчет процесса в объекте регулирования' i=0 sps2=[] while i #### 4.3. Определим, является ли число простым (делится только на самого себя или 1). ```py chislo=267 #Проверяемое число kandidat =chislo // 2 while kandidat > 1: if chislo%kandidat == 0: print(chislo, ' имеет множитель ', kandidat) break # else выполняться не будет kandidat -= 1 else: # При завершении цикла без break print(chislo, ' является простым!') ``` __Результат:__ ```py 267 имеет множитель 89 ``` Дополним программу так, чтобы выявить все простые числа в диапазоне от 250 до 300. ```py for chislo in range(250, 301): kandidat = chislo // 2 while kandidat > 1: if chislo % kandidat == 0: break kandidat -= 1 else: print(chislo, 'является простым!') ``` __Результат:__ ```py 251 является простым! 257 является простым! 263 является простым! 269 является простым! 271 является простым! 277 является простым! 281 является простым! 283 является простым! 293 является простым! ``` ## Завершение работы.