ciclu de aritmetică imbricate

În cadrul ciclului de aritmetică algoritmică imbricate realizeze o astfel de structură în care corpul unui ciclu de la un alt parametru ciclu inclus cu parametrul său.

Cu alte cuvinte, o declarație compus:

PENTRU I: =.
DO FOR J: =.
DO.
este un semn al ciclului de aritmetică imbricate.
Exemplul 20. Se calculează

Pentru a rezolva această problemă este necesar variabilă suplimentară, numit uneori R de celule de lucru pentru acumularea în suma depozitată calcul S:

PROGRAM PR20;
VAR
R, S: REAL;
K, P: INTEGER;
BEGIN
S: = 0;
PENTRU K: = 1 TO 10
DO BEGIN
R: = 0;
PENTRU P: = 1 T0 15
DO R: = R + SQR (K - P);
S: = S + K * K * K * R
END;
Writeln ( 'S =', S: 10: 8)
END.

Numărul de niveluri de cicluri aritmetice de cuibărit poate fi mai mult de treizeci. Exemplul următor utilizează o structură algoritmică având șase nivele de cicluri aritmetice cuiburi.

Exemplul 21. Folosind o buclă imbricată, se determină numărul de S, care variază în funcție de numerele 000001 la 999999 de bilete de noroc.
Algoritmul pentru a rezolva această problemă este un principiu contor zecimal având șase biți. Rolul jucat coduri biți în ordine I, J, K, L, M, N. fericit numit un index, care are trei stânga în sumă de descărcare sunt egale cu suma celor trei biți din dreapta, adică I + J + K = L + M + N .
PROGRAM PR21;
VAR
S: REAL;
I, N, J, K, L, M: INTEGER;
BEGIN
S: = - l;
PENTRU I: = 0 la 9
DO PENTRU J: = 0 până la 9
DO PENTRU K: = 0 până la 9
DO PENTRU L: = 0 până la 9
DO FOR M: = 0 la 9
DO FOR N: = 0 până la 9
DO
IF I + J + K = L + M + N
APOI S: = S + 1;
Writeln ( 'NUMBER bilete de noroc =', S: 6: 0)
END.
Datorită faptului că numărul 000000 în bobina nu există nici un bilet, acest număr trebuie să fie scăzute din numărul găsit. Acest lucru se poate face în diferite moduri. Algoritmul propus este implementat ca S: = -1. Această decizie este logic. Când contor starea inițială: I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, condiția I + J + K = L + M + N este setat la TRUE, iar S este egal cu zero S = -1 + 1 = 0. valoarea inițială Astfel, toate variabilele luate pentru calcule. Puteți cumpăra un laptop pentru jocuri la un preț rezonabil și la prețuri accesibile. Gaming laptop-uri puteți cumpăra simplu avantajos de cei mai buni producători de echipamente informatice.

Principalul avantaj este posibilitatea unei bucle imbricate în (în ciclul antet sau corp) pentru a utiliza parametrii ciclurilor externe. De exemplu, în exemplul descris mai sus, în bucla cu parametrul N utilizat ca valori curente bucle externe I, J, K, L, M în raport cu acest ciclu. Parametrii bucla interioară a buclei exterioare nu trebuie să fie accese. Radiodifuzorul cu Pascal un astfel de tratament nu verifică, dar valorile parametrilor ciclului intern nu sunt definite pentru cicluri externe. Aceasta a permis din bucla FOR. DO. orice nivel al investițiilor la orice nivel anterior la finalizarea completă a ciclului cu declarația GOTO, dar nu este recomandat să facă acest lucru. La ieșirea din ciclul (mai devreme sau normal) valoarea parametrului ciclu este nedefinit. Puteți direct de bucla pentru a ieși din aplicație. În acest scop, operatorul HALT [(cod)], în cazul în care codul - este un parametru opțional este un tip WORD întreg, care este codul de retur modul executabil.

articole similare