Feltételes operátor „, ha - studopediya
Annak érdekében, hogy képes legyen felismerni a logikája feltételes állításnak a programban. Fogalmi, ezek a szolgáltatók is képviselteti mint csomópontok, elérve, amely a program teszi a választást, amelynek a lehetséges irányokat lépni. Például van szükség annak megállapítására, hogy a változó arg valami pozitív vagy negatív szám, és megjelenik egy megfelelő üzenet a képernyőn. Használhatja az üzemeltető, ha (ha), amely elvégzi az ilyen vizsgálatokat.
A legegyszerűbb esetben, a szintaxis az if a következő:
ha <выражение>
<операторы>
vég
Ha az érték a „kifejezés” paraméter értékének felel meg „igazi”, a parancs hajtódik végre, különben kimarad programot. Meg kell jegyezni, hogy a „kifejezés” egy feltételes kifejezést, amelyben a vizsgálatot végzik néhány feltételt. Táblázat. 2.1 lehetőségeket mutat egyszerű logikai kifejezések az if.
Táblázat 2.1. Egyszerű logikai kifejezések
Igaz, ha a változó értéke kisebb változó b és egyébként false.
Igaz, ha a változó nem nagyobb, mint a b és egyébként false.
Igaz, ha a változó nem egyenlő b, és egyébként false.
Igaz, ha az a változó értéke kisebb vagy egyenlő b, és egyébként false.
Igaz, ha az a változó értéke nagyobb vagy egyenlő b, és egyébként false.
Igaz, ha a változó nem egyenlő b, és egyébként false.
Az alábbiakban egy példa végrehajtása a funkció jele (), amely értéke 1, ha a szám nagyobb, mint nulla, -1 - ha a szám kisebb, mint nulla, és 0, ha a szám nulla:
funkció my_sign
X = 5;
ha x> 0
disp (1);
vég
ha x <0
disp (-1);
vég
ha x == 0
disp (0);
vég
Elemzés a fenti példa azt mutatja, hogy mind a három feltétel kölcsönösen kizárják egymást, azaz a amikor váltott egyikük nincs szükség, hogy ellenőrizze a többi. Megvalósítás olyan logikai növeli a sebességet a program végrehajtását. Ez úgy érhető el segítségével a tervezési
ha <выражение>
<операторы1> % Hajtódik végre, ha a feltétel igaz
más
<операторы2> % Hajtódik végre, ha a feltétel hamis
vég
Ezután, a fenti példa felírható a következőképpen:
funkció my_sign
X = 5;
ha x> 0
disp (1);
más
ha x <0
disp (-1);
más
disp (0);
vég
vég
Ebben a programban először ellenőrzi a pozitív változó x, u, és ha igen, akkor megjelenik az 1 értéket, és minden egyéb feltétel figyelmen kívül hagyja. Ha az első feltétel hamis, akkor a program működése során más (egyéb) a második feltétel, amely ellenőrzi az x változó a negatív, és ha az igazság feltételek, megjeleníti értéke -1. Ha mindkét feltétel hamisnak, majd a kimenetet 0.
A fenti példa is írt egy egyszerűbb formában, egy másik szerkezet operátor ha MatLab nyelv:
ha <выражение1>
<операторы1> % Végrehajtani, ha igaz kifejezés1
elseif <выражение2>
<операторы2> % Végrehajtani, ha igaz kifejezés2
.
elseif <выражениеN>
<операторыN> % Végrehajtani, ha igaz vyrazhenieN
vég
és meg van írva a következő:
funkció my_sign
X = 5;
ha x> 0
disp (1); % Teljesül, ha a tér x> 0
elseif x <0
disp (-1); % -ig elégedett, ha x <0
más
disp (0); % Végezzük, ha x = 0
vég
A feltételes if utasítás lehet végezni bonyolultabb (vegyület) körülmények között. Például, azt kell meghatározni, hogy az X változó tartományba esik 0-2? Lehetőség van megvalósítani egyidejű ellenőrzése két feltétel: x> = 0 és x <=2. Если эти оба условия истинны, то x попадает в диапазон от 0 до 2.
Logikai operátorok végrehajtására használják az alkatrész feltételek MatLab:
- logikai ÉS
| - logikai VAGY
Tekintsük a példa a használatára az összetett kifejezések. Tegyük fel, hogy ellenőrizni kívánja, hogy eljusson a változó x tartományban 0 2. A program van írva a következő:
funkció my_if
x = 1;
ha x> = 0 x <= 2
DISP ( 'x tartozik a 0-tól 2');
más
DISP ( „x nem tartozik a 0-tól 2”);
vég
A második példa teszt nem tagság változó olyan x 0 és 2 Ezt úgy érjük el, működtetése egyikének két feltétel: X <0 или x> 2:
funkció my_if
x = 1;
ha x <0 | x> 2
DISP ( „x nem tartozik a 0-tól 2”);
más
DISP ( 'x tartozik a 0-tól 2');
vég
Boole operátorokat AND, OR, NOT, akkor létrehozhat egy különböző összetett körülmények között. Például, azt lehet ellenőrizni, hogy az x változó tartományba esik a -5 és 5, de nem tartozik a 0-tól 1. Nyilvánvaló, hogy végre lehessen hajtani az alábbiak szerint:
funkció my_if
x = 1;
ha (x> = -5 x <= 5) & (x <0 | x> 1)
DISP ( 'x tartozik [-5, 5], de nem tartalmazza a [0, 1]');
más
DISP ( 'x, vagy nem tartalmazza a [-5, 5] vagy a [0, 1]');
vég
Felhívjuk figyelmét, hogy a komplex vegyület feltéve zárójelben használtunk. Az a tény, hogy az elsődleges működést és magasabb prioritás vagy művelet, és ha nem lenne zárójelben, akkor az az állapot már nézett ki: (x> = -5 és X <= 5 и x <0) или x> 1. Nyilvánvaló, hogy az ilyen ellenőrzés adna eltérő eredményt a vártnál.
Zárójelben a programozási megváltoztatására használható a kiemelt szereplők. Mint az aritmetikai operátorok, logika is módosítható a programozó kívánságait. Használata révén a zárójelben először ellenőrzi bennük, majd azon túl. Ezért a fenti példában, azok eléréséhez szükséges a kívánt eredményt.
Prioritás logikai műveletek az alábbiak szerint:
) - a legmagasabb prioritást;
És () - közepes fontosságú;
OR (|) - a legalacsonyabb prioritást.