1 / 19

Algoritmusok

Algoritmusok. Algoritmus : Folyamatok elemi részekre bontása. Utasítások véges számú és pontos leírása Utasítások meghatározott sorrendben legyenek. Algoritmus leíró eszközök:. Mondattal (szöveges) Mondatszerűen (vázlat jellegű) Pszeudokód Grafikus (rajzos, képek)

darby
Télécharger la présentation

Algoritmusok

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritmusok

  2. Algoritmus: • Folyamatok elemi részekre bontása. • Utasítások véges számú és pontos leírása • Utasítások meghatározott sorrendben legyenek

  3. Algoritmus leíró eszközök: • Mondattal (szöveges) • Mondatszerűen (vázlat jellegű) Pszeudokód Grafikus (rajzos, képek) • Folyamatábrával (különböző geometriai idomok használata) • StruktogramAz egész algoritmus egy téglalapban helyezkedik el, ezen belül az utasítások és vezérlőszerkezetek szintén téglalapokat foglalnak el. Az ábrát felülről lefelé haladva kell olvasni

  4. Pl. Szöveges feladat matematika órán • Adatok felírása, kigyűjtése • Képlet felírása • Behelyettesítés a képletbe • Elvégezni a műveleteket • Szöveges válasz írása, mértékegység jelölése

  5. Folyamatábra (flowchart): Alapelemeit Neumann dolgozta ki. Az egyes szerkezeti elemek között nyilakkal jelöljük a végrehajtási sorrendet. Folyamatábra alakzatok: • Téglalap: Valamilyen értékadó utasítás, vagy eljárás. • Rombusz, vagy lapos hatszög:Egy, vagy többágú kiválasztás. • Paralelogramma: Adatáramlás. • Kör: Vezérlő utasítások.

  6. Folyamatábra részei Program kezdete Program vége Műveletvégzés Eldöntés, elágazás Adat bemenet és kimenet Szekvencia (műveletek egymás után)

  7. Struktogramm: Az egyes szerkezeti elemeket különböző téglalapba foglalható ábrákkal jelöljük. A szerkezetek egymásba ágyazhatók, de vonalaik nem keresztezhetik egymást.

  8. Az algoritmus utasítások leíró eszközei • Szekvencia: sorban egymás után való végrehajtás. • Elágazás (szelekció): elágazik, de továbbra is előre megy. • Ciklus (iteráció): elágazik, és ismétli a ciklusmagban megadott tevékenységet.

  9. Szekvencia: sorban egymás után való végrehajtás Cél Rajt Utasítás 2 Utasítás n Utasítás 1

  10. Elágazás (szelekció): elágazik, de továbbra is előre megy. A feltételtől függően (igaz, hamis) folytatódik tovább az algoritmus: ha igaz a feltétel akkor végrehajtja az IGAZ-ágat, ha nem, akkor ha nincs KÜLÖNBEN-ág, akkor a következő utasításra lép, ha van KÜLÖNBEN ág, akkor a HAMIS-ágat hajtja végre. Az egyik ág végrehajtása után a program végrehajtása az elágazás utáni utasításon folytatódik. Elágazás ha nincs KÜLÖNBEN-ág: Feltétel HAMIS Utasítás 1 Utasítás 2 Utasítás (ha) IGAZ

  11. Elágazás ha van KÜLÖNBEN-ág: HAMIS Utasítás (különben) Feltétel Utasítás 1 Utasítás 2 Utasítás (ha) IGAZ HA feltétel AKKORutasítás 1 …utasítás 1n[KÜLÖNBENutasítás 2… utasítás 2n]ELÁGAZÁS VÉGE

  12. Kétágú döntés CLS INPUT „Írd be a korodat:", kor IF kor > 18 THEN PRINT "Már nagykorú vagy!" ELSE PRINT "Még fiatalkorú vagy!" END IF igaz hamis Feltétel A tevékenység B tevékenység C tevékenység

  13. Több érték közüli választás CLS INPUT "add meg az osztályzatod:", osztalyzat CLS SELECT CASE osztalyzat CASE 1 PRINT „megbuktál!!" CASE 2 PRINT "elégséges" CASE 3 PRINT "közepes" CASE 4 PRINT "jó" CASE 5 PRINT "jeles" END SELECT Feltétel 1 A tevékenység Feltétel 2 B tevékenység Feltétel 3 C tevékenység D tevékenység

  14. Ciklus (iteráció): elágazik, és ismétli a ciklusmagban megadott tevékenységet. Elöltesztelő: Feltétel HAMIS Utasítás 1 Utasítás 2 Ciklusmag IGAZ Ha a feltétel igaz akkor végrehajtódik a ciklusmag és visszalép a feltételhez az algoritmus, ha nem, akkor kilép a ciklusból és a következő utasításra lép. (A ciklusmagnak kell olyan tevékenységet tartalmaznia, mely hatással van a feltételre, különben „végtelen” ciklussá válhatna.) CIKLUS AMÍG feltétel ciklusmagCIKLUS VÉGE DO WHILE feltételciklusmagLOOP

  15. Elöl tesztelős ciklus REM "addig kér számokat, míg a számok összege nem lesz nagyobb 1000-nél" CLS szam = 0 osszeg = 0 DO WHILE osszeg < 1000 CLS INPUT "Adj meg egy számot:", szam osszeg = osszeg + szam LOOP PRINT "A számok összege:", osszeg END

  16. Ciklus (iteráció): elágazik, és ismétli a ciklusmagban megadott tevékenységet. Hátultesztelő: IGAZ Feltétel Utasítás 1 Ciklusmag Utasítás 2 HAMIS Végrehajtódik a ciklusmag és ha hamis a kilépési feltétel akkor visszalép a feltételhez az algoritmus, ha igaz, akkor kilép a ciklusból és a következő utasításra lép. Legalább egyszer végrehajtódik a ciklusmag. A ciklusmagnak kell olyan tevékenységet tartalmaznia, mely hatással van a feltételre, különben „végtelen” ciklussá válhat. CIKLUS ciklusmagAMÍG feltétel CIKLUS VÉGE DO ciklusmagLOOP UNTILfeltétel

  17. Hátul tesztelős ciklus REM "addig kér számokat, míg 0-át nem írunk, kiszámítja a beírt szamok átlagát" CLS szam = 0 darabszam = 0 osszeg = 0 DO INPUT "Add meg a következő számot:", szam darabszam = darabszam + 1 osszeg = osszeg + szam LOOP UNTIL szam = 0 darabszam = darabszam - 1 atlag = osszeg / darabszam PRINT "A beírt számok átlaga:", atlag

  18. Ciklus (iteráció): elágazik, és ismétli a ciklusmagban megadott tevékenységet. Számlálásos: CIKLUS cv:=ké-TŐL vé-IG [lk-ZEL] ciklusmagCIKLUS VÉGE FOR cv=ké TO vé [STEP lk]ciklusmagNEXT cv IGAZ Cv=vé? Cv:=ké, vé, lk Ciklusmag Utasítás HAMIS Az elöltesztelős ciklus egy speciális esete a számlálásos ciklus, ahol a belépési feltétel a végrehajtási darabszámtól függ. A változó felveszi a kezdeti értéket, majd ellenőrzi, hogy túllépte e a végértéket, ha nem akkor végrehajtja a ciklusmagot. A ciklus vége növeli lépésköznyivel a ciklusváltozó értékét. Ha nem érte el a végértéket, akkor újra végrehajtódik a ciklusmag, ha igen akkor kilép a ciklusból és a következő utasításra lép. A lépésköz lehet negatív is. rövidítések: cv=ciklus változó, ké=kezdeti érték, vé=végérték, lk=lépésköz.

  19. Számlálós (növekményes) ciklus Kiíratjuk a számokat 1-100-ig 10-es lépésközzel (tízesével) CLS FOR i = 1 TO 100 STEP 10 PRINT i NEXT i Egymásba ágyazott ciklus Teleíratjuk a képernyő első 20 sorát # karakterekkel! CLS FOR i = 1 TO 20 LOCATE i, 1 FOR j = 1 TO 80 PRINT ’’# ”; NEXT j NEXT i 5-15 sorok, 20-60 oszlopok által határolt téglalapot kitöltjük # karakterrel CLS FOR i = 5 TO 15 FOR j = 20 TO 60 LOCATE i, j PRINT "#" NEXT j NEXT i

More Related