Cycle Operator with Postcondition

A fenti példában a hurokoperátort használják postconditionnal. A nyilatkozat szintaxisa:

ismétlés <операторы> amíg <условие>

Itt, ismételje meg a kulcsszavakat (ismételje meg a sangl és ismételje meg);

<операторы> Bármely Turbo-Pascal-üzemeltető (ezeket egy ciklus testének nevezik);

<условие> - a hurokból való kilépéshez használt összehasonlítás típusának logikai kifejeződése. A kezelő az alábbiak szerint működik: először a mondatok a hurok testében találhatók, akkor a feltétel értékelhető, és ha valódi értéket kap, a hurok kilép. Ha a kifejezés értéke hamis, akkor a hurok testének állításainak végrehajtása megismétlődik, majd újra ellenőrzik a feltételt. Így a hurok testkezelői legalább egyszer végrehajtásra kerülnek, majd minden a hurok kilépési állapotától függ. Nyilvánvaló, hogy a hurok testének egyik kezelője befolyásolnia kell a feltételes kifejezés értékét, különben a hurok határozatlan ideig megismétlődik.

A példában a 10-nél kisebb páratlan számok példáján bemutatjuk az algoritmust, amely a 10. ábrán látható, és a példában a program pr10.

Cycle Operator with Postcondition

A program eredményeképpen az 1-9-ig minden páratlan számot kinyomtatják az oszlopba.

Ciklus nyilatkozat előfeltétele

Ellentétben egy hurok-üzemeltetővel, utóbbi feltétel, egy előfeltételes hurok-üzemeltető értékeli és ellenőrzi a feltételt, mielőtt végrehajtja a hurok testét alkotó állításokat. Ellenkező esetben ezek a szereplők hasonlóak. A nyilatkozat szintaxisa:

míg <условие> csinál <оператор>;

Itt, míg a do-keyword (fordítsd sangl most és csináld);

<оператор> Bármely Turbo-Pascal-üzemeltető, beleértve egy összetett üzemeltetőt (ezt az üzemeltetőt cikluscínek nevezik);

<условие> - a hurokból való kilépéshez használt összehasonlítás típusának logikai kifejeződése.

A kezelő az alábbiak szerint működik: először az állapot értékelhető, és ha az igazi értéket megkapja, végre végrehajtja a hurok testét, majd újra ellenőrzi az állapotot. Ha a feltételes kifejezés értéke hamis, akkor lépjen ki a hurokból. Így ha az állapot a hurok első bejegyzésénél hamis, akkor a hurok testkezelői nem egyszer végrehajtottak. Nyilvánvaló, hogy a hurok testének egyik kezelője befolyásolnia kell a feltételes kifejezés értékét, különben a hurok határozatlan ideig megismétlődik. Például a következő programrész örökkévaló üzenetet nyomtat végtelen számú alkalommal, mivel nincs olyan konstrukció a hurokban, amely módosítja az i értékét:

Ahhoz, hogy a program egy működő töredéke legyen, hozzáadja a hurok testhez egy operátort, amely növeli az i értékét:

A hurok operátor használatát előfeltételként illusztráljuk a pr11 példához, a számok átlagos aritmetikai sorrendjének megállapításához (az algoritmus sémája a 11. ábrán látható). A számok sorrendjét a billentyűzetből írja be, és egy stopkóddal ér véget. Ebben az esetben a stopkód használata az, hogy bizonyos számértékeket szándékosan kizárnak a bemeneti sorozattól és stopkódként használják. Ha előre tudjuk, hogy -1 soha nem jelenik meg a sorozatban, akkor -1-et használhat a végén.

Cycle Operator with Postcondition

Kapcsolódó cikkek