«Алгоритмдеу және бағдарламалау» пәнінен оқу тәжірибесі бойынша



бет14/64
Дата06.02.2022
өлшемі2,01 Mb.
#79582
1   ...   10   11   12   13   14   15   16   17   ...   64
Байланысты:
ПИТОН УМК

Логикалық операциялар
Құрама шартты өрнектерді құру үшін логикалық операциялар қолданылады. Python-да келесі логикалық операторлар қолданылады:



  • and (логикалық көбейту)

егер екі өрнек те True мәніне тең болса, True қайтарады.

1
2
3
4

age = 22
weight = 58
result = age > 21 and weight == 58
print(result) # True

1
2
3


4
5

age = 22
weight = 58
isMarried = False
result = age > 21 and weight == 58 and isMarried
print(result) # False, так как isMarried = False

  • or (логикалық көбейту)

Егер кем дегенде екі өрнектің біреуі True-ге тең болса, True мәнін қайтарады.

1
2
3
4

age = 22
isMarried = False
result = age > 21 or isMarried
print(result) # True, себебі age > 21 тең True

  • not (логикалық «емес»)

Егер өрнек False-қа тең болса, True мәнін қайтарады

1
2
3
4

age = 22
isMarried = False
print(not age > 21) # False
print(not isMarried) # True

Егер бір өрнекте бір мезгілде бірнеше логикалық операторлар орындалсағ олардың приоритеті әр түрлі екенін ескеру керек.
Алдымен not операторы, содан кейін and және соңында or операторы орындалады.

1
2
3
4
5

age = 22
isMarried = False
weight = 58
result = weight == 58 or isMarried and not age > 21 # True
print(result)

Мында есептеулер келесідей жүргізіледі:

  1. not age > 21 тең False

  2. isMarried and False (not age > 21) тең False

  3. weight == 58 or False (isMarried and not age > 21) тең True

Есептеулердің ретін ауыстыру үшін біз жақшаларды қолдана аламыз:

1
2
3
4
5

age = 22
isMarried = False
weight = 58
result = (weight == 58 or isMarried) and not age > 21 # False
print(result)



Шартты өрнектер. if шартты құрылымы
Бағдарламаның орындалу барысы сызықтық, яғни өрнектер біріншісінен бастап соңғысына дейін бір-бірінен кейін бірі орындалатындай болуы мүмкін. Бағдарлама кодының бірде-бір жолы жіберілмейді.
Алайда, бағдарламаларда жиі болмайды. Кодты орындау кезінде, қандай да бір шарттарға байланысты, оның кейбір учаскелері түсірілуі мүмкін, ал басқалары орындалса. Басқаша айтқанда, бағдарламада Шартты оператор – бағдарламалау тілінің ерекше конструкциясы іске асыратын тармақ болуы мүмкін.
Шындықпен ұқсастықты өткіземіз. Адам кесте бойынша тұрады. Кесте-бұл адам үшін алгоритм, оның орындалуы тиіс бағдарламалық коды. Сағат 18.00-де бассейнге бару керек. Алайда, Homo sapiens класының биороботының данасы өздерінің рецепторлар арқылы бассейн су құйылғандығы туралы ақпарат алады. Жүзу бойынша сабақты тоқтату, яғни Бағдарлама-кестені орындау барысын өзгерту орынды болар еді. Бассейнге бару шарттарының бірі оның жұмыс істеуі болуы тиіс, әйтпесе басқа әрекеттер орындалуы тиіс.
Мұндай сызықсыз әрекеттер компьютерлік бағдарламада іске асырылуы мүмкін. Мысалы, кодтың бір бөлігі тек белгілі бір айнымалы мәнде орындалады. Бағдарламалау тілдерінде шартты оператордың құрылымы шамамен қолданылады:
if логическое_выражение {
выражение 1;
выражение 2;

}

Адам тіліне аударуға болады: егер логикалық өрнек шындықты қайтарса, онда фигуралық жақшалардың ішінде өрнектер орындалады; егер логикалық өрнек жалған қайтарады, онда фигуралық жақшалардың ішіндегі код орындалмайды. Ағылшын тілінен" if ""егер" деп аударылады.


If құрылымы логикалық тесу шартты оператордың тақырыбы деп аталады. Шартты оператордың фигуралық жақшасының ішіндегі өрнектер. Дене көптеген сөйлемдерді де, тек бір немесе тіпті бос болуы мүмкін.
Python бағдарламалау тілінде шартты операторды қолдану мысалы:
if n < 100:
b = n + a
Python-да фигуралы жақшаның орнына қос нүкте қолданылады. Берілген кодты, яғни оператордың денесін оқшаулауға шегініс есебінен қол жеткізіледі. Бағдарламалауда төрт жүгіріске тең шегініс жасау керек. Дегенмен, пернетақтадағы табуляция пернесін (Tab) пайдалануға болады. Көптеген бағдарламалау ортасы автоматты түрде шегініс жасайды, сіз қос нүкте қойып, жаңа жолға өтіңіз. Алайда, интерактивті режимде жұмыс істеу кезінде шегіністерді қолмен жасау керек.

Шартты оператордың денесінде табу үш нүктемен белгіленеді. Скрипті бар файлды жасаған кезде, шақыру сияқты нүктелер болмауы керек. > > >


Python анық синтаксис және оңай оқылатын коды бар тіл болып саналады. Бұл жақша және үтір нүктелері сияқты қосалқы элементтерді азайту арқылы қол жеткізіледі. Өрнектерді бөлу үшін жаңа жолға өту, ал ішкі өрнектерді белгілеу үшін – жолдың басынан шегініс қолданылады. Басқа тілдерде бұл бағдарламалау стилі де қолданылады, бірақ адам кодының ыңғайлы болуы үшін. Питонда ол синтаксистік ереже дәрежесіне көтерілді.
Мысалы, жоғарыда логикалық өрнек n < 100 болып табылады. Егер логикалық өрнек жалған болса, онда B = n + a өрнегі орындалмайды.
Бұл мысал контекстен алынып тасталған және өзі жұмыс емес. Бағдарламаның толық нұсқасы осылай көрінуі мүмкін:
b = 0
a = 50
n = 98
if n < 100:
b = n + a
print(b)
Print(b) кодының соңғы жолы шартты операторға жатпайды,бұл оның алдында шегініс жоқ. Ол шартты операторға салынған емес, яғни оған тиесілі емес.
N 98-ге тең, ал бұл 100-ден аз болғандықтан, b 148-ге тең болады. Бұл мән экранға шығарылады. Егер N айнымалысы бастапқыда 101 мәнімен байланысты болса, онда 0 экранға шығады. Нөлдік кезіндегі логикалық өрнек тақырыбындағы шартты оператордың мүмкіндігіне еді өтірік, демек, денесі жоқ еді орындалды, және ауыспалы b өзгерген жоқ еді.
Бағдарлама құрылымын келесідей бейнелеуге болады:

Бағдарламаның негізгі тармағы әрқашан орындалады, ал салынған код шартты оператордың тақырыбын білдіретін қара-жасыл жолда ақиқат болған кезде ғана орындалады.
Шағын бағдарламалар үшін кейде орындау алгоритмін көрсететін блок-схемалар сызылады. Блок-схемалар тілінде белгілі бір құрылымдар өз фигураларымен белгіленеді. Сондықтан әрекет блогы тікбұрышты, ал логикалық өрнек – ромбпен белгіленеді. Жоғары Код үшін блок-схема осылай көрінуі мүмкін:

Шартты оператор бір тармақты емес, екі тармақты қамтуы мүмкін.



False логикалық өрнегімен қайтарылған жағдайда, бағдарламаны орындау ағыны бірден негізгі тармаққа қайтарылмайды. False жағдайында True жағдайынан басқа ішкі код бар. Басқаша айтқанда, шартты оператордың кеңейтілген нұсқасымен кездескен соң, бағдарламаны орындау ағыны қандай да бір салынған кодты орындамай, негізгі тармаққа қайтып оралмайды.


Бағдарламалау тілдерінде екі тармаққа бөлуге else блогын қосу арқылы қол жеткізіледі, if–else деп аталады (басқаша болса). Синтаксис осылай көрінеді:
if логическое_выражение {
выражение 1;
выражение 2;

}
else {
выражение 3;

}
Егер if нұсқауы жалған болса, онда else нұсқауы бойынша Код блогы орындалады. Екі тармақтың да орындалуы мүмкін жағдай мүмкін емес. If немесе else тиесілі код. Басқаша жол жоқ. Else тақырыбында ешқашан логикалық өрнек болмайды.
Python бағдарламалау тілінде else тармағы бар код үлгісі:
tovar1 = 50
tovar2 = 32
if tovar1+ tovar2 > 99 :
print("99 рублей недостаточно")
else:
print("Чек оплачен")
If кезінде логикалық өрнек "стандартты емес", яғни A > b және сол сияқты қарапайым емес көрінеді. Онда тек бір айнымалы, Сан, True немесе False сөзі, сондай-ақ күрделі логикалық өрнек болуы мүмкін.
a = ?
if a:
a = 1
Егер сұрақ белгісінің орнына 0 тұрса, онда логикалық тұрғыдан бұл False, демек if өрнегі орындалмайды. Егер А кез келген басқа санмен байланысты болса, онда ол True деп бағаланады және шартты оператордың денесі орындалады.
Циклдер, for циклі. While циклі

Айталық, экранға келесідей хабарлама шығару керек:
#1 color of rainbow is red
#2 color of rainbow is orange
#3 color of rainbow is yellow
#4 color of rainbow is green
#5 color of rainbow is cyan
#6 color of rainbow is blue
#7 color of rainbow is violet

for параметрлі циклдық операторын қолданып, оны келесідей жазуға болады:



i = 1


Достарыңызбен бөлісу:
1   ...   10   11   12   13   14   15   16   17   ...   64




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет