Beágyazott számtani ciklus

Under aritmetikai ciklus nested algoritmikus megvalósítani egy ilyen szerkezet, amelyben a test egy ciklus, hogy egy másik ciklus paraméter tartalmazza annak paraméterrel.

Más szóval, egy összetett kifejezés:

Az I: =.
DO FOR J: =.
DO.
annak a jele, beágyazott számtani ciklust.
20. példa Számítsuk

A probléma megoldásához szükséges további változó, néha egy működő sejt R felhalmozódás a befizetett összeg kiszámítása S:

PROGRAM PR 20;
VAR
R, S: REAL;
K, P: integer;
BEGIN
S: = 0;
K: = 1-től 10-
DO BEGIN
R: = 0;
P: = 1 T0 15
DO R: = R + SQR (K - P);
S: = S + K * K * K * R
END;
WriteLn ( 'S =', S: 10: 8)
END.

A szintek száma fészkelő számtani ciklus lehet több, mint harminc. A következő példa egy algoritmikus szerkezetű, hat szintjét fészkelő aritmetikai ciklusok.

21. példa Egy beágyazott hurok, hogy hány S, amelyek változnak a számok 000.001-999.999 szerencsés jegyeket.
Az algoritmus a probléma megoldására egy decimális számláló elv, amelynek hat bit. A szerepet játszott bitek kódokat abban a sorrendben I, J, K, L, M, N. Boldog úgynevezett index, amely három maradt a kisülési összeg egyenlő az összeg a három jobb oldali bit, azaz a I + J + K = L + M + N .
PROGRAM PR21;
VAR
S: REAL;
I, N, J, K, L, M: integer;
BEGIN
S: = - l;
Az I: = 0-tól 9
DO FOR J: = 0-tól 9
Do K: = 0-tól 9
Tenni L: = 0-tól 9
DO FOR M: = 0-tól 9
DO FOR N: = 0-tól 9
DO
HA I + J + K = L + M + N
Akkor S: = S + 1;
WriteLn ( 'szám szerencsés jegyek =', S: 6: 0)
END.
Tekintettel arra, hogy a szám 000000 a tekercs nincs jegy, ezt a számot kell vonni a szám található. Ezt meg lehet tenni a különböző módon. A javasolt algoritmust végrehajtani S: = -1. Ez a döntés logikus. Amikor a kezdeti számláló állam: I = 0, J = 0, K = 0, L = 0, M = 0, n = 0, az állapot I + J + K = L + m + n értéke TRUE, és az S egyenlő nullával S = -1 + 1 = 0. tehát, az összes változót figyelembe kezdeti értéket a további számításokhoz. Akkor vegyél egy laptopot játékok ésszerű és megfizethető áron. Játék laptop lehet kapni olcsón a legjobb gyártók számítástechnikai berendezések.

A fő előnye az a lehetőség, egy beágyazott hurok (a fejlécben ciklusban, vagy a szervezetben), hogy használja a paramétereket a külső ciklus. Például, a fent ismertetett példa, a hurok az N paramétert használják, mint a jelenlegi értékek I, J, K, L, M külső hurkok képest ezt a ciklust. A paraméterek a belső hurok a külső hurok ne legyen hozzáférést. Broadcaster Pascal ilyen kezelés nem ellenőrzi, de az értékek a belső ciklus paraméterek nincsenek definiálva a külső ciklusban. Ez lehetővé tette ki a FOR ciklus. DO. minden szinten a beruházások bármely korábbi szintre, hogy teljes befejezése ciklust a GOTO utasítás, de ez nem ajánlott megtenni. Kilépve a ciklus (korai vagy normál) ciklus paraméter értéke nem definiált. Akkor közvetlenül a hurok, hogy kilépjen az alkalmazásból. Ebből a célból az üzemeltető HALT [(kód)], ahol a kód - egy opcionális paraméter integer típusú szó, amelyet a végrehajtható modul visszatérési kódot.

Kapcsolódó cikkek