Programozási tételek
Sorozathoz egy érték vagy sorozat hozzárendelése
Összegzés tétele (pl.)
Adott egy N elemű számsorozat: A(N). Számoljuk ki az elemek összegét!
S:=0 Ciklus I=1-től N-ig S:=S+A(I) Ciklus vége
Eldöntés tétele (pl.)
Adott egy N elemű sorozat és egy a sorozaton értelmezett T tulajdonság.
Van-e a sorozatnak legalább egy T tulajdonságú eleme?
I:=1 Ciklus amíg I<=N és A(I) nem T tulajdonságú I:=I+1 Ciklus vége VAN:=(I<=N) (A "VAN" egy logikai változó, amely akkor és csak akkor igaz, ha I<=N)
Kiválasztás tétele (pl.)
Adott egy N elemű sorozat, egy - a sorozat elemein értelmezett - T tulajdonság. Azt is tudjuk, hogy
a sorozatban van legalább egy T tulajdonságú elem. A feladat ezen elem sorszámának meghatározása.
I:=1 Ciklus amíg A(I) nem T tulajdonságú I:=I+1 Ciklus vége SORSZ:=I
Megszámlálás tétele (pl.)
Adott egy N elemű sorozat és egy - a sorozat elemein értelmezett - T tulajdonság.
Feladat a T tulajdonsággal rendelkező elemek megszámolása.
S:=0 Ciklus I=1-től N-ig Ha A(I) T tulajdonságú akkor S:=S+1 Ciklus vége
Maximum (minimum) kiválasztás tétele (pl.)
Adott egy N elemű sorozat és elemein a kisebb-nagyobb reláció. Mi a sorozat legnagyobb (legkisebb) elemének indexe?
INDEX:=1 Ciklus I=2-től N-ig Ha A(INDEX) < A(I) akkor INDEX:=I Ciklus vége
Lineáris keresés tétele (pl.)
Általános feladat: N elemű sorozat és a sorozat elemein értelmezett T tulajdonság.
Van-e T tulajdonságú elem és ha van, akkor mi a sorszáma? (Eldöntés és kiválasztás együtt.)
I:=1 Ciklus amíg I<=N és A(I) nem T tulajdonságú I:=I+1 Ciklus vége VAN:=(I<=N) Ha VAN akkor INDEX:=I
Logaritmikus keresés tétele
Általános feladat: N elemű rendezett sorozat és egy keresett elem (X). Szerepel-e a keresett elem a sorozatban és ha igen, akkor mi a sorszáma?
Kihasználjuk, hogy a sorozat rendezett, így el tudjuk dönteni, hogy a keresett elem az éppen vizsgált elemhez képest hol helyezkedik el.
AH, FH: intervallum alsó és felső végpontjai.
AH:=1 F:=N Ciklus K:=INT((AH+FH)/2) Ha A(K) < X akkor AH:=K+1 Ha A(K) > X akkor FH:=K-1 amíg AH <= FH és A(K) ≠ X Ciklus vége VAN:=(AH<=FH) Ha VAN akkor INDEX:=K
Megjegyzések: azért hívják logaritmikus keresésnek, mert kb. log N a ciklus lépésszáma.
Kiválogatás tétele (pl.)
Egy N elemű sorozat összes T tulajdonságú elemét kell meghatározni.
A kiválogatott elemek sorszámait gyűjtsük össze egy B() vektorban!
J:=0 Ciklus I=1-től N-ig Ha A(I) T tulajdonságú, akkor J:=J+1 B(J):=I Ciklus vége
A pici kék "(pl.)"-re téve az egérkurzort, megjelenik egy másik feladat, amit célszerű gyakorlásként megoldani!