Repetare

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Notă despre dezambiguizare.svg Dezambiguizare - Dacă căutați figura vorbirii, consultați Anafora (figura vorbirii) .

Iterarea este actul de a repeta un proces cu scopul de a se apropia de un rezultat dorit. Fiecare repetare a procesului se numește în sine o iterație, iar rezultatele unuia sunt folosite ca punct de plecare pentru următoarea. Răspândită este utilizarea în algoritmi și programare în domeniul IT , dar și în domenii precum managementul de proiect .

Matematica

Informatică

Teorema lui Jacopini-Bohm

În programarea computerului , iterația , numită și ciclu sau cu termenul englezesc buclă , este o structură de control , în cadrul unui algoritm de rezolvare a unei probleme date, care ordonă computerului să execute în mod repetat o secvență de instrucțiuni , de obicei până la apariția anumitor condiții logice specificate.

Împreună cu secvența sau blocul și selecția este una dintre cele trei structuri fundamentale pentru soluția algoritmică a unei probleme date conform teoremei Böhm-Jacopini . Există diferite forme de iterație; cele mai cunoscute sunt WHILE (engleză: while..do), REPEAT (engleză: REPEAT..UNTIL sau do.. while) și PER (denumită în mod obișnuit bucla for ). Se poate spune că iterația este legătura puternică a programării care vă permite să automatizați prin finalizarea unui proces, pentru care simpla execuție în ordine de instrucțiuni nu este suficientă.

Așa-numita „buclă infinită”, sau „ buclă infinită ”, este un caz de iterație, de obicei datorită unei erori de programare care blochează execuția programului , în timp ce în unele tehnici de programare, în special cu microcontrolere, este utilizat în mod deliberat mod pentru a itera infinit în cadrul programului.

Sintaxă

 CÂND (stare)
    bloc de instrucțiuni
SFÂRȘIT ÎN TIMP

Iterația WHILE verifică starea și apoi, dacă condiția o permite, execută blocul de instrucțiuni pe care le conține, care nu poate fi executat nici măcar o dată (acest lucru se întâmplă dacă condiția este deja falsă la prima verificare).

Exemplu în C :

 while ( condiție ) {
    ...;
    ...;
    }
 REPETA
    bloc de instrucțiuni
PÂNĂ la starea

Iterația REPEAT se încheie atunci când condiția este falsă și, deoarece condiția este verificată după executarea blocului de instrucțiuni, execută întotdeauna bucla cel puțin o dată.

Exemplu în C :

 face {
    ...;
    ...;
    }
while ( stare );
 PENTRU N ori
    bloc de instrucțiuni
END-FOR

Iterația PER este comparabilă cu WHILE, dar conține o condiție implicită care derivă din faptul că în acest tip de buclă de câte ori va trebui executat blocul de instrucțiuni este cunoscut de la început; foarte multe limbaje de programare îl obligă pe programator să folosească o variabilă de contor, a cărei sarcină este să numere numărul de iterații efectuate, care conține un număr (de obicei întreg) la fiecare ciclu, iar condiția este de obicei ca o anumită variabilă să fie minoră, major sau egal cu variabila contor. Își asumă toate valorile intermediare pe măsură ce ciclurile continuă, începând de la o valoare inițială până la valoarea finală (ambele declarate explicit de programator).

Forma de mai sus devine apoi:

 FOR variabilă = start Pentru a termina STEP = pas
    bloc de instrucțiuni
END-FOR

Exemple

Pentru a scrie cuvântul Bună ziua de 10 ori

 PENTRU variabilă = 1 până la 10 PAS = 1
    SCRIE „Bună ziua”
END-FOR

Exemplu în C :

 pentru ( v = 1 ; v <= 10 ; v ++ ) {
    printf ( "Bună ziua" );
    }

Masă de 2 ori

 PENTRU variabilă = 2 până la 20 PAS = 2
    Variabilă WRITE
END-FOR

Exemplu în C :

 pentru ( v = 2 ; v <= 20 ; v + = 2 ) {
    printf ( "% d \ n " , v );
    }

Structuri ciclice

La crearea de programe de calculator , este adesea necesar să se repete același grup de instrucțiuni de mai multe ori; instrucțiunile de control care permit controlul repetării se numesc structuri ciclice sau repetitive . Prin urmare, structurile ciclice vă permit să repetați o secvență de operații, care se termină atunci când apare o anumită condiție.

Realizarea algoritmilor repetitivi

Pentru a implementa un algoritm ciclic , este necesar să se determine:

  • inițializările care trebuie efectuate înainte de ciclu;
  • operațiile care trebuie repetate în cadrul ciclului;
  • starea de terminare a ciclului;
  • instrucțiunile care trebuie efectuate la sfârșitul ciclului.

Ciclul se poate încheia:

  • când au fost efectuate un anumit număr de repetări cunoscute;
  • când utilizatorul o solicită în mod explicit;
  • când se introduce o anumită valoare;
  • mai general atunci când apare o anumită afecțiune dependentă de problemă.

O alegere mai tehnică se referă la utilizarea:

  • repetarea cu controlul stării la cap, adică la începutul ciclului (precondiționat);
  • repetarea cu controlul stării în coadă, adică la sfârșitul ciclului (postcondițional).

Diferența se referă în esență la faptul de a evalua starea de terminare înainte de a rula ciclul sau după al rula cel puțin o dată. O altă diferență mai marginală este dacă trebuie să ieșiți din buclă atunci când condiția este adevărată sau când condiția este falsă.

Bibliografie

  • F. Scorzoni - Giuseppe Costa, Informatică: Programare în C ++ , Loescher

Elemente conexe

Alte proiecte

linkuri externe