Hurrengo adibideetan FOR egitura errepikakorra landuko dugu. Adibide guztiak oinarrizkoak direnez FOR aginduaren barruan ez da izango beste agindu errepikakorrik, horregatik FOR artikulu honek jarraipena izango du beste artikulu batean —4. astea | FOR adibideak (2)— non FOR agindu habiratuak landuko ditugun.
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)
ForBat1.pas
12345678910111213141516171819202122232425262728293031323334{-----------------------------------------------------------------------------
iMuga emanda lortu iBatukaria = 1 + 2 + 3 + ... + (iMuga-1) + iMuga
------------------------------------------------------------------------------}
program
Batukaria ;
var
k, iMuga, iBatugailu :
integer
;
begin
writeln
;
writeln
;
write
(
'iMuga zenbaki osoa eta positiboa eman: '
) ;
readln(iMuga) ;
iBatugailu :=
0
;
writeln
(
'Hasieran iBatugailu = '
, iBatugailu) ;
writeln
(
'----------------------------------------------'
) ;
for
k:=
1
to
iMuga
do
begin
iBatugailu := iBatugailu + k ;
writeln
(k,
'. iterazioan iBatugailu = '
, iBatugailu) ;
end
;
writeln
(
'----------------------------------------------'
) ;
writeln
(
' Irten ondoren k = '
, k) ;
writeln
(
'Azkenik iBatugailu = '
, iBatugailu) ;
writeln
;
writeln
(
'======================='
) ;
writeln
(
'RETURN sakatu amaitzeko'
) ;
writeln
(
'======================='
) ;
readln ;
end
.
{ PROGRAMAREN BUKAERA }
iBatukaria = 1 + 2 + 3 + ... + (iMuga-1) + iMuga
ForBat2.pas
12345678910111213141516171819202122232425262728293031{-----------------------------------------------------------
iMuga emanda lortu liBiderkaria = 1 * 2 * 3 * ... * iMuga
-----------------------------------------------------------}
program
Biderkaria ;
var
k, iMuga :
integer
;
liBatugailu :
LongInt
;
begin
writeln
(
'///////////////////////'
) ;
writeln
;
writeln
;
write
(
'iMuga zenbaki osoa eta positiboa eman: '
) ;
readln(iMuga) ;
liBatugailu :=
1
;
writeln
(
'Hasieran liBatugailu = '
, liBatugailu) ;
for
k:=
1
to
iMuga
do
begin
liBatugailu := liBatugailu * k ;
writeln
(k,
'. iterazioan liBatugailu = '
, liBatugailu) ;
end
;
writeln
(
'Azkenik liBatugailu = '
, liBatugailu) ;
writeln
;
writeln
(
'======================='
) ;
writeln
(
'RETURN sakatu amaitzeko'
) ;
writeln
(
'======================='
) ;
readln ;
end
.
{ PROGRAMAREN BUKAERA }
iBiderkaria = 1 * 2 * 3 * ... * (iMuga-1) * (iMuga)
ForBat3.pas
1234567891011121314151617181920212223242526{---------------------------------------------------------------------
iMuga emanda lortu iBatukaria = iMuga + (iMuga-1) + ... + 3 + 2 + 1
---------------------------------------------------------------------}
program
Batukaria ;
var
k, iMuga, iBatugailu :
integer
;
begin
write
(
'iMuga zenbaki osoa eta positiboa eman: '
) ;
readln(iMuga) ;
iBatugailu :=
0
;
for
k:=iMuga
downto
1
do
begin
iBatugailu := iBatugailu + k ;
writeln
(k,
'. iterazioan iBatugailu = '
, iBatugailu) ;
end
;
writeln
(
'Azkenik iBatugailu = '
, iBatugailu) ;
writeln
;
writeln
(
'======================='
) ;
writeln
(
'RETURN sakatu amaitzeko'
) ;
writeln
(
'======================='
) ;
readln ;
end
.
{ PROGRAMAREN BUKAERA }
iBatukaria = iMuga + (iMuga-1) + ... + 3 + 2 + 1
ForBat4.pas
1234567891011121314151617181920212223242526{----------------------------------------------------------
iMuga emanda lortu iBatukaria = -1 -2 -3 -4 - ... -iMuga
----------------------------------------------------------}
program
Batukaria ;
var
k, iMuga, iBatugailu :
integer
;
begin
write
(
'iMuga zenbaki osoa eta negatiboa eman: '
) ;
readln(iMuga) ;
iBatugailu :=
0
;
for
k:=-
1
downto
iMuga
do
begin
iBatugailu := iBatugailu + k ;
writeln
(k,
'. iterazioan iBatugailu = '
, iBatugailu) ;
end
;
writeln
(
'Azkenik iBatugailu = '
, iBatugailu) ;
writeln
;
writeln
(
'======================='
) ;
writeln
(
'RETURN sakatu amaitzeko'
) ;
writeln
(
'======================='
) ;
readln ;
end
.
{ PROGRAMAREN BUKAERA }
iBatukaria = -1 -2 -3 -4 - ... -iMuga
ForBat5.pas
12345678910111213141516171819202122232425262728{----------------------------------------------------------------------------
Mugak emanda lortu iBatukaria = iBeheMuga + (iBeheMuga+1) + ... + iGoiMuga
----------------------------------------------------------------------------}
program
Batukaria ;
var
k, iBeheMuga, iGoiMuga, iBatugailu :
integer
;
begin
write
(
'iBeheMuga zenbaki osoa eta positiboa eman: '
) ;
readln(iBeheMuga) ;
write
(
'iGoiMuga zenbaki osoa eta positiboa eman: '
) ;
readln(iGoiMuga) ;
iBatugailu :=
0
;
for
k:=iBeheMuga
to
iGoiMuga
do
begin
iBatugailu := iBatugailu + k ;
writeln
(k,
'. iterazioan iBatugailu = '
, iBatugailu) ;
end
;
writeln
(
'Azkenik iBatugailu = '
, iBatugailu) ;
writeln
;
writeln
(
'======================='
) ;
writeln
(
'RETURN sakatu amaitzeko'
) ;
writeln
(
'======================='
) ;
readln ;
end
.
{ PROGRAMAREN BUKAERA }
iBatukaria = iBeheMuga + (iBeheMuga+1) + ... + iGoiMuga
ForBat6.pas
123456789101112131415161718192021222324252627{---------------------------------------------------------------------
iMuga emanda lortu iBatukaria = 1 + 3 + 5 + ... + (iMuga-2) + iMuga
---------------------------------------------------------------------}
program
Batukaria ;
var
k, iMuga, iBatugailu :
integer
;
begin
write
(
'iMuga zenbaki osoa, bakoitia eta positiboa eman: '
) ;
readln(iMuga) ;
iBatugailu :=
0
;
for
k:=
1
to
iMuga
do
begin
if
k
mod
2
=
1
then
iBatugailu := iBatugailu + k ;
writeln
(k,
'. iterazioan iBatugailu = '
, iBatugailu) ;
end
;
writeln
(
'Azkenik iBatugailu = '
, iBatugailu) ;
writeln
;
writeln
(
'======================='
) ;
writeln
(
'RETURN sakatu amaitzeko'
) ;
writeln
(
'======================='
) ;
readln ;
end
.
{ PROGRAMAREN BUKAERA }
iBatukaria = 1 + 3 + 5 + ... + (iMuga-2) + iMuga
ForBat7.pas
12345678910111213141516171819202122232425262728293031323334353637383940{-----------------------------------------------------------------------
iMuga emanda (1 eta 9 artean) lortu batukari hau:
iBatukaria = +1^2 -2^2 +3^2 -4^2 +5^2 -6^2 + ... -+iMuga^2
-----------------------------------------------------------------------}
program
Batukaria ;
var
iKont, iMuga, iBatugaia, iBatukaria :
integer
;
begin
writeln
;
repeat
write
(
'iMuga zenbaki osoa eta positiboa eman (1 eta 9 artekoa): '
) ;
readln(iMuga) ;
until
(iMuga >=
1
)
and
(iMuga <=
9
) ;
iBatukaria :=
0
;
for
iKont:=
1
to
iMuga
do
begin
if
iKont
mod
2
=
1
then
begin
iBatugaia := iKont*iKont ;
iBatukaria := iBatukaria + iBatugaia ;
writeln
(iKont:
5
,
'. iterazioan'
,
'batugaia='
:
25
, iBatugaia:
3
,
'batukaria='
:
25
, iBatukaria:
3
) ;
end
else
begin
iBatugaia := (-
1
)*iKont*iKont ;
iBatukaria := iBatukaria + iBatugaia ;
writeln
(iKont:
5
,
'. iterazioan'
,
'batugaia='
:
25
, iBatugaia:
3
,
'batukaria='
:
25
, iBatukaria:
3
) ;
end
;
end
;
writeln
(
'Azkenik batukaria = '
, iBatukaria) ;
writeln
;
writeln
(
'======================='
) ;
writeln
(
'RETURN sakatu amaitzeko'
) ;
writeln
(
'======================='
) ;
readln ;
end
.
{ PROGRAMAREN BUKAERA }
iBatukaria = +12 -22 +32 -42 +52 -62 + ... ±iMuga2
iruzkinik ez:
Argitaratu iruzkina
Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.