Сабақ №3 Тақырып: Циклдерді аяқтаудың күрделі логистикалық шарттарын жазады


Шартты өрнектер. if шартты құрылымы



бет6/14
Дата07.02.2022
өлшемі136,21 Kb.
#86884
түріСабақ
1   2   3   4   5   6   7   8   9   ...   14
Байланысты:
Циклдерді аяқтаудың күрделі логистикалық шарттарын жазады
Циклдерді аяқтаудың күрделі логистикалық шарттарын жазады
Шартты өрнектер. 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 деп бағаланады және шартты оператордың денесі орындалады.


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   14




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

    Басты бет