Algoritmusok
This presentation is the property of its rightful owner.
Sponsored Links
1 / 19

Algoritmusok PowerPoint PPT Presentation


  • 91 Views
  • Uploaded on
  • Presentation posted in: General

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)

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Algoritmusok

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


Algoritmusok

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


Algoritmusok

  • 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


Folyamat bra flowchart

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.


Algoritmusok

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)


Struktogramm

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.


Az algoritmus utas t sok le r eszk zei

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.


Szekvencia

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


El gaz s szelekci

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


Algoritmusok

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


K t g d nt s

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


T bb rt k k z li v laszt s

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


Ciklus iter ci

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ételciklusmagCIKLUS VÉGE

DO WHILE feltételciklusmagLOOP


El l tesztel s ciklus

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


Ciklus iter ci1

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


H tul tesztel s ciklus

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


Ciklus iter ci2

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.


Sz ml l s n vekm nyes ciklus

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


  • Login