hurok

Az üzemeltető határozza meg a ciklus ismételt végrehajtását az egyes műveleteket. Három különböző szerkezeti üzemeltető végrehajtására szolgál ciklusok Pascal: míg REPEAT, FOR. Az első két akkor használják, ha az ismétlések számát (ismétlések) nem előre meghatározott, de tudjuk, hogy a feltétele A ciklus befejeződése. FOR akkor alkalmazzák, ha az ismétlések számát a hurok test előre ismert.

Ez a megállapítás a legerősebb a három közül, felismerve ciklusban. Két más piaci szereplők is kifejezhető vele (lásd. Ábra. 23).

Logikai kifejezés után míg az úgynevezett feltétel újrakezdődött a ciklust, és kell egy logikai típusú. Nyilatkozat követő DO, a hurok teste. Megismételte, amíg a feltétel igaz megújítási ciklust. Amennyiben állapota újrakezdődött a ciklus hamissá válik, a vezérlés a kezelő mögött állva MELLETT. Ha újrakezdődött a feltétel nem teljesül, mielőtt a hurok, a ciklus törzsének kimarad.

Ábra. 23. A szintaxisdiagramban utasítás while hurok

A fenti leírásból kitűnik, hogy a while végrehajtja az alapvető szerkezetét „osztatlan”, hiszen az, hogy ellenőrizze a feltételeket, a ciklus törzse. Ezért az üzemeltető az úgynevezett kezelő számára, miközben hurok előfeltétele. Ábra. 24. tömbvázlata az üzemeltető.

hurok

hurok

Ábra. 24. blokksémája a kezelő számára, miközben

Példa Példa. Tekintettel a számos A, B (A> 1). Kap minden hatáskörét A, minél kisebb a szám B.

readln (A, B); C: = A;

míg a C

Megjegyzés. Megfelelő használatát a while megkívánja, hogy a rendesen írni kondicionálja újrakezdődött a ciklus. Itt meg kell szem előtt tartani a következő ajánlásokat:

1. Amint azt a logikai szempontból szükségszerűen megjelenik változókat, amelyek megváltoztatják értéküket a hurok.

2. A végtelen hurkok kiküszöbölése jobb írni a hurok megszűnési feltétel, majd megteszi a nyilatkozat annak tagadásával.

3. Változó logikai kifejezés kapjon a kezdeti értékre, mielőtt a while.

REPEAT üzemeltető üzemben tartó ciklus utófeltétel, hiszen itt egy expressziós kontroll szekvenciát újrapróbálkozna szereplők után elhelyezett hurok test (lásd. Ábra. 25).

hurok

Ábra. 25. A szintaxisdiagramban nyilatkozat REPEAT hurok

A szintaktikai ábrán látható, hogy ez az állítás nem feltétlenül használja a zárójel a ciklus testet. Vannak kulcsszavak REPEAT, és amíg maguk szerepét ezeket a konzolokat.

A nyilatkozat a test fut, amíg a feltétel hamis, állás után IG. Az a feltétel, hogy kilépjen a hurok egy igazi kifejezést. Látjuk, hogy ez egyfajta „ciklus-up”. Ez a kijelentés ábrán bemutatott. 26.

Megjegyzés. Három fő különbség a szolgáltatók közötti ideig, és REPEAT:

1. végén elvégzett helyett az elején a ciklus, mint a while, így az állítás REPEAT hurok test legalább egyszer végrehajtódik a nyilatkozatban REPEAT ellenőrizze a hurok kilépés feltételeit.

2. REPEAT kiutat a ciklus végrehajtásának feltételeit az igazság, és bár - a hazugság.

3. Az utasítás while hurok leggyakrabban formájában egy összetett utasítás, az a kijelentés, hogy REPEAT ciklus operátor test szervezet konzolok nincs szükség.

A célja a szervezet ciklusok, amikor tudjuk, hogy mennyi idő kell ismételni a ciklus törzse. Itt, a menedzsment az ismétlések számát végre speciális változó - a paramétert (kontroll változó), amely hozzá van rendelve egy nő (csökkenő) szekvenciáját értékeket. A ábrán látható. 27.

hurok

Ábra. 27. A szintaxisdiagramban a ciklus operátor FOR

Itt, a „változó” egy ciklus paraméter, „expressziós 1” - a kezdeti értéke a paraméter „kifejezést 2” - a végső értéket. Mivel a kontroll változó legyen változó deklarált lokális blokk, mely aktív üzemeltetőjéhez. A kontroll változó kell ordinális típusú. A kezdeti és a végső értékek a típus, amely összeegyeztethető a típus a paraméter a ciklus.

Amikor a működtető elkezdi végrehajtani FOR, kezdeti és végső értékeket határoz egyszer, és ezeket az értékeket tárolják az egész végrehajtás a nyilatkozatot.

Az üzemeltető, amely belül van a hurok egyszer lefut minden egyes értékére a manipulált változó közötti tartományban a kezdeti és a végső értékeket. A kontroll változó mindig inicializálni a kiindulási értékre. Tart valamennyi értékével a tartomány közötti, 1, ha a TO és lépéseket -1, ha DOWNTO.

Abban az esetben, TO, ha a kezdeti érték meghaladja a véges ciklust nem hajtja végre.

Az eset DOWNTO az eset, amikor a kiindulási érték kisebb, mint a végső. Ebből arra következtethetünk, hogy az üzemeltető valósít FOR hurkot míg «, míg a” ciklus áramkör - feltételeinek ellenőrzése az ismétlési ciklus megy a ciklus törzse.

1. Ha a hurok teste ebben a nyilatkozatban áll, több mint egy üzemeltető, ezek zárójelben szereplő (az üzemeltető végre egy összetett szerkezet).

2. Ezzel szemben a algoritmikus nyelviskola, FOR nem lehet megállítani, ha kijelöli a szabályozott jellemző a végleges értékét. A változó ciklus nem befolyásolja az ismétlések számát a ciklus testet.

3. Miután a kezelő manipulált változó nem definiált, kivéve, ha a végrehajtás a FOR utasítással nem szakította meg átmeneti üzemben.

Tekintsük FOR használati példák a szervezet ciklikus folyamatokat.

Példa 1. példa nyomtatás keret szám az elején.

var SEC: integer;

writeln ( „kezdete előtt a bal oldalon.”);

SEC: = 10 downto 1 do

writeln ( 'nulla'); writeln ( 'Start'.)

Ebben a példában, a manipulált változó SEC értéket vesz INTEGER típusú, de Pascal úgy definiáljuk, mint ordinális változó típusú, és ezért elfogadja a típusú érték CHAR vagy tartoznak felsorolás típusú, mint a 2. példa mutatja.

Példa 2. példa megszámoljuk a üzemóra a hét.

típusú nap = (MO, TU, WE, TH, FR, SA, SU);

var DEN: nap; WT: integer;

Den: = MO SA csinálni

ha DEN <> SA majd WT: = WT + 8

mást WT: = WT + 7; writeln (WT);

1. Mi a szerkezeti üzemeltetője?

2. Mi a célja az összetett operátor?

3. Melyik állítás használatos ágazati szervezetek (válogatás)?

4. Mi használjuk az IF utasítás kiválasztásának egyik a két lehetőség?

5. Mi használjuk a CASE beszámoló kiválasztja az egyik a sok lehetőség?

6. Milyen az beágyazódását az IF utasítás a többi?

7. Mi a különbség (funkcionális szempontból), teljes és nem teljes változata a CASE nyilatkozat?

8. Milyen típusú ciklus (ciklus ciklus vagy nagy hatótávolságú) szereplők implementált és REPEAT?

9. Mi használják nyilatkozatok MÍG és REPEAT, hogy ellenőrizze a végén a munka ciklusban?

10. Mi a szerepe a manipulált változó a beszámoló?

11. Milyen fajta kontroll változó használható a beszámoló?

12. Mi a különbség az üzemeltetők számára, ugyanakkor, ismétlés, a tekintetben, az ismétlések számát a hurok testet?

13. Melyik szereplők Pascal hurok test nem lehet végrehajtani, még egyszer?

Kapcsolódó cikkek