managementul ciclului în delphi

managementul ciclului în Delphi. Operatorii Continuă și Break.

Ati cautat pentru controlul ciclului în Delphi. Operatorii Continuă și Break. și mai ales pentru tine, am pregătit această lecție Delphi. Fiecare lecție încercăm să furnizeze codul sursă Delphi, astfel încât la sfârșitul managementul ciclului de hârtie în Delphi. Operatorii Continuă și Break. Puteți vedea un exemplu de Delphi, și codul Delphi, care va examina controlul ciclului în Delphi. Operatorii Continuă și Break. mai detaliat.
Aflați de programare on-line pe site-ul www.DelphiSchool.3dn.ru și maestru elementele de bază ale programării. Educație Programare DelphiSchool această programare pentru începători și programatori cu experiență.

managementul ciclului în delphi

Ciclu de lucru poate fi controlat. În Delphi, există două operatorul de control - pauză și continuă. În această lecție vom învăța cum să lucreze cu acești operatori și câteva exemple de Delphi se poate scrie un program folosind pauză și să continue să gestioneze ciclurile. Pentru început, vom începe considerația noastră și studiul ciclurilor de control în Delphi pentru a continua operatorului.
Să presupunem că trebuie să împărțiți numărul 10 la număr variind de la -3 până la 3, și afișarea rezultatului în TListBox. Pentru a rezolva această problemă apare ciclu care urmează să fie executat -3-3. Mai jos puteti vedea un exemplu de cod pentru acest ciclu, în care vom încerca să realizeze condiția predeterminată:

? 200 '200px': '' + (this.scrollHeight + 5) + 'px'); „> Procedura TForm1.Button1Click (Expeditor: TObject # 41 ;;
var
i, r: Integer;
începe
pentru i: = - 3 3 pentru a face
începe
r: = rotund (10 / i # 41 ;;
ListBox1.Items.Add ('10 / '+ IntToStr (i # 41; +' = „+ IntToStr (r # 41, # 41 ;;
se încheie;
se încheie;

În acest exemplu, ciclul începe în care variabila i va varia de la -3 până la 3. La fiecare pas 10 este împărțită la valoarea lui i și stochează rezultatul în r variabile.
Când împărțirea funcției rundă este utilizată. care sa rotunjește această valoare. Ca o valoare inițială, am rezultatul împărțirii 10 variabilei trece i, adică, rotunde (10 / i). Astfel, g variabilă este înregistrată rotunjit la rezultatul întreg de divizare.
Următorul pas este rezultatul plus față de ListBoxl, cu conversia simultană a z variabilă în șir.
Să vedem ce se întâmplă atunci când variabila i este egal cu 0. În acest caz, numărul 10 va fi împărțit în 0, ceea ce înseamnă că există o eroare, pentru că nu se poate împărți cu 0. Cum atunci să iasă din această situație? Puteți în fiecare etapă a ciclului pentru a verifica valoarea I, iar în cazul în care este 0, aceasta nu efectuează nici o acțiune. Două soluții posibile sunt prezentate în codul de mai jos:

? 200 '200px': '' + (this.scrollHeight + 5) + 'px'); „> Procedura TForm1.Button1Click (Expeditor: TObject # 41 ;;
var
i, r: Integer;
începe
pentru i: = - 3 3 pentru a face
// începe pentru a începe pentru declarația
dacă am<>0 atunci
// începe pentru a începe if
r: = rotund (10 / i # 41 ;;
ListBox1.Items.Add ('10 / '+ IntToStr (i # 41; +' = „+ IntToStr (r # 41, # 41 ;;
se încheie; // Acest capăt al instrucțiunii if
se încheie; // Acest capăt al pentru declarația
se încheie;

În acest exemplu, în fiecare etapă se verifică valoarea i, iar dacă nu este 0, numai în acest caz, calculele sunt efectuate.
Aceasta este o soluție foarte simplă pentru programe mici și simple. Dar dacă ciclul tău este mare și are o mulțime de acțiune, decizia va fi de cel puțin incomod și poate fi pierdut „lizibilitatea“ de cod. În cel mai rău caz, nu se poate obține nimic. Aici vine pentru a ajuta în continuare declarația.

? 200 '200px': '' + (this.scrollHeight + 5) + 'px'); „> Procedura TForm1.Button1Click (Expeditor: TObject # 41 ;;
var
i, r: Integer;
începe
pentru i: = - 3 3 pentru a face
// începe pentru a începe pentru declarația
dacă i = 0 atunci
// începe pentru a începe if
ListBox1.Items.Add ( 'nu se poate diviza de zero' # 41 ;;
Continuă;
se încheie; // Acest capăt al instrucțiunii if
r: = rotund (10 / i # 41 ;;
ListBox1.Items.Add ('10 / '+ IntToStr (i # 41; +' = „+ IntToStr (r # 41, # 41 ;;
se încheie; // Acest capăt al pentru declarația
se încheie;

În acest exemplu, vom verifica fiecare pas din valoarea variabilei i. În cazul în care este zero, mesajul în ListBoxl pe care nu le puteți împărți cu zero, și execută declarația continuă. Odată ce programul îndeplinește acest operator, se întrerupe imediat executarea ulterioară a buclei și a trece la pasul următor. Aceasta este aceeași ca executa „opri punerea în aplicare în continuare a programului, pentru a crește valoarea variabilei i și începe ciclul cu valoarea următoare.“
Odată ce programul se întâlnește în continuare operatorul, acesta sare la sfârșitul ciclului, în cazul în care este mărit valoarea contorului (în acest caz, variabila i) și executarea continuă de la pasul următor.
Figura de mai jos prezintă forma cu rezultatele exemplul nostru.

managementul ciclului în delphi

Figura. EXEMPLU bucla de control prin intermediul operatorului Continuare

Utilizarea continua cu bucla pentru destul de convenabil și în condiții de siguranță, spre deosebire de timp sau se repetă ... până la cicluri. Să ne uităm la următorul exemplu:

? 200 '200px': '' + (this.scrollHeight + 5) + 'px'); „> i: = - 3
în timp ce eu<3 do
începe dacă i = 0 atunci
continua;

r: = rotund (10 / i # 41 ;;
ListBoxl.Items.Add ('10 / '+ IntToStr (i # 41; +' = „+ IntToStr (r # 41, # 41 ;;
i: = i + l;
se încheie;

? 200 '200px': '' + (this.scrollHeight + 5) + 'px'); „> dacă i = 0 atunci
începe
i: = i + l;
continua;
se încheie;

În acest caz, înainte de etapa a întrerupe ciclul valoarea a variabilei i este incrementat cu unu, iar apoi pasul următor nu va fi zero.
Acum să se ocupe de o declarație pauză. Odată ce programul îndeplinește acest operator, ciclul este întrerupt și execuția este trecut la următoarea declarație după declarația de buclă. Să luăm exemplul anterior, și înlocuiți-l continue să rupă

? 200 '200px': '' + (this.scrollHeight + 5) + 'px'); „> Procedura TForm1.Button1Click (Expeditor: TObject # 41 ;;
var
i, r: Integer;
începe
pentru i: = - 3 3 pentru a face
// începe pentru a începe pentru declarația
dacă i = 0 atunci
// începe pentru a începe if
ListBox1.Items.Add ( 'nu se poate diviza de zero' # 41 ;;
pauză;
se încheie; // Acest capăt al instrucțiunii if
r: = rotund (10 / i # 41 ;;
ListBox1.Items.Add ('10 / '+ IntToStr (i # 41; +' = „+ IntToStr (r # 41, # 41 ;;
se încheie; // Acest capăt al pentru declarația
ListBox1.Items.Add ( 'calcul este de peste' # 41 ;;
se încheie;

În acest caz, în cazul în care valoarea i este egal cu zero, mesajul pe care nu le puteți împărți cu zero, iar ciclul este întrerupt. După aceea, se trece la următoarea instrucțiune următorul ciclu. Figura de mai jos arată rezultatul programului.

managementul ciclului în delphi

Figura. EXEMPLU bucla de control prin Break operatorului

După cum puteți vedea, după o întâlnire cu un zero în bucla atunci nu face nimic și pur și simplu rupe declarație finalizează lucrările.