Программалау 2 Тармақталған алгоритмдерді программалау Тармақталған алгоритмдер
Тармақталған алгоритмдер шартты өрнектерді қолданады және олардың мәніне сәйкес программаның орындалу бағытын анықтайды.
IF шартты операторының құрылымы
if логикалық_өрнек:
оператор
[elif логикалық_өрнек]
оператор
[else:
оператор]
Шартты оператор
if a > b:
с = a
a = b
b = c
Не істейді?
?
4
6
?
4
6
4
a
b
3
2
1
c
Шартты оператор: толымсыз формасы
M = b
b > a?
ия
жоқ
M шығару
M = a
Тармақталудың толымсыз тұрі
M = a
if b > a:
M = b
Міндеті: қандай да бір шарттың орындалуына сәйкес орындалатын әрекеттер ретін өзгерту
Шартты оператор: толық түрі
M = a
a > b
M = b
ия
жоқ
M шығару
Тармақталудың толық түрі
Егер a = b?
?
if a > b:
M = a
else:
M = b
Бірнеше шарт берілсе қосымша elif блогын қолдануға болады:
a Оң сан
a > 0
ия
жоқ
a шығару
ия
жоқ
a < 0
a Теріс сан
a = 0
elif блогының құрылымы
a =int(input("a="))
if a > 0:
print("On san")
elif a<0:
print("Teris san")
else:
print("a=0")
Қатынас белгілері
>
<
>=
<=
==
!=
үлкен, кіші
Үлкен немесе тең
Кіші немесе тең
тең
Тең емес
Егер екі операнды тең емес болса, онда нәтижесі True, кері жағдайда False
Егер екі операнды тең болса, онда нәтижесі True, кері жағдайда False
Егер бірінші операнд екінші операндтан кіші не тең болса, онда нәтижесі True, кері жағдайда False
Егер бірінші операнд екінші операндтан үлкен не тең болса, онда нәтижесі True, кері жағдайда False
Егер бірінші операнд екінші операндтан үлкен (кіші) болса, онда нәтижесі True, кері жағдайда False
Қатынас белгілерін қолдану мысалы
a = 5
b = 6
Нәтиже = 5 == 6 # операция нәтижелерін айнымалыға сақтаймыз
print(нәтиже) # False - 5 тең емес 6
print(a != b) # True
print(a > b) # False - 5 кіші 6
print(a < b) # True
bool1 = True
bool2 = False
print(bool1 == bool2) # False - bool1 тең емес bool2
Кіріктірілген шартты операторлар
if a > b:
print("Айжан үлкен")
else:
if a = = b:
print(«Жастары бірдей")
else:
print(«Бағила үлкен")
Кіріктірілген шартты оператор
Кіріктірілген шартты операторлар не үшін қолданылады?
?
Есеп: a және b айнымалыларына Айжан мен Бағиланың жастары жазылған. Олардың қайсысы үлкен?
Қандай нұсқалары бар?
?
Каскадты тармақталу
Құны = 1500
if Құны < 1000:
print ( «жеңілдік жоқ" )
elif Құны < 2000:
print ( «жеңілдік 2%" )
elif Құны < 5000:
print ( «жеңілдік 5%" )
else:
print ( «жеңілдік 10%." )
нәтижесінде не шығады?
?
бірінші орындалатын шарт
Жеңілдік 2%
Тапсырмалар
«A»: Үш сан берілген. Олардың үлкенін табу керек
Мысалы:
Үш бүтін сан енгіз:
1 5 4
Үлкен сан 5
«B»: Бес бүтін сан енгіз. Оладың ең үлкенін тап.
Мысалы:
5 бүтін сан енгіз:
1 5 4 3 2
Ең үлкен сан 5
Тапсырмалар
«C»: Айша, Бану, Сандуғаштың жасын кезекпен енгіз. Олардың ішінде қайсысының үлкен екенін анықта.
Мысалы:
Айшаның жасы: 18
Банудың жасы: 17
Сандуғаштың жасы: 16
Жауабы: Айша ең үлкені
Мысалы:
Айшаның жасы: 18
Банудың жасы: 18
Сандуғаштың жасы: 16
Жауабы: Айша мен Бану Сандуғаштан үлкен.
Күрделі шарттар
Есеп: 25-40 (қоса алғанда) жас аралығындағы қызметкерлерді анықтау .
if :
print(«жарайды")
else:
print(«жарамайды")
and
or
not
v >= 25 and v <= 40
Күрделі шарт
«ЖӘНЕ»
«НЕМЕСЕ»
«ЕМЕС»
Логикалық операциялар
and (логикалық көбейту)
жасы = 22
салмағы = 58
нәтиже = жас > 21 and салмағы == 58
print(нәтиже) # True
or (логикалық қосу)
жасы = 22
Студент = False
Натиже = жасы > 21 or Студент
print(натиже) # True, себебі жасы > 21 өрнегі True болады
жасы = 22
Студент = False
print(not жасы > 21) # False
print(not Студент) # True
not (логикалық терістеу)
Тапсырмалар
«A»: Үш мән енгізуді сұрап, бірдей мәндердің санын шығаратын программасын құрыңдар.
Мысалы:
Үш сан енгіз:
5 5 5
Барлық сандар бірдей.
Мысалы:
Үш сан енгіз:
5 7 5
Екі сан бірдей.
Мысалы:
Үш сан енгіз:
5 7 8
Бірдей сандар жоқ.
Тапсырмалар
«B»: Айдың реттік нөміріне сәйкес жыл мезгілін немесе қате туралы қабарлама шығаратын программа құрыңдар.
Мысалы:
Айдың реттік нөмерін енгіз:
5
Көктем
Мысалы:
Айдың реттік нөмерін енгіз:
15
Айдың нөмері қате енгізілді
Достарыңызбен бөлісу: |