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:

  1. Ellenőrizze logikai
  2. Branch igazság (szükséges) - nem kerül sor, ha a logikai érték igaz (true)
  3. 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:

  1. logikai literálok
  2. logikai változó
  3. é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 operátor, ha (ha mást ág operátort) pascal

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:

  1. Töltse ki az űrlapot - a forma az üzemeltető, ha ahol van két ág - és akkor, és máshol
  2. 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 operátor, ha (ha mást ág operátort) pascal

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

-- á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:

  1. pontszám Kolya és Misha több mint $ 20 $
  2. é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

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:

  1. 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.
  2. 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:

  1. pontszám Kolya és Misha több mint $ 20 $
  2. é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

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

  1. Miért van szükség egy ág állítás (feltételes)?
  2. Mi ága a feltételes állítás, tudod?
  3. A teljes forma az if eltér a részmunkaidős?
  4. Ha szüksége van a zárójel az if ág, és mikor nem?
  1. 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)
  2. 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.
  3. 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.).

  • Mivel három egész szám: $ A $, $ B $, $ C $. Ellenőrizze az igazság a mondás: „A számos $ A $ és $ B $ a szám több mint 17, és a $ C $> 7”. - kimenet „igen”, ha igaz, és a „nem”, ha hamis.
  • A felhasználó beírja a két szám, a maximális tőlük. (Minden egyszerű)
  • A felhasználó beírja a hármas szám, kap egy maximum.

    Megjegyzés: Itt kell beágyazott ha-blokkok.

  • A felhasználó beírja a négyes szám, kap egy maximum.
  • Kohl szerzett $ k $ pontot, Misha $ n $ pontot, és a $ d $ Petya pontot a verseny alatt. Ha:
    1. pontszám Kolya és Misha több mint $ 20 $
    2. vagy a munka pont Petya és Misha kevesebb $ 55 $

    --Ezután megjelenik egy üzenet a konzol, hogy dolgozzon, mert kiírja, hogy Kohl nyert.

    Források (mi mást ellenőrizni)

    Kulcs szavak az FKN + antitotal fórum (CS VSU):

    Kapcsolódó cikkek