Elágazás algoritmusok - studopediya

Eddig már használt lineáris algoritmus, azaz a algoritmusok, amelyben minden szakaszában feladatok megoldásában végzik szigorúan egymás után. Ma fog találkozni elágazást algoritmusok.

Definíció. Az elágaztatást nevezett egy algoritmus, ahol a kiválasztott egy a számos lehetséges kiviteli alakjai a számítási folyamatot. Minden ilyen út egy ága az algoritmus.

Bejelentkezés elágazási algoritmus jelenlétében feltételek ellenőrzési feladatokat. Kétféle feltételek - egyszerű és összetett.

Egyszerű feltételek (attitűd) kifejeződése, amely két aritmetikai kifejezések vagy két szöveges érték (egyébként nevezik őket operandusok) kapcsolódó egyik jele:

<= - меньше, чем. или равно

> = - nagyobb, mint. vagy egyenlő

Például az egyszerű összefüggések a következők:

x-y> 10; k<=sqr(c)+abs(a+b); 9<>11; „Anya”<>„Apa”.

Ezekben a példákban az első két kapcsolatok magukban változókat, ezért a helyességét e kapcsolatok lehet megítélni csak helyettesítésével bizonyos értékek:

ha x = 25, y = 3, akkor az arány x-y> 10 igaz lesz. mert 25-3> 10

ha x = 5, y = 30, akkor az arány x-y> 10 hibás lesz, hiszen 5-30<10

Ellenőrizze a hűség, a második kapcsolat helyettesítve a következő:

b) K = 65, a = 10, b = -3, c = 2

Definíció. Expression, helyettesítésével, amelyben egyes változók, azt mondhatjuk róla igaz (true) vagy hamis (helytelenül) nevű logikai (logikai) kifejezéseket.

Megjegyzés. A név „logikai” származik a neve matematikus George Boole kidolgozott a XIX században, Boole algebra és a logika.

Definíció. A változó, amely az egyik szerint két érték: True (igaz) vagy False A (hamis) nevezzük logikai (logikai) változó. Például,

Feladat. Számítsuk ki a értéke a modul és a négyzetgyöke az expressziós (x, y).

A probléma megoldására már ismert szabványos funkciók a megállapítás a négyzetgyök - térnél és a modul - Abs. Ezért, ha már írni a következő hozzárendelés nyilatkozatai:

Ebben az esetben a program fog kinézni:

Koren, Modul. igazi;

write ( „Add meg a változók értékeit az x és y, szóközzel elválasztva”);

levelet ( „értéke a négyzetgyöke (x-y) egyenlő”);

levelet ( 'modulus értékét (x-y) egyenlő');

Úgy tűnik, hogy a probléma megoldódott. De nem veszi figyelembe a tűrési tartomány megtalálásához négyzetgyöke a modult. Természetesen a matematika, amit tudnod kell, hogy megtalálja bármennyi a modul, de az értéke a négyzetgyöke a kifejezést kell lennie, nem negatív (nagyobb vagy egyenlő nullával).

Ezért a program a megengedett adattartalommal. Találunk ezen a területen. Erre írunk egyenlőtlenség x, y> = 0 és megoldására megkapjuk x> = y. Tehát, ha a felhasználó a programunk olyan számok, hogy a helyettesítési érték ezen egyenlőtlenség egyenlő True, akkor a négyzetgyöke kifejezés (x, y) kerül bevezetésre, hogy távolítsa el a dobozt. És ha a egyenlőtlenség értéke False, a végrehajtás a program végén rendellenesen.

Feladat. Írja be a szöveget a program. Vizsgáljuk meg a programot az alábbi változók értékeit, és következtetéseket levonni.

a) X = 23, y = 5; b) X = -5, y = 15; c) X = 8, y = 8.

Minden program, amennyire lehetséges, figyelemmel kell kísérnie a jogszerűségét is érintett mennyiség a számítások során. Itt állunk szemben egy ága Algoritmusunk a körülményektől függően. Hajtsák végre az ilyen feltételes elágazások Pascal használat szereplők if és az else, és az üzemeltető független transzfert Goto.

Tekintsük az üzemeltető Ha.

Mert mi a probléma, meg kell vypolit a következő algoritmus:

majd kiszámítja a négyzetgyök,

egyébként egy üzenetet jelenít meg a gyakori hibákat.

Írunk azt az if. Úgy fog kinézni.

write ( 'érvénytelen bevezetett változók');

Most, attól függően, hogy a bemeneti változók értékét az x és y a feltételeket, vagy nem tartja.

Általában a teljes formájában feltételes szerkezete a következő:

ha <логическое выражение>

A feltételes operátor dolgozik a következő algoritmust.

Első logikai kifejezésnek értékelte érték mögött található Office Word IF. Ha az eredmény igaz. teljesített <оператор 1>, után helyezkedik THEN és akciók után ELSE kimarad; ha az eredmény hamis, éppen ellenkezőleg, az intézkedések után a THEN kimarad, majd mást végrehajtott <оператор 2>.

Az irányítási struktúra is megjelenhet, ha rugalmatlan, mivel az intézkedés lehet leírni egyetlen üzemben. Néha szükség lehet végezni sorozata nyilatkozatok. Ebben az esetben szeretnék kötni az egész sorozat a képzeletbeli zárójelben. Pascal előírt ebben az esetben.

Ha az üzemeltető, hogy végre egy sor állítást, azok üzemeltetője zárójelben kezdődik végén. Tervezd hozzákezdene. Vége nevezett vegyületet nyilatkozatot.

ha <логическое выражение>