Сравнить коммиты

...

4 Коммитов

Автор SHA1 Сообщение Дата
KuzmenkoEA 92a69fd383 картинка2
6 дней назад
KuzmenkoEA ef05471dd5 картинка1
6 дней назад
KuzmenkoEA 8630088eae общее контрольное
6 дней назад
KuzmenkoEA 2493af9e5a отчет
6 дней назад

Двоичные данные
TEMA5/Ris1.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 50 KiB

Двоичные данные
TEMA5/Ris2.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 19 KiB

@ -0,0 +1,385 @@
# Отчёт по Теме 5
Кузьменко Елена, А-02-23
## 1. Запустили интерактивную оболочку IDLE.
## 2.Управляющая инструкция if.
Первая операция. Определение значения dohod:
```py
>>> porog = 5
>>> rashod1 = 6
>>> rashod2 = 4
>>> if rashod1 >= porog:
dohod = 12
elif rashod2 == porog:
dohod = 0
else:
dohod = -8
>>> dohod
12
```
Вторая операция. Определение значения dohod:
```py
>>> if rashod1 >= 3 and rashod2 ==4:
dohod = rashod1
if rashod2 == porog or rashod1 < rashod2:
dohod = porog
>>> dohod
6
```
Операция с множественным ветвлением линий потока:
```py
>>> if porog == 3:
dohod = 1
elif porog == 4:
dohod = 2
elif porog == 5:
dohod = 3
else:
dohod = 0
>>> dohod
3
```
Инструкция в одну строчку:
```py
>>> if porog >=5: rashod1 = 6; rashod2 = 0
>>> rashod1; rashod2
6
0
```
Или:
```py
>>> rashod1 = 1 if porog == 5 else 2
>>> rashod1
1
```
## 3.Управляющая инструкция for.
### 3.1.Простой цикл.
```py
>>> temperatura = 5
>>> for i in range(3,18,3):
temperatura += i
>>> temperatura
50 # 5 + цикл(3+6+9+12+15)
```
### 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]
```
Отличающаяся совокупность операций:
```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]
```
Здесь sps[:] - копия списка sps, потому кол-во элементов не увеличвается и заканчивается на последней 4-й итерации(всего 4 элемента в sps[:]).
### 3.3.Пример c созданием списка.
```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)
49
85
130
195
244
307
315
396
464
467
```
### 3.5. Пример с символьной строкой.
```py
>>> stroka = 'Это - автоматизированная система'
>>> stroka1 = ""
>>> for ss in stroka:
stroka1 += " " + ss
>>> stroka1
' Э т о - а в т о м а т и з и р о в а н н а я с и с т е м а'
```
### 3.5.Конструкция list comprehension.
```py
>>> 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.676767518464319, 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.6767675184643214, -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.6767675184643185, 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.4910320979328148, -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]
```
Отображение графика:
```py
>>> import pylab
>>> x = list(sps2)
>>> y = list(range(100))
>>> pylab.plot(y,x)
[<matplotlib.lines.Line2D object at 0x000001AD2659D940>]
>>> pylab.title('3.5.График')
Text(0.5, 1.0, '3.5.График')
>>> pylab.show()
```
![](Ris1.png)
## 4.Управляющая инструкция while.
### 4.1.Цикл со счетчиком.
```py
>>> rashod = 300
>>> while rashod:
print("Расход =", rashod)
rashod -= 50
Расход = 300
Расход = 250
Расход = 200
Расход = 150
Расход = 100
Расход = 50
```
Цикл останавливается, когда rashod принимает значение False, то есть rashod = 0.
В остальных случаях 300, 250, 200... -> True
### 4.2.Пример с символьной строкой.
```py
>>> import math
>>> stroka = 'Расчет процесса в объекте регулирования'
>>> i = 0
>>> sps = []
>>> while i < len(stroka):
r = 1-2/(1+math.exp(0.1*i))
sps.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
```
Отображение графика:
```py
>>> import pylab
>>> x = list(range(i))
>>> y = list(sps)
>>> pylab.plot(y,x)
[<matplotlib.lines.Line2D object at 0x000001AD265F3B20>]
>>> pylab.title('4.2.График')
Text(0.5, 1.0, '4.2.График')
>>> pylab.show()
```
![](Ris2.png)
### 4.3.Проверка на простое число
Простое число такое, которое делится на самого себя и 1.
```py
>>> chislo = 267
>>> kandidat = chislo//2 # 267//2 = 133 - максимально возможный делитель
>>> while kandidat > 1:
if chislo%kandidat == 0: #проверка делимости
print(chislo, ' имеет множитель ',kandidat)
break #выявляется ПЕРВЫЙ возможный множитель(кроме 1) и завершает цикл
kandidat -= 1 #рассматриваем остальные числа
else:
print(chislo,' является простым!')
267 имеет множитель 89
```
Программа проверка на простые числа в диапазоне от 250 до 300:
```py
>>> for chislo in range(250,301):
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
```
### 4.4.Инструкция continue.
Инструкция continue используют внутри циклов для прерывания текущей итерации и немедленного перехода к следующей.
continue(в отличие от break) только пропускает оставшуюся часть кода и переходит к проверке условия следующей итерации.
### Пример с for:
```py
>>> sps = [2, 15, 14, 8, 3, 7, 10]
>>> for k in sps:
if k > 10:
continue #пропускает число больше 10
print(k)
2
8
3
7
10
```
### Пример с while:
```py
>>> chislo = 0
>>> while chislo < 10:
chislo += 1
if chislo % 2 == 0:
continue #пропускает, если число четное
print(chislo)
1
3
5
7
9
```
## 5.Завершение работы со средой IDLE.

@ -0,0 +1,90 @@
## Общее контрольное задание по Теме 5
Кузьменко Елена, А-02-23
## Задание
Реализовать, записать в текстовый файл программы и результаты их выполнения при решении следующих задач:
1)Для заданной символьной строки с англоязычным текстом (его можно заимствовать из помощи) определите порядковый номер каждой буквы в английском алфавите.
2)Создайте список со словами из задания данного пункта. Для этого списка – определите, есть ли в нем некоторое заданное значение, и выведите соответствующее сообщение: либо о нахождении элемента, либо о его отсутствии в списке (проверить как с имеющимся, так и с отсутствующим словом).
3)Создайте список студентов вашей группы (3-4 фамилии) и список их средних баллов в летней сессии – в порядке перечисления студентов в первом списке. Создайте еще 2 аналогичных списка для тех же студентов, но в другом порядке, по зимней сессии. Напишите инструкции, позволяющие по указанной (запрошенной и введенной) фамилии студента вывести его средние баллы по двум сессиям.
## Решение
### 1)Определение порядкового номера каждой буквы.
```py
>>> str1 = "python"
>>> alphabet = "abcdefghijklmnopqrstuvwxyz"
>>> for i in str1:
if i in alphabet:
num = alphabet.index(i) + 1
print('В алфавите буква ',i,' под номером ',num)
else: continue
В алфавите буква p под номером 16
В алфавите буква y под номером 25
В алфавите буква t под номером 20
В алфавите буква h под номером 8
В алфавите буква o под номером 15
В алфавите буква n под номером 14
```
### 2)Наличие и отсутствие элемента в списке.
```py
>>> str2 = """Создайте список со словами из задания данного пункта. Для этого списка – определите, есть ли в нем некоторое заданное значение, и выведите соответствующее сообщение: либо о нахождении элемента, либо о его отсутствии в списке (проверить как с имеющимся, так и с отсутствующим словом)."""
>>> spis2 = str2.split(); spis2
['Создайте', 'список', 'со', 'словами', 'из', 'задания', 'данного', 'пункта.', 'Для', 'этого', 'списка', '–', 'определите,', 'есть', 'ли', 'в', 'нем', 'некоторое', 'заданное', 'значение,', 'и', 'выведите', 'соответствующее', 'сообщение:', 'либо', 'о', 'нахождении', 'элемента,', 'либо', 'о', 'его', 'отсутствии', 'в', 'списке', '(проверить', 'как', 'с', 'имеющимся,', 'так', 'и', 'с', 'отсутствующим', 'словом).']
>>> words = ["словами","значения"]
>>> i = 0
>>> while i < len(words): #i - слово 1 и 2
word = words[i]
j = 0
while j < len(spis2):
if spis2[j] == word:
print('В списке нашелся элемент \"',word,'\"')
break
j += 1
else:
print('В списке элемент \"',word,'\" отсутствует')
i += 1 #переход ко второму слову в words
В списке нашелся элемент " словами "
В списке элемент " значения " отсутствует
```
### 3)Инструкция вывода среднего балла по заданной фамилии.
```py
>>> stud = ['Кузьменко','Криви','Добровольска','Беженарь']
>>> grade = [4.6, 4.5, 4.7, 4.9]
>>> stud1 = ['Добровольска','Беженарь','Криви','Кузьменко']
>>> grade1 = [4.8, 5.0, 4.7, 4.7]
>>> choice = input('Фамилия студента: ')
Фамилия студента: Кузьменко
>>> grade0 = 0
>>> for i in range(len(stud)):
if stud[i] == choice:
grade0 = grade[i]
break
>>> print('Средний балл летней сессии: ',grade0)
Средний балл летней сессии: 4.6
>>> choice1 = input('Фамилия студента: ')
Фамилия студента: Добровольска
>>> grade3 = 0
>>> for j in range(len(stud1)):
if stud1[i] == choice1:
grade3 = grade1[i]
break
>>> print('Средний балл зимней сессии: ',grade3)
Средний балл зимней сессии: 4.8
```
Загрузка…
Отмена
Сохранить