Sākumlapa
"Pirmā web lapa"
HTML
CSS
Citi materiāli
Ceļošana - kalni
Lazarus (Delphi)
Ievads
Lazarus vide
Pirmā programma
Mainīgie
Globālie mainīgie
Teksta mainīgie
Veselie mainīgie
Decimālie mainīgie
Zarošanās (If)
Cikli - For
Cikls - While
Gadījuma skaitļi
Masīvi_1
Masīvi_2
Konsole
Darbs ar datnēm
Kārtošana (ievads)
Kārto (Burbulis)
Meklēšana (lineāri)
Vēl iesaku:
Ja pie zarošanās katra darbība varēja tikt veikta tikai vienu reizi (t.i., virzāmies pa kādu no zariem un izpildām paredzētās darbības tikai vienu reizi), tad cikla gadījumā darbības tiek veiktas atkārtoti tik reižu, kamēr beidzas cikla nosacījums.
for a:=1 to 3 do b:=a*2;
"For" gadījumā vienmēr ir zināms cikla atkārtošanās reižu skaits! Skaitu nosaka cikla mainīgajam (šajā piemērā "a") paredzētais intervāls ar tā sākuma ("1") un beigu vērtībām ("3"). Tātad piemērā redzamajā gadījumā cikls atkārtosies trīs reizes, cikla mainīgajam "a" pakāpeniski mainot savu vērtību no "1" līdz "3".
Jāņem vērā, ka cikla mainīgā vērtības vienmēr mainās par vienu vienību – "for to do" gadījumā augoši (no mazākā uz lielāko). Kā mainīgā vērtības var tik lietoti skaitļi un citas sakārtojamas vērtības, piemēram, burti alfabēta secībā.
Tātad mūsu piemēra koda izpildes secība būs sekojoša:
Piemērs:
Kāds būs Label1 uzraksts pēc sekojošā koda izpildes?
procedure TForm1.Button1Click(Sender: TObject);
var x:char;
begin
| for x:='A' to 'E' do | |
| Label1.caption:='Grupa - '+x; | |
| end; |
Uzraksts būs "Grupa – E", jo cikla mainīgais secīgi mainīs vērtības no "A" līdz "E" katru reizi pārrakstot lābelī redzamo uzrakstu (tas notiek tik ātri, ka mūsu acs tam nespēj izsekot) no "Grupa – A" līdz pat "Grupa – E", kas tad arī ir beidzamā "x" vērtība un pārrakstīta vairs netiks. Soli pa solim:
NB! Ja aiz rezervētā vārda do ir jāizpilda vairāk kā viena operācija, tad tās iekļaujamas lokālajā begin ... end.
Piemērs:
procedure TForm1.Button1Click(Sender: TObject);
var x:char; y: string; c: byte;
begin
| y:=''; | |
| c:=0; | |
| for x:='A' to 'E' do | |
| begin | |
| y:=y+x; | |
| c:=c+1; | |
| end; | |
| Label1.caption:=y+inttostr(c); | |
| end; |
Uzraksts būs "ABCDE5". Cikls soli pa solim jeb cikla "riņķi":
Vienīgā atšķirība no For...to...do ir, ka cikla mainīgā vērtības mainās dilstoši – no lielākā uz mazāko.
Piemērs:
procedure TForm1.Button1Click(Sender: TObject);
var x:char; y:string;
begin
| y:=''; | |
| for x:='E' downto 'A' do y:=y+x; | |
| Label1.caption:=y; | |
| end; |
Šoreiz tiks izvadīts "EDCBA".
Autortiesības © 2005-2011, kasis.lv. Visas tiesības aizsargātas.