Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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.

Hasonló előadás


Az előadások a következő témára: "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."— Előadás másolata:

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  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)  Struktogram Az 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 Algoritmus leíró eszközök:

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

5 Folyamatábra (flowchart): 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. Alapelemeit Neumann dolgozta ki. Az egyes szerkezeti elemek között nyilakkal jelöljük a végrehajtási sorrendet.

6 Folyamatábra részei Eldöntés, elágazás Program kezdeteProgram vége Adat bemenet és kimenet Műveletvégzés 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 Rajt Utasítás 1 Utasítás 2Utasítás n Cél

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. Utasítás 1 Feltétel Utasítás (ha) Utasítás 2 HAMIS IGAZ Elágazás ha nincs KÜLÖNBEN-ág:

11 Utasítás 1 Feltétel Utasítás (ha) Utasítás 2 HAMIS IGAZ Elágazás ha van KÜLÖNBEN-ág: Utasítás (különben) HA feltétel AKKOR utasítás 1 … utasítás 1n [KÜLÖNBEN utasí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 C tevékenység A tevékenységB tevékenység Feltétel igazhamis

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 Feltétel 2 Feltétel 3 A tevékenység B tevékenység 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ő: Utasítás 1 Feltétel Ciklusmag Utasítás 2 HAMIS 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 ciklusmag CIKLUS VÉGE DO WHILE feltétel ciklusmag LOOP

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 Hátultesztelő: Utasítás 1Ciklusmag Utasítás 2 HAMIS IGAZ CIKLUS ciklusmag AMÍG feltétel CIKLUS VÉGE DO ciklusmag LOOP UNTIL feltétel Feltétel 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 (iteráció): elágazik, és ismétli a ciklusmagban megadott tevékenységet.

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 Számlálásos: Cv:=ké, vé, lk Ciklusmag Utasítás CIKLUS cv:=ké-TŐL vé-IG [lk-ZEL] ciklusmag CIKLUS VÉGE FOR cv=ké TO vé [STEP lk] ciklusmag NEXT cv Cv=vé? 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. HAMIS IGAZ Ciklus (iteráció): elágazik, és ismétli a ciklusmagban megadott tevékenységet. 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. 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 CLS FOR i = 1 TO 100 STEP 10 PRINT i NEXT i Kiíratjuk a számokat ig 10-es lépésközzel (tízesével) Egymásba ágyazott ciklus CLS FOR i = 1 TO 20 LOCATE i, 1 FOR j = 1 TO 80 PRINT ’’# ”; NEXT j NEXT i Teleíratjuk a képernyő első 20 sorát # karakterekkel! 5-15 sorok, 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


Letölteni ppt "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."

Hasonló előadás


Google Hirdetések