Structura ciclică Algoritmi

Un ciclu este o repetare a acelorași acțiuni (pași). O secvență de pași care se repetă într-un ciclu, numit corpul buclei. Există mai multe tipuri de algoritmi de structură ciclică. Fig. 2.1 prezintă ciclul cu condiția prealabilă, și Fig. 2.2 - ciclu cu postconditie, care se numește round robin condiționată. Este ușor de observat că aceste cicluri sunt interschimbabile și au unele diferențe.







· Într-un ciclu cu o condiție prealabilă este testată înaintea corpului buclei, într-un ciclu cu postconditie - după corpul buclei;

· In ciclul cu corpul buclei postconditie se execută cel puțin o dată, nici nu poate fi executată o dată ciclul cu o pre-corp a buclei;

· Într-un ciclu cu o condiție buclă continuarea pre-controlate într-un ciclu cu postconditie - condiție pentru ieșirea buclei.

Fig. 2.1. Algoritmul este o structură ciclică cu precondiție

Fig. 2.2. Algoritmul este o structură ciclică cu postconditie

Trebuie să ne amintim următoarele atunci când scrieți un contingent de algoritmi ciclice. În primul rând, faptul că ciclul a avut ocazia să se încheie vreodată, conținutul corpului său trebuie să afecteze în mod necesar starea buclei. În al doilea rând, furnizarea trebuie să conțină expresii corecte și valorile determinate înainte de prima executare a corpului buclei.







În plus, există așa-numitul algoritm ciclic necondiționat (fig. 2.3), care este utilă dacă știi cât de multe ori pentru a executa corpul buclei.

Fig. 2.3. Algoritmul structură ciclică necondiționat

Efectuarea de atribuire necondiționată round robin începe cu o valoare de pornire a variabilei i în. Aceasta este urmată de verificare, în cazul în care nu este mai mare decât variabila i este valoarea finală Ik. Dacă depășește, ciclul este complet și controlul este transferat la următorul ciclu al corpului operatorului. In caz contrar, corpul buclei, iar variabila i își modifică valoarea în conformitate cu numitul shagomdi. Apoi, din nou, verifică valoarea I și algoritmul se repetă. Este clar că robin rundă absolută poate înlocui orice simbol. De exemplu, așa cum se arată în Fig. 2.4.

Fig. 2.4. Algoritmul ciclic condițional cu un număr cunoscut de repetiții

Rețineți că i variabilă se numește parametrul ciclului. deoarece este o variabilă care variază într-un ciclu al unei anumite legi și afectează sfârșitul acestuia.

Exemplul 2.1. Găsiți cel mai mare divizor comun (GCD) a două numere întregi A și B.

Pentru a rezolva această problemă vom folosi algoritmul lui Euclid: vom reduce de fiecare dată când mai multe dintre numerele de suma mai mică, atâta timp cât ambele valori nu vor fi egale, așa cum este prezentat în Tabelul 2.1.

Tabelul 2.1. căutarea GCD pentru numerele A = 25 și B = 15.