2 121
pakeitimas
Pipedija - tautosaka, gandai, kliedesiai ir jokios tiesos! Durniausia wiki enciklopedija durnapedija!
(Naujas puslapis: 500px|thumb|right|If-else sakinys yra viso ko pagrindas, nes jis nustato viską. '''If-else''' - tai esminis, pats svarbiausaias visų programavimo kalbų elementas, be kurio jokia kalba negali egzistuoti. Tiesiogiai ar netiesiogiai šis sakinys realizuojamas netgi tose programavimo kalbose, kuriose jo atseit nėra. Galima tarti, kad jei mokate kažką suprogramuoti su If-else sakiniais, tai jau mokate kažką suprogramuoti....) |
Žymos: Keitimas mob. telefonu Keitimas įskiepiu mobiliesiems Advanced mobile edit |
||
| (nerodoma 2 tarpinės versijos, sukurtos vieno naudotojo) | |||
| 1 eilutė: | 1 eilutė: | ||
[[Vaizdas:If-else.jpg|500px|thumb|right|If-else sakinys yra viso ko pagrindas, nes jis nustato viską.]] | [[Vaizdas:If-else.jpg|500px|thumb|right|If-else sakinys yra viso ko pagrindas, nes jis nustato viską.]] | ||
'''If-else''' - tai esminis, pats svarbiausaias visų [[programavimo kalbos|programavimo kalbų]] elementas, be kurio jokia kalba negali egzistuoti. Tiesiogiai ar netiesiogiai šis sakinys realizuojamas netgi tose programavimo kalbose, kuriose jo atseit nėra. | '''If-else''' arba '''sąlyginis sakinys''', dar liaudiškai vadinamas kaip '''Ifas''' - tai esminis, pats svarbiausaias visų [[programavimo kalbos|programavimo kalbų]] elementas, be kurio jokia kalba negali egzistuoti. Tiesiogiai ar netiesiogiai šis sakinys realizuojamas netgi tose programavimo kalbose, kuriose jo atseit nėra. Galima tarti, kad tai vienas iš tų veiksmų, be kurių neįmanoma [[Tiuringo mašina]], t.y., neįmanomi ir patys [[kompiuteriai]]. | ||
Galima tarti, kad jei mokate kažką suprogramuoti su If-else sakiniais, tai jau mokate kažką suprogramuoti. O jei nemokate ir nesuprantate to iš principo - tai reiškia, kad esate [[dibilas]], o gal ir realiai [[debilas]], nes negali būti taip, kad normalus žmogus nesuprastų tokių dalykų. | Galima tarti, kad jei mokate kažką suprogramuoti su If-else sakiniais, tai jau mokate kažką suprogramuoti. O jei nemokate ir nesuprantate to iš principo - tai reiškia, kad esate [[dibilas]], o gal ir realiai [[debilas]], nes negali būti taip, kad normalus žmogus nesuprastų tokių dalykų. | ||
If-else sakinio esmė labai paprasta: | If-else sakinio esmė labai paprasta: | ||
* Jei tam tikra sąlyga yra teisinga, tai darome vieną dalyką | * Jei tam tikra sąlyga yra teisinga, tai darome vieną dalyką, t.y., "''If sąlyga'' - darom''". | ||
* Kitu atveju (jei ta aukščiau minėta sąlyga nėra teisinga) darome kitą dalyką | * Kitu atveju (jei ta aukščiau minėta sąlyga nėra teisinga) darome kitą dalyką, t.y., "''Else - darom''" | ||
Tipiški tokių sakinių atvejai yra pačiose įvairiausiose kalbose ir kartu su [[goto]] sakiniais gali būti panaudojami praktiškai bet kokioms labiau išvystytoms konstrukcijoms simuliuoti, pvz., kad ir įvairiausiems [[ciklai]] atkurti. Tiesa, dėl to, kad goto naudojimas laikomas kenksmingu (ir tai tiesa), tai geriau be tos emuliacijos apsieiti. Bet kuriuo atveju reikia žinoti, kad If-else sakinys yra pats programavimo pagrindas. | Pačiu paprasčiausiu atveju iš visos sąlygos gali būti reikalingas tik "''If''", tačiau "''Else''" irgi dažnai praverčia, nes vykdomas yra tik tuo atveju, jei "''If''" yra netiesa, t.y., negalioja. | ||
Tipiški tokių sakinių atvejai yra pačiose įvairiausiose kalbose ir kartu su [[goto]] sakiniais gali būti panaudojami praktiškai bet kokioms labiau išvystytoms konstrukcijoms simuliuoti, pvz., kad ir įvairiausiems [[ciklai|ciklams]] atkurti. Tiesa, dėl to, kad goto naudojimas laikomas kenksmingu (ir tai tiesa), tai geriau be tos emuliacijos apsieiti. Bet kuriuo atveju reikia žinoti, kad If-else sakinys yra pats programavimo pagrindas. | |||
Kadangi labai neretai naudojamos ilgos If-else sakinių sekos, kur tikrinami įvairūs galimi [[reikšmė|reikšmių]] variantai, yra atsiradę ir pora supaprastintų variantų, truputį palengvinančių gyvenimą programuotojams. Vienas iš variantų vadinasi "''elseif''", kurio esmė - pakeisti sakinį "else [...] if", o kitas - sutrumpinta forma, skirta kintamųjų priskyrimui, kur būna užrašoma maždaug kaip "''(condition) ? true statement : false statement;''". Pastaroji forma daugelio programuotojų mėgstama dėl trumpumo, tačiau senesnių yra labai nemėgstama dėl to, kad yra vizualiai labai neakivaizdi ir trukdo patogiai skaityti svetimą kodą. | Kadangi labai neretai naudojamos ilgos If-else sakinių sekos, kur tikrinami įvairūs galimi [[reikšmė|reikšmių]] variantai, yra atsiradę ir pora supaprastintų variantų, truputį palengvinančių gyvenimą programuotojams. Vienas iš variantų vadinasi "''elseif''", kurio esmė - pakeisti sakinį "else [...] if", o kitas - sutrumpinta forma, skirta kintamųjų priskyrimui, kur būna užrašoma maždaug kaip "''(condition) ? true statement : false statement;''". Pastaroji forma daugelio programuotojų mėgstama dėl trumpumo, tačiau senesnių yra labai nemėgstama dėl to, kad yra vizualiai labai neakivaizdi ir trukdo patogiai skaityti svetimą kodą. | ||
Dar sudėtingesniais atvejais vietoje ilgų if-else sekų būna naudojamas dar mažiau akivaizdžios "''switch''" tipo sekos, bet tai jau dar kita tema ir čia to nepasakosim. | Dar sudėtingesniais atvejais vietoje ilgų if-else sekų būna naudojamas dar mažiau akivaizdžios "''[[switch]]''" tipo sekos, bet tai jau dar kita tema ir čia to nepasakosim. | ||
== If-else sakinys įvairiose programavimo kalbose == | == If-else sakinys įvairiose programavimo kalbose == | ||
| 57 eilutė: | 59 eilutė: | ||
Čia svarbu atkreipti dėmesį, kad nors tiesiogiai nėra parašoma "If...else", išties tie patys veiksmai atliekami, naudojant patikrinimus bei sąlyginius ir nesąlyginius perėjimus. Taigi, rezultatas išties gaunasi visiškai tas pats. Dar vienas svarbus momentas: jei kažkur prie EQUALS ar NONEQUALS padarysim JMP į START, tai gausime ne ką kitą, o tiesiog klasikinį While ciklą. Taigi, If-else sakinys išties yra ne kas kita, kaip ir visų ciklų pagrindas. Tiesiog įprastose programavimo kalbose tai būna užmaskuojama (įvardinama kitais sakiniais), o asembleryje - puikiai matoma. | Čia svarbu atkreipti dėmesį, kad nors tiesiogiai nėra parašoma "If...else", išties tie patys veiksmai atliekami, naudojant patikrinimus bei sąlyginius ir nesąlyginius perėjimus. Taigi, rezultatas išties gaunasi visiškai tas pats. Dar vienas svarbus momentas: jei kažkur prie EQUALS ar NONEQUALS padarysim JMP į START, tai gausime ne ką kitą, o tiesiog klasikinį While ciklą. Taigi, If-else sakinys išties yra ne kas kita, kaip ir visų ciklų pagrindas. Tiesiog įprastose programavimo kalbose tai būna užmaskuojama (įvardinama kitais sakiniais), o asembleryje - puikiai matoma. | ||
== Dar žr. == | |||
* [[Su sąlyga, kad mėšlo negavau]] - puikiausias Ifo pavyzdys iš realaus gyvenimo | |||
[[Category:Programavimas]] | [[Category:Programavimas]] | ||
pakeitimas