1. ÖSSZEGZÉS
Az algoritmus egy N elemű T tömb
elemeit összegzi az S változóban.
S:=0
Ciklus i:=1..N
S:=S+T[i]
Ciklus vége
Ki: S
Ha szorzatot számolunk, akkor
S:=1
S:=S*T[i]
sorok módosulnak.
2. MEGSZÁMLÁLÁS
Az algoritmus megadja, hogy egy
N elemű T tömbben hány adott tulajdonságú
elem van.
Pl.: hány negatív szám van
A negatív számok számát a DB változó
tartalmazza.
DB:=0
Ciklus i:=1..N
Ha T[i]<0 akkor DB:=DB+1
Ciklus vége
KI: DB
3. KERESÉS
Az algoritmus megadja, hogy a tömbben egy
bizonyos elem megtalálható-e.
Legyen a keresett elem az 50.
Ha megtalálható, akkor az i. helyen van az első.
i:=1
Ciklus amíg (i<=N) és (T[i]<>50)
i:=i+1
Ciklus vége
Ha i<=N Akkor KI: ’van 50’
Különben KI: ’nincs 50’
4. KIVÁLOGATÁS
Egy tömb adott tulajdonságú elemeit teszi egy másik tömbbe. DB változó számolja, hogy a másik tömbbe hány elem került. Válogassuk ki a negatív számokat. Az eredmény B tömbben lesz (B tömböt N eleműre kell választani, mert akár minden elem lehet negatív T tömbben).
DB:=0
Ciklus i:=1..N
Ha T[i]<0 akkor DB:=DB+1
B[DB]:=T[i]
Ciklus vége
5. MAXIMUM KIVÁLASZTÁS
Az algoritmus megadja T tömb legnagyobb elemét.
Megadja magát az elemet (MAX).
MAX:=T[1]
Ciklus i:=2..N
Ha T[i]>MAX akkor MAX:=T[i]
Ciklus vége
Ki: MAX
MINIMUM KIVÁLASZTÁS
Az algoritmus megadja T tömb legkisebb elemét.
Megadja magát az elemet (MIN) és annak a
sorszámát is (MINI).
MIN:=T[1]
MINI:=1
Ciklus i:=2..N
Ha T[i] MINI:=i
Ciklus vége
Ki: MIN, MINI
6. ELEMEK SORBARENDEZÉSE
NÖVEKVŐ SORRENDBE
Az algoritmus az N elemű T tömb elemeit növekvő sorrendbe rendezi.
A külső ciklus kiválasztja a még nem rendezett következő elemet (1.-től az utolsó előtti elemig)
A belső ciklus a kiválasztott elemet hasonlítja az utána következő összes többi elemmel. Ha talál kisebb elemet, fel kell cserélni
Ciklus i:=1..N-1
Ciklus j:=i+1..N
Ha T[j] T[j]:=T[i]
T[i]:=C
Ciklus vége
Ciklus vége
Ha csökkenő sorrendet szeretnénk a relációs jelet kell felcserélni: Ha T[j]>T[i]
7. Prímszám vizsgálata
Az algoritmus azt vizsgálja, hogy az A változóban
lévő szám prímszám-e. A szám valódi osztóit
számolja. Ha ezek száma 0, akkor prím, egyébként
nem prím.
BE: A {A pozitív egész}
DB:=0
ciklus i:=2..(A DIV 2)
ha A MOD i = 0 akkor DB:=DB+1
ciklus vége
ha DB=0 akkor KI:prim
különben KI: nem prim
Hatékonyabb az algoritmus, ha a keresést alkalmazzuk. Ha megtalálja az első osztót, akkor leáll. Ha nincs osztója, akkor a PRIM logikai változó értéke TRUE marad.
BE: A {A pozitív egész}
PRIM:=true
OSZTO:=2
ciklus amíg (oszto<=A div 2) and (PRIM)
ha A MOD OSZTO =0 akkor PRIM:=false
OSZTO:=OSZTO+1
ciklus vége
ha PRIM akkor KI: prim
különben KI: nem prim
Prímszámok kiírása N-ig
BE: N {N pozitív egész}
ciklus i:=2..N
DB:=0
ciklus j:=2..(i DIV 2)
ha i MOD j = 0 akkor DB:=DB+1
ciklus vége
ha DB=0 akkor KI: i
ciklus vége
9. Háromjegyű Armstrong számok
Azok a számok, ahol a számjegyek köbeinek összege magát a számot adja.
ciklus i:=100..999
sz:= i div 100
t:= (i mod 100) div 10
e:= (i mod 100) mod 10
ha sz*sz*sz + t*t*t + e*e*e =i
akkor KI: i
ciklus vége
Háromjegyű Armstrong számok
Egy másik algoritmus.
ciklus sz:=1..9
ciklus t:=0..9
ciklus e:=0..9
k:=100*sz+10*t+1
a:= sz*sz*sz + t*t*t + e*e*e
ha a=k akkor KI: a
ciklus vége
ciklus vége
ciklus vége
10. Legnagyobb közös osztó
BE: A,B {A és B pozitív egész}
ha A>B akkor N:=A
K:=B
különben N:=B
K:=A
ciklus
M:=N mod K
N:=K
K:=M
mígnem M=0
KI: lnko: , N
11. Legkisebb közös többszörös
BE: A,B {A és B pozitív egész}
SA:=A
SB:=B
ciklus amíg SA<>SB
ha SA különben SB:=SB+B
ciklus vége
KI: SA
12. Prímtényezőkre bontás
BE: A {pozitív egész}
SZ:=A
OSZTO:=2
ciklus amíg SZ>1
ciklus amíg SZ mod OSZTO =0
KI: OSZTO
SZ:=SZ DIV OSZTO
ciklus vége
OSZTO:=OSZTO+1
ciklus vége
14. Hatványozás (valós szám pozitív egész kitevős hatványa)
BE: X,Y {X valós, Y pozitív egész}
H:=1
ha Y>0 akkor ciklus i:=1..Y
H:=H*X
ciklus vége
KI: H
15. Két halmaz metszete
(A halmaz N elemű, B halmaz M elemű)
A halmazokat tömbökben tároljuk. Az eredményhalmaz elemszáma az N és M közül a kisebb.
DB := 0
ciklus I := 1..N
J := 1
ciklus amíg (J<=M) és (A[I]<>B[J])
J :=J + 1
ciklus vége
ha J <= M akkor DB := DB + 1
C[DB] := A[I]
ciklus vége
ciklus vége
13. Egy szám számjegyeinek száma
BE: A {max. 10 számjegy}
SZ:=A
DB:=0
ciklus amíg SZ>0
DB:=DB+1
SZ:=SZ div 10
ciklus vége
KI: DB
Egy szám számjegyeinek összege
BE: A {max. 10 számjegy}
SZ:=A
S:=0
ciklus amíg SZ>0
M:=SZ mod 10
S:=S+M
SZ:=SZ div 10
ciklus vége
KI: S
17. Két halmaz különbsége A-B
(A halmaz N elemű, B halmaz M elemű)
A halmazokat tömbökben tároljuk. Az eredményhalmaz elemszáma: N
DB:=0
ciklus I := 1..N
j:=1
ciklus amíg (J <=M) és (A[I] <> B[J])
ha J>M akkor
DB := DB + 1
C[DB] := A[I]
ciklus vége
ciklus vége