Loopok logikai körülmények között

A program egy összetett állításból áll: a false = false to true-hez, amelyhez két kiegészítő utasítás és egy if utasítás egymás után van beágyazva. Az utóbbi része akkoriban egy egyszerű operátorból áll, amely három egyszerű operátorból áll, és a program zárójelei kezdődnek és végződnek.

Loopok logikai körülmények között

Az előző fejezetben bevezetett for loop utasítás azt biztosítja, hogy a hurok meghatározott számú alkalommal hajt végre, de gyakran a ciklikus műveleteket egy feltétel leállítja, vagyis addig végzik, amíg egy bizonyos eredményt el nem érnek. A Pascal-ban két ilyen hurok operátor van, amely különbözik attól, hogy egyikükben a ciklus kezdetén (míg .do), míg a másikban a ciklus végén (ismétlődik) nem ellenőrzik az állapotot.

A while loop operátor (miközben) így néz ki:

míg <логическое выражение> csinál <тело цикла>;

A While hurok biztosítja, hogy a hurok teste a do utasítás végrehajtása után a feltétel teljesüljön. Egy egyszerű vagy összetett operátor használható hurokként. Az állapotot a hurok testének minden végrehajtása előtt ellenőrizzük, tehát ha a feltétel hamis a hurok első végrehajtása előtt, az operátor nem kerül végrehajtásra egyszer (5.2. Ábra).

Egy példa. Szükséges a szög értékét fokban ± 180 ° -os standard tartományba átszámítani, kizárva a teljes 360 fokos forgatást. Ez az eljárás végrehajtható a hurok operátor használatával

Míg abszolút (szög)> 180 nem

ha Szög> 0, akkor Szög: = Szög - 360

Második Szög: = Szög + 360;

A hurok kezdetén található time statement azt ellenőrzi, hogy a szög 180 fokos abszolút értékben van-e. Ha ez nem igaz, a hurok testét nem hajtják végre. Ha a szög nagyobb, mint a megengedett érték, a ciklus elindul.

A hurok az if utasításból áll. Mondjuk, hogy a szög -700. Ezután az if utasításban az An-gle> 0 feltétel hamis, míg az if utasítás végrehajtásának másik része és a szög -340 lesz. Ismét a ciklus végrehajtási állapotát ellenőrizzük, és a ciklust másodszor is végre hajtjuk, majd a szöget 20. A ciklus végrehajtási állapotának harmadik tesztje véget ér, mert az Abs (20)> 180 végrehajtási állapota hamis.

A hurok utasítás ismételje meg. amíg. (ismétlődő), az űrlap ismétlődik <тело цикла> amíg -<логическое выражение>;

A .do operátor által végzett .until utasítás közötti fő különbség az, hogy a állapotfelmérés nem a parancsfuttatás elején történik, hanem a kérdés megválaszolásakor a művelet ismételt megismétlése. Ezért ennek a ciklusnak a testét mindig legalább egyszer végre kell hajtani (5.3. Ábra). Ez egy fontos különbség: az idő hurokra adott. ismételje meg az ismétlődő nyilatkozatot. amíg ez nem lehetséges további ellenőrzések és komplikációk nélkül.

A második eltérés a .do operátortól a hurok végének logikáján van. A repeat.until utasítás hurok végrehajtása addig folytatódik, amíg a következő logikai kifejezés nem igaz. Így a logikai kifejezés használata itt ellentétes jelentéssel bír az .do operandusnál. Itt, ha a logikai kifejezés (feltétel) igaz, a hurok véget ér, miközben a .do operátor, amikor a logikai kifejezés igaz, a hurok folytatódik.

Kapcsolódó cikkek