9. Feltételes operátor, ha (ha mást ág operátort) pascal
Feltételes nyilatkozat - mi ez
Feltételes IF kiválasztására használható programozási helyzetekben (szimuláció különböző forgatókönyvek, amelyek vonatkozásában találkozunk az életben, de most a program).
A szerkezet a feltételes állítás. modularitás
Feltételes operátor általában három részből áll:
- Ellenőrizze logikai
- Branch igazság (szükséges) - nem kerül sor, ha a logikai érték igaz (true)
- Branch hamisság (opcionális) - kerül sor, ha a logikai érték hamis (false)
Csak vegye figyelembe, hogy a logikai érték - ez valójában a válasz arra a kérdésre formátum „igen / nem”. Emlékeztetünk arra, hogy a logikai értéke típusa van:
- logikai literálok
- logikai változó
- és logikai kifejezések
-- mint bármely egyszerű adattípust lehet képviselő literálok, változók vagy kifejezések ezek.
A kód struktúrája feltételes utasítás lehet szemléltetik a következő séma szerint:
-- Ebben az esetben végezze el a „hamis” ág, mint $ 5> $ 7 visszatér az eredmény hamis.
Pontosvessző előtt mást
Megjegyzés (lásd. A fenti példák, lentebb), hogy más előtt pontosvessző nincs bekötve.
Operator zárójelben feltételes operátor
Az előző példában, észre a zárójel. a testet körülvevő az üzemeltető elágazás gallyak - kezdődnek és végződnek van szükség, ha egy ág végzünk több művelet. ha egy ág tartalmaz egyetlen művelet, az üzemeltető nem kell fogszabályozó.
Például a helyzetet ábrázolja folyamatábra:
![9 feltételes utasítás if (ha mást elágazás operátort) pascal (első nagyobb, mint a második) 9. Feltételes operátor, ha (ha mást ág operátort) pascal](https://images-on-off.com/images/150/9uslovniyoperatorifoperatorvetvleniyaife-65dca11f.jpg)
Ugyanez a helyzet jól szemlélteti a kódot:
-- Itt mindkét ágban csak egy művelet, így az üzemeltető nem kell fogszabályozó.
Teljes és részleges formájának az IF
IF utasítás a program lehet benyújtani az alábbi formákban:
- Töltse ki az űrlapot - a forma az üzemeltető, ha ahol van két ág - és akkor, és máshol
- Hiányos formában - a formában, amelyben a jelen csak akkor.
A teljes formájában a feltételes IF utasítás
A teljes forma az if két ága - a teljes formájában vettük a fenti, például:
-- Itt is, mint a feltétel változó, összehasonlítottuk a számot, majd ismerteti a két forgatókönyvet, amelyek közül az egyik tett feltételek szerint az anyag.
Az utolsó kód például van egy ág működését a igazság és a hazugság az ágak 2 - Ebben a helyzetben lehet a blokkon ábrázolt diagram így (néhány előzetes intézkedéseket, ha):
![9 feltételes utasítás if (ha mást elágazás operátort) pascal (első nagyobb, mint a második) 9. Feltételes operátor, ha (ha mást ág operátort) pascal](https://images-on-off.com/images/150/9uslovniyoperatorifoperatorvetvleniyaife-7cc3c589.jpg)
Hiányos formájában feltételes IF utasítás
A hiányosan feltételes forgatókönyv csak az igazság. hamisságuk ága általában nem ismertetjük. például:
-- ág hamisság nincs itt semmi. azaz, ha $ a $ nem több mint $ 5 $, akkor nem történik intézkedés lesz.
A blokk diagram, amely hiányosan elágazás nyilatkozat a következőképpen néz ki:
![9. Feltételes operátor, ha (ha mást ág operátort) pascal (más) 9. Feltételes operátor, ha (ha mást ág operátort) pascal](https://images-on-off.com/images/150/9uslovniyoperatorifoperatorvetvleniyaife-dd370893.jpg)
-- általában használ zárójelben szereplő érvényes itt is: ha több mint egy ág művelet elején és végén van szükség.
oktatói
Példa №1 - hiányos formában IF
Hasonlítsa össze a két számot, amikor az első nagyobb, mint a második, majd jelenítse meg a „22”, majd egy külön hívás writeln (szám 555).
-- ebben a feladatban, mivel szükség van, hogy bizonyos intézkedéseket csak egy esetben ( „ha az első nagyobb, mint a második”), ezért használja a fióktelep szereplő hiányos formában:
-- ág igazság volt két művelet, ezért használta a zárójel.
Példa №2 - hosszú formája, egy műveletet mindegyik ágban
Hasonlítsa össze a két számot, amikor az első nagyobb, mint a második, majd jelenítse meg a „22”, de egyébként megjelenik az „abc” képernyőn.
-- ez a probléma két alternatíva van megadva, és lehet használni, mert az elágazást szereplő teljes formában:
-- Felhívjuk figyelmét, hogy mielőtt más pontosvessző nincs bekötve.
Példa №3 - logikai kifejezések és elágazás IF utasítás
Kohl szerzett $ k $ pontot, Misha $ n $ pontot, és a $ d $ Petya pontot a verseny alatt. Ha:
- pontszám Kolya és Misha több mint $ 20 $
- és az összeg a pontokat Petit és Misha kevesebb $ 55 $
--Ezután megjelenik egy üzenet a konzol, hogy dolgozzon, mert kiírja, hogy Kohl nyert.
Erre azért van szükség, mint a feltétele a végrehajtását két al-körülmények között, és nem egy közülük -, de két egyidejűleg, mert a logikai kifejezést, ha fogjuk használni a logikai művelet ÉS. akkor tudjuk eldönteni, valahogy így:
Példa №4 - beágyazott feltételes
Az üzemeltetők ágyazhatók egyik a másik belsejében, mint ahogy az a folyamatábrán (sőt, az üzemeltető ágyazott belső egyik ága a külső):
![9. Feltételes operátor, ha (ha mást ág operátort) pascal (más) 9. Feltételes operátor, ha (ha mást ág operátort) pascal](https://images-on-off.com/images/150/9uslovniyoperatorifoperatorvetvleniyaife-f3ee21e9.jpg)
Tekintsük meg a problémát, amelynek megoldása megfelel majd a folyamatábra:
Szerezd meg a felhasználó két egész, ha az első nagyobb, mint a második, majd jelenítse meg a summája, majd a köztük lévő különbség, egyébként:
- első összehasonlítására számának összege $ 25 $, ha nagyobb, akkor jelenítse meg az első számot, és ha kevesebb, akkor a második.
- majd jelenítse meg a második szám a téren
Mi végre a megoldás formájában a program:
Példa №5 - beágyazott feltételes
Például a probléma a korábbi példa:
Kohl szerzett $ k $ pontot, Misha $ n $ pontot, és a $ d $ Petya pontot a verseny alatt. Ha:
- pontszám Kolya és Misha több mint $ 20 $
- és az összeg a pontokat Petit és Misha kevesebb $ 55 $
--Ezután megjelenik egy üzenet a konzol, hogy dolgozzon, mert kiírja, hogy Kohl nyert.
Meg lehetne megoldható segítségével beágyazott feltételes IF utasítás blokk:
-- Felhívjuk figyelmét, hogy az eleje és a vége nem szükségesek az igazság a külső ág az üzemeltető, mert a beágyazott egyetlen ha - és egyéb vezetékek kapcsolódnak ehhez a belső if.
FONTOS: Ez a Prima nyilvánvaló párhuzamos kódot. hogy rossz stílusban. Sőt beágyazott blokkokat a kódot nehezebb megérteni, hogy miért:
Ha nem tudja használni fészkelő - ne használja azt. jobban használható a bonyolultabb feltételeket logikai műveleteket.
Példa №6 - életben a választási
Ez egy olyan helyzet, amelyben a hős itt is látható:
![9. Feltételes operátor, ha (ha mást ág operátort) pascal (elágazás) 9. Feltételes operátor, ha (ha mást ág operátort) pascal](https://images-on-off.com/images/150/9uslovniyoperatorifoperatorvetvleniyaife-f4b30279.jpg)
Meg lehet programozni az alábbiak szerint:
- Valójában ez is egy pár egymásba ágyazott egyik a másikban elágazási nyilatkozatok, ahol a felvétel itt két junior szinten történik az ág hamisság.
önálló munka
- Miért van szükség egy ág állítás (feltételes)?
- Mi ága a feltételes állítás, tudod?
- A teljes forma az if eltér a részmunkaidős?
- Ha szüksége van a zárójel az if ág, és mikor nem?
- Hasonlítsa össze a két számot, amikor az első nagyobb, mint a második, majd válassza ki a „12” képernyő. (Itt meg kell használni hiányos formában feltételes utasítást)
- Hasonlítsa össze a két számot, amikor az első nagyobb, mint a második, majd jelenítse meg a „12”, és ha nem, akkor lépjünk a „888” képernyőn.
- Mivel három egész szám: $ A $, $ B $, $ C $. Ellenőrizze az igazság a mondás: „A számos $ A $ között van a számok $ B $ és $ C $» - kimenet »igen«, ha igaz, és a »nem«, ha hamis.
Megjegyzés: Ez a következő feladat azon a tényen alapul, hogy már megoldódott (lásd a lecke végén célkitűzéseit.).
Megjegyzés: Itt kell beágyazott ha-blokkok.
- pontszám Kolya és Misha több mint $ 20 $
- vagy a munka pont Petya és Misha kevesebb $ 55 $
--Ezután megjelenik egy üzenet a konzol, hogy dolgozzon, mert kiírja, hogy Kohl nyert.