Delphi - bucle, delphi, delphi componente, surse delphi

Aceasta este logica calculării factorială. Să o transferăm în limbajul de programare Delphi. Ciclul din Delphi este proiectat după cum urmează:

După cuvântul pentru, trebuie să atribuiți o valoare inițială unei anumite variabile. Această variabilă va fi utilizată ca numărător de execuție a buclă.







Delphi - bucle, delphi, delphi componente, surse delphi

După fiecare acțiune, acest numărător va crește cu câte unul până când variabila depășește valoarea finală. Ca și contra, sunt obișnuit să folosesc o variabilă numită index sau i, dar unii experți cred că contoarele trebuie să dea nume mai distincte. În opinia mea, nu se poate imagina întotdeauna un nume mai distinct. În general, bucla arată astfel:

În acest exemplu, două variabile index și sum sunt declarate ca "întreg". Mai întâi, suma variabilă este atribuită valorii 0. După aceasta, se pornește o buclă în care indicele variabilei se va schimba de la 0 la 5. Acum, să ne uităm la etapa din ceea ce se întâmplă aici.

  1. În prima etapă, indicele variabilei este 0. Suma este, de asemenea, zero, deci suma operației: = o + o este finalizată. Suma rezultat = о;
  2. În a doua etapă, indicele este mărit cu 1, astfel încât suma acțiunii: = о + 1 va fi executată. Rezultatul este suma = 1.
  3. Aici, indicele este mărit cu 1 și este egal cu 2 și suma = 1. Astfel, acțiunea Sum: = 1 + 2 va fi executată. Rezultatul Sum = 3.
  4. Aici, indicele este mărit cu 1 și este egal cu 3, și suma = 3. Deci, suma: = 3 + 3 acțiunea este executată. Suma rezultatului = b.
  5. Aici, indicele este mărit cu 1 și este egal cu 4 și suma = 6. Deci, se execută acțiunea Sum: = 4 + 6. Rezultatul Sum = 10.
  6. Aici indexul este mărit cu 1 și este egal cu 5 și suma = 10. Deci, acțiunea Sum: = 5 + 10 va fi executată. Rezultatul este suma = 15.






Rețineți că nu creștem valoarea variabilei index utilizând anumite comenzi. Valoarea este incrementată automat, deoarece această variabilă este declarată ca numărător în buclă for.

Să mutăm codul de program de mai sus direct în program, astfel încât să putem verifica acest lucru cu un exemplu din lumea reală. Creați o nouă aplicație. Forma on-formă pe formularul două componente TLabel, două componente TEdit și un buton.

Componenta Edit1 a fost redenumită la EndEdit, iar Edit2 a fost redenumită în ResuitEdit. Acum, făcând clic pe butonul (gestionarea evenimentului # 111; nclick pentru butonul care este generat atunci când utilizatorul a apăsat butonul) vom scrie codul reprezentat în listă:

În principiu, textul este același. Singura diferență este că bucla începe de la 0 la numărul introdus în componenta EndEdit. EndEdit conține text și trebuie să îl transformăm într-un număr, deci folosim funcția strToint pentru a converti un șir la un număr. Această funcție funcționează la fel ca intTostr, care inversează conversia numărului într-un șir.

Rezultatul conversiei este stocat în variabila EndCount:

După aceasta, se pornește o buclă în care variabila index va fi schimbată de la 0 la valoarea EndCount (în care este localizat NUMERUL introdus în EndEdit).

Rulați programul și introduceți numărul 5 în câmpul Valoare final, după care faceți clic pe buton, iar numărul de 15 ar trebui să apară în linia de rezultate.

De asemenea, este necesar să rețineți că, după buclă, va fi executată doar o singură acțiune. De exemplu, dacă doriți să efectuați două acțiuni la rând, trebuie să le includeți în paranteze de început și sfârșit, după cum se arată în exemplul următor.

Aici, la fiecare pas al ciclului, suma crește cu încă o dată. Dacă încercați să scrieți astfel:

atunci numai suma: = suma + index va fi executată în bucla. A doua linie Sum: = suma + i va fi executată numai după sfârșitul ciclului.

TIP. Dacă nu înțelegeți ceva în exemplul anterior, reveniți la capitolul care descrie schemele. A fost un exemplu care funcționează ca o buclă. a. do. Încercați același mod de a desena o schemă de evoluție pentru acest exemplu și treceți mental în pași.

Ajutați proiectul! Spuneți prietenilor dvs. despre acest site:







Articole similare

Trimiteți-le prietenilor: