Iteracio
En komputado kaj en matematiko iteracio estas ripetado de matematika aŭ komputa procedo aplikata al la rezulto de antaŭa apliko, ekz-e por sumi elementojn de opo aŭ por trovi pli bonan aproksimon de la solvo.
Iteraciaj ordonoj
Altnivelaj programlingvoj disponigas plurajn formojn de iteraciaj ordonoj.
Nombrila iteracio
La nombrilaj ordonoj iteraciaj plej ofte respondas al vektoraj aŭ matricaj operacioj, kaj al la matematikaj iteraciiloj ∑, ∏ ktp. Ekz-e la skalara produto de n-dimensiaj vektoroj a kaj b matematike esprimeblas per la iteraciilo ∑:
dum en Paskalo (esperantigita pseŭdokodo) al ĝi respondas la nombrila iteracia ordono (aŭ «POR-iteracio»):
s := 0;
por i := 1 supre n faru
s := s + a[i] * b[i];
Noto
Por iuj algoritmoj gravas, ĉu la nombrilo estas krementata supren (alkrementata) aŭ suben (dekrementata). El la teksto de la programo tio ne ĉiam evidentas, sed scio pri tio povas plibonigi la rendimenton. Tial en Paskalo la alkremento ĝis la supra limo estas indikata per la ŝlosilvorto supre (angle to) (kaj tiel estas en la ĉi-supra ekzemplo); kaj la dekremento, per sube (angle downto), ekz-e la rulo de
Programo dekremente(eligo);
var i: entjera;
starto
por i := 9 sube 0 faru skribu(i:2);
skribuLin('.');
fino.
produktas la sekvan eligaĵon:
9 8 7 6 5 4 3 2 1 0.
Pli sencohavan ekzemplon, kombinantan iteracion dekrementan kun iteracio alkrementa, vd ĉe «Bobelmetoda ordigo».
Kondiĉa iteracio
En programlingvoj kondiĉa iteracio estas iteracia ordono, en kiu la okazigon de ripetoj de la iteraciata korpo kondiĉas bulea esprimo, la kondiĉo.
Jen ekz-e la uzo de kondiĉa iteracio por aproksimi per Neŭtona metodo kvadratan radikon :
provo1 := 1.0; {Unua kruda aproksimo}
ripetu
provo0 := provo1;
provo1 := (x/provo0 + provo0) / 2.0
ĝis abs(provo1 - provo0) < epsilo;
{La diferenco inter aproksimaĵoj malplias ol epsilo.}
Rezulto := provo1;
Iteracioj komenckondiĉa kaj finkondiĉa
En la ĉi-supra ekzemplo pri kondiĉa iteracio la kondiĉo estas testata post la plenumo de la korpo (de la parto iteraciata). Tiajn kondiĉajn iteraciojn oni nomas postkondiĉaj iteracioj[1].
Sed ofte oni volas testi la kondiĉon antaŭ ol plenumi la korpon (precipe se la plenumo de la korpo sencas nur ĉe certaj kondiĉoj). En tiaj okazoj oni povas uzi komenckondiĉan iteracion, ekz-e tian (en iteracia realigo de Eŭklida algoritmo):
tipo naturaNombro = 0..maksEnt; naturajNombroj = naturaNombro;
funkcio PGKD(a,b: naturajNombroj): naturaNombro;
starto
dum b ≠ 0 {la kondiĉo de la iteracio}
se a > b {la korpo estas se-ordono}
a := a − b
alie
b := b − a; {ĉi tie finiĝas la korpo kaj la tuta iteracio}
{-- Nun post la iteracio b = 0 --}
PGKD := a;
fino
Notoj
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.