Hurrengo adibideetan FOR egitura errepikakorra landuko dugu. Adibide guztiak oinarrizkoak direnez FOR aginduaren barruan ez da izango beste agindu errepikakorrik, horregatik FOR artikulu honek aurrekari bat du beste artikulu batean —4. astea | FOR adibideak (1)— non FOR aginduak soilak landu diren.
Hauxe da FOR-TO aginduaren ohiko moldea:
Eta hauxe da FOR-DONWTO aginduaren ohiko moldea:
Gogoratu FOR agindu erabili ahal izateko iterazioen kopurua ezaguna izango dela. Iruzkinak:
- Iterazioen kopurua kontrolatzeko Kontagailua izeneko aldagaia diskretua izango da (integer datu-mota familiakoa edo char datu-motakoa)
- Kontagailua izeneko aldagaiaren hasieraketa FOR aginduan bertan egiten da, Kontagailua aldagaiaren balioa automatikoki inkrementatatzen da TO kasuan (edo dekrementatatzen da DOWNTO kasuan). Kontagailua izeneko aldagaia FOR aginduaren barruan erabil daiteke, baina ezin zaio bere balioa aldatu
- Zbk aldagaiak balio ezagunen bat izango du (iterazioen kopurua definitzen duten behemuga eta goimuga aldez aurretik zehazturik daude)
- DO markaren ostean ez da banatzailerik (puntu eta komarik) jarri behar
- Edozein esleipenetan bezala, hemen ere OrainArtekoa aldagaia balio ezagunen bat izan behar du. Horregatik, lehen iterazioan kalkulu okerrik gerta ez dadin, FOR-TO agindura sartu aurretik OrainArtekoa aldagaiak dagokion hasieraketa behar du (adibide honetan hasieraketa honako hau izango litzateke OrainArtekoa:=1; biderkaketaren neutroa 1 delako)
- OrainArtekoa aldagaiari buruzkoa arestian esandakoak balio du ere Zbk aldagaiarako, hots, erabili baino lehenago balio ezagunen bat izan behar duela (Zbk aldagaiaren kasuan balio ezagun hori readLn prozeduraren bitartez eman zaio)
ForLaukiBiMarrazten.pas
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647{------------------------------------------------------
Zenbaki osoa eta positiboekin lan eginez, sarrerako
kopuruarean araberako lauki bat pantailaratuko da.
------------------------------------------------------}
program
LaukiBiPantailaratu ;
var
iZenbakia, i, j :
integer
;
begin
repeat
write
(
'0 eta 9 arteko zenbaki osoa eman: '
) ;
readln(iZenbakia) ;
if
(iZenbakia <
0
)
or
(iZenbakia >
9
)
then
begin
writeln
(
'Datua 0 eta 9 arteko zenbakia izan dadila'
) ;
writeln
;
end
;
until
(iZenbakia >=
0
)
and
(iZenbakia <=
9
) ;
writeln
;
writeln
(iZenbakia,
'x'
, iZenbakia,
' laukia:'
) ;
for
i:=
1
to
iZenbakia
do
begin
for
j:=
1
to
iZenbakia
do
begin
write
(iZenbakia:
2
) ;
end
;
writeln
;
end
;
writeln
;
writeln
(
2
*iZenbakia,
'x'
, iZenbakia,
' laukia:'
) ;
for
i:=
1
to
iZenbakia
do
begin
for
j:=
1
to
2
*iZenbakia
do
begin
write
(iZenbakia:
2
) ;
end
;
writeln
;
end
;
writeln
;
writeln
(
'RETURN tekla sakatu programatik irteteko'
) ;
readln ;
end
.
ForHirukiBatMarrazten.pas
123456789101112131415161718192021222324252627282930313233343536{-----------------------------------------------------------------
Zenbaki osoa eta positiboekin lan eginez, sarrerako kopuruarean
araberako triangelu laukizuzen bat pantailaratuko da.
-----------------------------------------------------------------}
program
HirukiBatPantailaratu ;
var
iZenbakia, i, j :
integer
;
begin
repeat
write
(
'0 eta 9 arteko zenbaki osoa eman: '
) ;
readln(iZenbakia) ;
if
(iZenbakia <
0
)
or
(iZenbakia >
9
)
then
begin
writeln
(
'Datua 0 eta 9 arteko zenbakia izan dadila'
) ;
writeln
;
end
;
until
(iZenbakia >=
0
)
and
(iZenbakia <=
9
) ;
writeln
;
writeln
(
'Triangelu angeluzuzena:'
) ;
for
i:=
1
to
iZenbakia
do
begin
for
j:=
1
to
i
do
begin
write
(iZenbakia:
2
) ;
end
;
writeln
;
end
;
writeln
;
writeln
(
'RETURN tekla sakatu programatik irteteko'
) ;
readln ;
end
.
PotentziakBatzen.pas
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455{---------------------------------------------------------------------
iMuga emanda >>> liBatukaria = 1^1 + 2^2 + 3^3 + ... + iMuga^iMuga
KONTUZ!!! longint datu-motarekin iMuga=10 denean gainezkatzea dago
----------------------------------------------------------------------}
program
PotentziakBatzen;
var
iMuga, iKontKanpo, iKontBarru:
integer
;
liBatugaia, liBatukaria:
longint
;
begin
writeln
;
writeln
(
'---------------------------------------------------------'
);
writeln
(
' liBatukaria = 1^1 + 2^2 + 3^3 + 4^4 + ... + iMuga^iMuga '
);
writeln
(
'---------------------------------------------------------'
);
writeln
;
repeat
write
(
'Muga adierazten duen zenbaki osoa eta positiboa eman: '
);
readln(iMuga);
if
iMuga <
0
then
writeln
(
'Muga kopuru positiboa izan behar da'
);
if
iMuga >
10
then
begin
writeln
(
' Mugaren kopuru maximoa 9 da. Muga 10 bada'
);
writeln
(
' longint datu-motako batukariaren emaitzak'
);
writeln
(
' MAXLONGINT='
, MAXLONGINT,
' balioa gainditzen du'
);
end
;
until
(iMuga >=
0
)
and
(iMuga <=
9
);
writeln
;
liBatukaria :=
0
;
for
iKontKanpo:=
1
to
iMuga
do
begin
liBatugaia :=
1
;
for
iKontBarru:=
1
to
iKontKanpo
do
begin
liBatugaia := liBatugaia*iKontKanpo;
writeln
(
'iKontKanpo='
:
20
, iKontKanpo,
'iKontBarru='
:
20
, iKontBarru,
'liBatugaia='
:
20
, liBatugaia);
end
;
liBatukaria := liBatukaria + liBatugaia;
writeln
(
'liBatugaia='
:
25
, liBatugaia,
'liBatukaria='
:
20
, liBatukaria) ;
writeln
;
end
;
writeln
;
writeln
(
'Azken batukaria = '
:
35
, liBatukaria);
writeln
;
writeln
;
writeln
(
'======================='
);
writeln
(
'RETURN sakatu amaitzeko'
);
writeln
(
'======================='
);
readln;
(* programa gelditu *)
end
.
liBatukaria = +12 +22 +33 +44 +55 +66 + ... ±iMugaiMuga
iruzkinik ez:
Argitaratu iruzkina
Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.