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ő.
Á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).
Á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.
Á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?