Programozás alapjai 1.Gy: Algoritmizálás. P R O A L A G 1/13 B ITv: MAN 2018.09.20
Algoritmus leírási módszerek Szöveges leírás Pszeudokód Folyamatábra Struktogram Jackson diagram 2/13
Folyamatábra elemek N>I K:=0 K:=I Be: A,B S:=3*A/2 Ciklus 1-től 5-ig 1 Ki: C 1 Be: A[i] 3/13
1. : Adott két szám. Cseréljük meg őket! A két szám két változót jelent! (A, B) Két változó értékét csak úgy tudjuk megcserélni, hogy egy harmadik változót (C) is felhasználunk! 1. lépés: 2. lépés: 3. lépés: C := A A := B B := C 1 C := A A := B 1 C := A A := B B := C B := C 2 2 4/13
2. : Adjuk meg az abszolút érték meghatározás pszeudokódját és folyamatábráját! BE: a HA a<0 AKKOR a := a*(-1) KI: a Be: a a < 0 a := a*(-1) Ki: a 5/13
3. : Két szám összehasonlítása. Lehetnek egyenlők, lehet az első nagyobb, és lehet a második nagyobb. (pszk, FÁ) 6/13 BE: a, b HA a=b AKKOR KI: Egyenlők HA a>b AKKOR KI: A nagyobb HA a<b AKKOR KI: B nagyobb Ki: A nagyobb Be: a, b a = b Ki: Egyenlők a > b Ki: B nagyobb Ha itt nem lépnénk ki, a Egyenlők kiírása után még egy kiírás következne!
3. : Két szám összehasonlítása. Lehetnek egyenlők, lehet az első nagyobb, és lehet a második nagyobb. (pszk, FÁ) 7/13 BE: a, b HA a=b AKKOR KI: Egyenlők HA a>b AKKOR KI: A nagyobb HA a<b AKKOR KI: B nagyobb Be: a, b a = b Ki: Egyenlők 1 1 a > b a < b Ki: A nagyobb Ki: B nagyobb Ez az ábra felel meg a pszeudokódnak!
4. : Számok összegzése 1-től N-ig. BE: n összeg := 0 i := 1 AMÍG i<=n ADDIG összeg := összeg + i i := i + 1 CIKLUS vége KI: összeg Be: n ö := 0 i := 1 i <= n ö := ö+i i := i+1 Ki: ö 8/13
4. : Számok összegzése 1-től N-ig. Be: n ö := 0 i := 1 Be: n ö := 0 i <= n ö := ö+i i := i+1 1.. n ö := ö+i! Ki: ö Ki: ö 9/13
5. : N darab beolvasott elemből a párosak megszámlálása, elöltesztelő ciklussal BE: n i := 1, db:= 0 AMÍG i<=n ADDIG 10/13 BE: szám HA (szám modulo 2 = 0) AKKOR db := db + 1 i := i+1 CIKLUS vége KI: db Be: n i := 1 db := 0 i <= n Be: s s mod 2=0 db := db+1 i := i+1 Ki: db
6. : N darab beolvasott elemből a párosak megszámlálása, hátultesztelő ciklussal BE: n i := 1, db:= 0 CIKLUS 11/13 BE: szám HA (szám modulo 2 = 0) AKKOR db := db + 1 i := i+1 AMÍG i<=n KI: db Be: n i := 1 db := 0 Be: s s mod 2=0 db := db+1 i := i+1 i <= n Ki: db
7. : N darab beolvasott elemből a páratlanok átlaga. pdb:=0, psum:=0, i:=1 BE: n AMÍG i<=n ADDIG BE: s HA (s modulo 2 = 1) AKKOR psum:=psum+s pdb:=pdb+1 i:=i+1 CIKLUS vége KI: psum/pdb Be: n pdb := 0 psum:=0 i := 1 i <= n Be: s s mod 2=1 psum:=psum+s pdb := pdb+1 i := i+1 12/13 Ki: psum/pdb
Házi feladatok 1. Írjon algoritmust a kör sugarának ismeretében (bemenő adat) a kör területének, kerületének kiszámítására. Adja meg pszeudo kóddal és folyamatábrával is. 2. Írjon algoritmust, amely eldönti három egész számról hogy lehetnek-e egy háromszög oldalai. Adja meg pszeudo kóddal és folyamatábrával is. Segítség: Háromszög egyenlőtlenség: A háromszög bármely két oldalának összege nagyobb a harmadik oldalánál. 3. Adott a>0 és b>=0 számokra határozza meg a b hatványértéket. 4. Készítse el egy megadott oldalú négyzet kirajzolását megvalósító algoritmust. 13/13
VÉGE VÉGE 14/13