Informatika alapismeretek
Egy kis segítség

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 a
kkor 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


 


 



 




Asztali nézet