Razumijevanje i korištenje petlje u Delphi programiranju

click fraud protection

Petlja je uobičajeni element u svim programskim jezicima. Delphi ima tri upravljačke strukture koji opetovano izvršavaju blokove koda: za, ponovite... dok i dok... čini.

Petlja FOR

Pretpostavimo da moramo ponoviti operaciju fiksno više puta.

// prikažite 1,2,3,4,5 okvira s porukama
var j: cijeli broj;
početi
za j: = 1 do 5 čini
početi
ShowMessage ('Okvir:' + IntToStr (j));
kraj;
kraj;

Vrijednost kontrolne varijable (j), koja je zapravo samo brojač, određuje koliko se puta radi naredba. Ključna riječ za postavljanje brojača. U prethodnom primjeru početna vrijednost brojača postavljena je na 1. Završna vrijednost postavljena je na 5.
Kad se naredba for počne prikazivati, varijabla brojača postavljena je na početnu vrijednost. Delphi nego provjerava je li vrijednost brojača manja od završne vrijednosti. Ako je vrijednost veća, ništa se ne poduzima (izvršenje programa skače na liniju koda odmah nakon bloka koda petlje). Ako je početna vrijednost manja od završne vrijednosti, izvršava se tijelo petlje (ovdje: prikazan je okvir s porukama). Konačno, Delphi dodaje 1 na šalter i ponovno započinje postupak.

instagram viewer

Ponekad je potrebno računati unatrag. do ključna riječ određuje da vrijednost brojača treba smanjiti za svaki put kad se petlja izvrši (nije moguće odrediti povećanje / smanjenje koji nije jedan). Primjer za petlju koja se broji unatrag.

var j: cijeli broj;
početi
za j: = 5 do 1 čini
početi
ShowMessage ('T minus' + IntToStr (j) + 'sekundi');
kraj;
ShowMessage ('Za redoslijed izvršen!');
kraj;

Napomena: važno je da nikad ne mijenjate vrijednost upravljačke varijable u sredini petlje. Ako to učinite, prouzročit će se pogreške.

Gnezdene za petlje

Pisanje petlje unutar druge za petlju (petlje za gniježđenje) vrlo je korisno kada želite ispuniti / prikazati podatke u tablici ili mreži.

var k, j: cijeli broj;
početi
// ova se dvostruka petlja izvršava 4x4 = 16 puta
za k: = 1 do 4 čini
za j: = 4 do 1 čini
ShowMessage ('Okvir:' + IntToStr (k) + ',' + IntToStr (j));
kraj;

Pravilo za gniježđenje za naredne petlje je jednostavno: unutarnja petlja (j brojač) mora biti dovršena prije nego što se nađe sljedeći izraz za vanjsku petlju (k brojač). Možemo imati trostruke ili četverostruke ugniježđene petlje, ili čak više.

Napomena: Općenito, početne i završne ključne riječi nisu strogo potrebne, kao što vidite. Ako se početak i kraj ne koriste, izjava odmah nakon izjave smatra se tijelom petlje.

Petlja FOR-IN

Ako imate Delphi 2005 ili neku noviju verziju, možete koristiti "novu" iteraciju u stilu kolekcije za elemente nad spremnicima. Sljedeći primjer pokazuje iteracija preko nizskih izraza: za svaki znak u nizu provjerite je li znak ili 'a' ili 'e' ili 'i'.

const
s = 'O programiranju Delphija';
var
c: char;
početi
za c u a čini
početi
ako c u [ 'A', 'e', ​​'i'] zatim
početi
// učini nešto
kraj;
kraj;
kraj;

Petlje WHILE i REPEAT

Ponekad nećemo znati koliko puta bi petlja trebala proći. Što ako želimo ponoviti operaciju dok ne postignemo određeni cilj?

Najvažnija razlika između petlje "dok ne radi" i petlje "ponavljaj dok ne radi" je u tome što je kod ponovite izjavu uvijek se izvršava barem jednom.

Opći obrazac kada u Delphiju pišemo ponavljanu (i dok) vrstu petlje je sljedeći:

ponoviti
početi
izjave;
kraj;
do uvjet = istina
dok uvjet = istina čini
početi
izjave;
kraj;

Slijedi kôd za prikaz 5 uzastopnih okvira s porukama pomoću ponavljanja:

var
j: cijeli broj;
početi
j: = 0;
ponoviti
početi
j: = j + 1;
ShowMessage ('Okvir:' + IntToStr (j));
kraj;
do j> 5;
kraj;

Kao što vidite, naredba ponavljanja procjenjuje stanje na kraju petlje (stoga se ponavljajuća petlja izvodi sigurno bar jednom).

S druge strane, izraz, pa ocjenjuje stanje na početku petlje. Budući da se test vrši na vrhu, obično ćemo morati biti sigurni da stanje ima smisla prije nego što se petlja obradi, ako to nije istina kompajler mogu odlučiti ukloniti petlju iz koda.

var j: cijeli broj;
početi
j: = 0;
dok j <5 čini
početi
j: = j + 1;
ShowMessage ('Okvir:' + IntToStr (j));
kraj;
kraj;

Odmorite se i nastavite

Postupci prekida i nastavka mogu se koristiti za kontrolu protoka ponavljajućih izjava: Prekid postupak uzrokuje da protok kontrole izlazi za, dok ili ponavlja izjavu i nastavlja se na sljedeći izjava slijedeći petlju izjava. Nastavak omogućuje tijeku kontrole za prelazak na sljedeću ponavljanje postupka koji se ponavlja.

instagram story viewer