From 17d14c85e16449241ce4fc4622891f24df16f14c Mon Sep 17 00:00:00 2001 From: MelnikovDM Date: Fri, 24 Oct 2025 23:24:31 +0300 Subject: [PATCH] Add new files --- TEMA5/figure0.png | Bin 0 -> 27543 bytes TEMA5/figure1.png | Bin 0 -> 14434 bytes TEMA5/report.md | 377 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 377 insertions(+) create mode 100644 TEMA5/figure0.png create mode 100644 TEMA5/figure1.png create mode 100644 TEMA5/report.md diff --git a/TEMA5/figure0.png b/TEMA5/figure0.png new file mode 100644 index 0000000000000000000000000000000000000000..1a46fa8750fcf73aa94a2154e9fe5567d2f4c217 GIT binary patch literal 27543 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 q6S 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 Ug+G4O4u?Y2l(ZF#6)f-n7a3WQR{#J2 literal 0 HcmV?d00001 diff --git a/TEMA5/report.md b/TEMA5/report.md new file mode 100644 index 0000000..c10136c --- /dev/null +++ b/TEMA5/report.md @@ -0,0 +1,377 @@ +# Отчет по теме 5 + + +## 1. Запуск интерактивной оболочки IDLE. + +## 2. Ветвление по условию – управляющая инструкция if. + +- Операции определения значения dohod: +``` +>>>porog = 5 +>>>rashod1 = 8 +>>>rashod2 = 6 +>>>if rashod1 >= porog: + dohod = 12 + +if rashod1 >= porog: + dohod = 12 +elif rashod2 == porog: + dohod = 0 +else: + dohod = 8 + +>>>print(dohod) +# Выполним операцию для двух случаев +>>>rashod2 = 4 +>>>if rashod1 >= 3 and rashod2 == 4: + dohod = rashod1 + if rashod2 == porog or rashod1 < rashod2: + dohod = porog +>>>print(dohod) +8 # Выполнилось одно условие +>>>porog = 4 +>>>if rashod1 >= 3 and rashod2 == 4: + dohod = rashod1 + if rashod2 == porog or rashod1 < rashod2: + dohod = porog +>>>print(dohod) +4 # Выполнились оба условия +``` +- Операция с множественным ветвлением линий потока: +``` +>>>if porog == 3: # Не подходит + dohod = 1 +elif porog == 4: # Подходит + dohod = 2 +elif porog == 5: # Игнорируется + dohod = 3 +else: # Игнорируется + dohod = 0 +>>>print(dohod) +2 +``` + +- Инструкции, записывающиеся в одну строку в операторе присваивания. +<Объект>=<значение 1> if <условие> else <значение 2> + +``` +>>>dohod = 2 if porog >- 4 else 0 +>>>print(dohod) +2 +>>>if porog >= 5: rashod1 = 6; rashod2 = 0 # porog = 4 +>>>print(rashod1) +8 +>>>print(rashod2) +4 +>>>porog = 6 +>>>if porog >= 5: rashod1 = 6; rashod2 = 0 +>>>print(rashod1) +6 +>>>print(rashod2) +0 +``` + +## 3. Цикл по перечислению – управляющая инструкция for. +Общее правило написания: +for <Объект-переменная цикла> in <объект>: +<отступы><Блок инструкций 1 – тело цикла> +[else: +< отступы ><Блок инструкций 2 – если в цикле не сработал break>] + + +### 3.1. Простой цикл. +Выполняем цикл, который проходится по значениям от 3 до 18(не включительно) с шагом 3 и суммирует их в переменную temperatura. + +``` +>>>temperatura = 5 +>>>for i in range(3, 18, 3): + temperatura += i + +>>>temperatura +50 +``` +### 3.2. Более сложный цикл. + +``` +>>>sps = [2, 15, 14, 18] +>>>for k in sps: + if len(sps) <= 10: sps.append(sps[0]) + else: break +>>>sps +[2, 15, 14, 18, 2, 2, 2, 2, 2, 2, 2] +``` + +Как видно, в конец цикла добавляется двойка до тех пор, пока длина не превысит 10. Важно +понимать, что sps - это и объект, по которому проходит k, и объект, изменяющийся +внутри цикла. То есть k будет двигаться по циклу бесконечно, и выполнение останавливается +именно из-за условия if - else. +(При этом else в данном случае относится к if, а не к for (это можно понять не только по +смыслу, но и по табуляции) + +``` +>>>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] +``` +Отличия от предыдущего случая: +- Итерация происходит по фиксированной копии, а не по изменяемому списку. +- Создание копии: При входе в цикл создаётся копия текущего списка sps +- Изменение оригинала: Внутри цикла изменяется оригинальный список sps +- Количество итераций фиксировано: Определяется длиной изначальной копии + +### 3.3. : Cоздание списка с 10 целыми случайными числами из диапазона от 1 до 100. При этом, если сумма чисел не превышает 500, эта сумма должна быть отображена на экране. + +``` +>>>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 +512 +>>>sps5 +[47, 92, 92, 54, 52, 78, 67, 30] +``` +После того, как прошло девять итераций, сумма элементов списка уже была больше 500, поэтому +цикл закончился из-за if, а не из-за окончания диапазона range(10). + +Попробуем обнулить список и выполнить ту же программу еще раз: +``` +>>>sps5 = [] +>>>for i in range(10): + sps5.append(rn.randint(1, 100)) + ss = sum(sps5) + if ss > 500: break +else: + print(ss) +419 +``` +В этот раз программа вывела ответ, следовательно сработал else и break не сработал. + +### 3.4. Пример с символьной строкой +``` +>>>stroka='Это – автоматизированная система' +>>>stroka1 = " " +>>>for ss in stroka: + stroka1 += " " + ss +>>>print(stroka1) + Э т о – а в т о м а т и з и р о в а н н а я с и с т е м а +``` +Переменная stroka содержит исходную строку: "Это – автоматизированная система". +Переменная stroka1 инициализируется как пустая строка. +В цикле for происходит перебор каждого символа ss из строки stroka. +На каждой итерации к stroka1 добавляется пробел и текущий символ ss. +После обработки всех символов в stroka1 формируется новая строка, где каждый символ исходной строки разделён пробелом. + + +### 3.5. Запись цикла в строке. +Пример: создание списка с синусоидальным сигналом. +``` +>>>import math +>>>sps2 = [math.sin(i * math.pi / 5 + 2) for i in range(100)] +>>>sps2 +[0.9092974268256817, 0.49103209793281005, -0.11479080280322804, -0.6767675184643197, -0.9802420445539634, -0.9092974268256817, -0.49103209793281016, 0.11479080280322791, 0.6767675184643196, 0.9802420445539634, 0.9092974268256818, 0.4910320979328103, -0.1147908028032278, -0.6767675184643196, -0.9802420445539632, -0.9092974268256818, -0.4910320979328104, 0.11479080280322768, 0.6767675184643195, 0.9802420445539632, 0.9092974268256819, 0.4910320979328105, -0.11479080280322579, -0.6767675184643194, -0.9802420445539632, -0.9092974268256819, -0.4910320979328106, 0.11479080280322743, 0.6767675184643193, 0.9802420445539632, 0.909297426825682, 0.49103209793281066, -0.1147908028032273, -0.6767675184643192, -0.9802420445539632, -0.909297426825682, -0.4910320979328108, 0.11479080280322719, 0.6767675184643192, 0.9802420445539631, 0.9092974268256822, 0.491032097932814, -0.11479080280322707, -0.676767518464319, -0.9802420445539625, -0.9092974268256822, -0.491032097932811, 0.11479080280323047, 0.6767675184643189, 0.9802420445539625, 0.9092974268256822, 0.4910320979328142, -0.11479080280322682, -0.6767675184643215, -0.9802420445539631, -0.9092974268256808, -0.4910320979328112, 0.11479080280322317, 0.6767675184643187, 0.9802420445539624, 0.9092974268256823, 0.4910320979328082, -0.11479080280322658, -0.6767675184643213, -0.980242044553963, -0.9092974268256838, -0.49103209793281144, 0.11479080280322293, 0.6767675184643186, 0.9802420445539637, 0.9092974268256824, 0.49103209793280844, -0.11479080280322633, -0.6767675184643158, -0.980242044553963, -0.9092974268256839, -0.49103209793281166, 0.11479080280322974, 0.6767675184643184, 0.9802420445539637, 0.9092974268256825, 0.4910320979328149, -0.11479080280321903, -0.6767675184643209, -0.9802420445539629, -0.909297426825681, -0.4910320979328119, 0.11479080280322244, 0.6767675184643129, 0.9802420445539636, 0.9092974268256826, 0.49103209793281505, -0.11479080280322584, -0.6767675184643155, -0.9802420445539644, -0.9092974268256812, -0.49103209793281205, 0.1147908028032222, 0.6767675184643127, 0.980242044553965] +>>>import pylab +>>>pylab.plot(sps2, label = 'Синусоидальный сигнал', color = 'red') +[] +>>>pylab.show() +``` +![График](figure0.png) + +## 4. Цикл «пока истинно условие» – управляющая инструкция while. +Общее правило написания: +while <Условие>: +<отступы><Блок инструкций 1 – тело цикла> +[else: +<отступы><Блок инструкций 2 – если в цикле не сработал break>] + +### 4.1. Цикл со счетчиком. +``` +>>>rashod = 300 +>>>while rashod: + print("Расход=", rashod) + rashod -= 50 +Расход= 300 +Расход= 250 +Расход= 200 +Расход= 150 +Расход= 100 +Расход= 50 +``` +Цикл завершился из-за того, что расход стал равен 0, а 0 в свою очередь воспринимается как False. + + +### 4.2. Пример с символьной строкой. +``` +>>>import math +>>>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 +Значение в момент 0 = 0.0 +Значение в момент 1 = 0.049958374957880025 +Значение в момент 2 = 0.09966799462495568 +Значение в момент 3 = 0.14888503362331795 +Значение в момент 4 = 0.197375320224904 +Значение в момент 5 = 0.2449186624037092 +Значение в момент 6 = 0.2913126124515909 +Значение в момент 7 = 0.3363755443363322 +Значение в момент 8 = 0.3799489622552249 +Значение в момент 9 = 0.421899005250008 +Значение в момент 10 = 0.4621171572600098 +Значение в момент 11 = 0.5005202111902354 +Значение в момент 12 = 0.5370495669980353 +Значение в момент 13 = 0.5716699660851172 +Значение в момент 14 = 0.6043677771171636 +Значение в момент 15 = 0.6351489523872873 +Значение в момент 16 = 0.6640367702678489 +Значение в момент 17 = 0.6910694698329307 +Значение в момент 18 = 0.7162978701990245 +Значение в момент 19 = 0.7397830512740043 +Значение в момент 20 = 0.7615941559557649 +Значение в момент 21 = 0.7818063576087741 +Значение в момент 22 = 0.8004990217606297 +Значение в момент 23 = 0.8177540779702878 +Значение в момент 24 = 0.8336546070121553 +Значение в момент 25 = 0.8482836399575129 +Значение в момент 26 = 0.8617231593133063 +Значение в момент 27 = 0.874053287886007 +Значение в момент 28 = 0.8853516482022625 +Значение в момент 29 = 0.8956928738431645 +Значение в момент 30 = 0.9051482536448664 +Значение в момент 31 = 0.9137854901178277 +Значение в момент 32 = 0.9216685544064713 +Значение в момент 33 = 0.9288576214547277 +Значение в момент 34 = 0.935409070603099 +Значение в момент 35 = 0.9413755384972874 +Значение в момент 36 = 0.9468060128462683 +Значение в момент 37 = 0.9517459571646616 +Значение в момент 38 = 0.9562374581277391 +>>>pylab.plot(sps2, label = 'Сигнал на выходе инерционного звена', color = 'red') +[] +>>>pylab.show() +``` +![График](figure1.png) + +### 4.3. Определение, является ли число простым (делится только на самого себя или 1). +``` +>>>chislo=267 #Проверяемое число +>>>kandidat =chislo // 2 # Для значений chislo > 1 +>>>while kandidat > 1: + if chislo%kandidat == 0: # Остаток от деления + print(chislo, ' имеет множитель ', kandidat) + break # else выполняться не будет + kandidat -= 1 +>>>else: # При завершении цикла без break + print(chislo, ' является простым!') +267 имеет множитель 89 +``` +Программа работает так: переменная kandidat отвечает за потенциальный делитель заданного +числа. Изначально мы задаем половину от заданного числа, потому что у числа не может быть +делителя большего, чем половина от него. Далее мы последовательно уменьшаем потенциальный +множитель, каждый раз проверяя, получилось ли поделить без остатка. Если получилось, то +число непростое, и цикл можно прекращать досрочно. Если цикл отработал до конца, не +прервавшись, то число простое. + +Дополним программу так, чтобы выявить все простые числа в диапазоне от 250 до 300. +``` +>>>for i in range(250, 301): + chislo = i + kandidat = chislo // 2 + while kandidat > 1: + if chislo % kandidat == 0: + print(chislo, 'имеет множитель', kandidat) + break + kandidat -= 1 + else: + print(chislo, 'является простым!') +250 имеет множитель 125 +251 является простым! +252 имеет множитель 126 +253 имеет множитель 23 +254 имеет множитель 127 +255 имеет множитель 85 +256 имеет множитель 128 +257 является простым! +258 имеет множитель 129 +259 имеет множитель 37 +260 имеет множитель 130 +261 имеет множитель 87 +262 имеет множитель 131 +263 является простым! +264 имеет множитель 132 +265 имеет множитель 53 +266 имеет множитель 133 +267 имеет множитель 89 +268 имеет множитель 134 +269 является простым! +270 имеет множитель 135 +271 является простым! +272 имеет множитель 136 +273 имеет множитель 91 +274 имеет множитель 137 +275 имеет множитель 55 +276 имеет множитель 138 +277 является простым! +278 имеет множитель 139 +279 имеет множитель 93 +280 имеет множитель 140 +281 является простым! +282 имеет множитель 141 +283 является простым! +284 имеет множитель 142 +285 имеет множитель 95 +286 имеет множитель 143 +287 имеет множитель 41 +288 имеет множитель 144 +289 имеет множитель 17 +290 имеет множитель 145 +291 имеет множитель 97 +292 имеет множитель 146 +293 является простым! +294 имеет множитель 147 +295 имеет множитель 59 +296 имеет множитель 148 +297 имеет множитель 99 +298 имеет множитель 149 +299 имеет множитель 23 +300 имеет множитель 150 +``` +Здесь просто добавляется for для перебора значений. + +### 4.4. Инструкция continue +Инструкция continue, которая не вызывает завершения цикла, но завершает его текущий виток и обеспечивает переход к следующему витку. +``` +>>>x = [rn.randint(-25, 40) for i in range (20)] +>>>x +[35, 21, -14, 21, -15, 1, -9, -7, -15, 2, 32, 11, 38, 32, -13, -21, 31, -10, -20, 15] +>>>for y in x: + if y < 0: continue + print(y, ">0") +else: print("stop") +35 >0 +21 >0 +21 >0 +1 >0 +2 >0 +32 >0 +11 >0 +38 >0 +32 >0 +31 >0 +15 >0 +stop +``` + +## 5. Завершение сеанса в среде IDLE \ No newline at end of file