Algoritmusok.

Slides:



Advertisements
Hasonló előadás
Vezérlő utasítások.
Advertisements

Az algoritmus.
Programozási feladatok
83. (1 pont) A felsorolt végeredmények, hatások közül karikázza be a mondatszerű leírással (szöveggel) megadott algoritmus eredményét jelölő betűt, ha.
Definíciók: Algoritmus: bármely véges sok lépéssel leírható tevékenység. Olyan pontos előírás, amely megmondja, hogy egy adott típushoz tartozó feladat.
Összefoglalás Hardver,szoftver,perifériák Memóriák fajtái
Algoritmusleíró eszközök
Összefoglalás 1. Pascal program szerkezete 2. Pascal típusai
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
A problémamegoldás folyamata
3. előadás (2005. március 1.) Utasítások, tömbök
Benczúr Zsolt VBA gyorstalpaló Benczúr Zsolt
Programozás alapjai.
Algoritmusok Az algoritmus fogalma:
C A C nyelv utasításai.
Nat Pedellus Informatika 8. osztály óra.
Programozás módszertan
Programozás I. Horváth Ernő.
Java programozási nyelv 2. rész – Vezérlő szerkezetek
Utasítások, elágazás- és ciklusszervezés C nyelvi utasítások
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Programozás I. Ciklusok
Vizuális és web programozás II.
ISZAM III.évf. részére Bunkóczi László
A problémamegoldás lépései
Ismétlő struktúrák.
Az algoritmusok áttekinthető formában történő leírására szolgáló eszközök Páll Boglárka.
Ismétlés.
Ciklusok: 3. Hátultesztelő ciklus
Ciklusok: 2. Előltesztelő ciklus
Feladatok: Algoritmusok Pszeudokódban
Az algoritmusok áttekinthető formában történő leírására szolgáló eszközök Páll Boglárka.
Algoritmusok.
ALGORITMUS.
Algoritmusok.
ismétlődő (azonos vagy hasonló) tevékenységek megvalósítására szolgál
ALGORITMUSOK.
Tömbök és programozási tételek
Ciklusok (iterációk).
Programozási nyelvek.
Készítette: Csíki Gyula
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Algoritmusok.
Algoritmus szerkezetek
Nevezetes algoritmusok
Java programozási nyelv Vezérlési szerkezetek
Algoritmusok.
Az algoritmuskészítés alapjai
A Visual Basic nyelvi elemei
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 7. előadás.
Programozás, programtervezés
Török Katalin és Marosi Nóra 11/c. Pascal: Az es években megjelent magas szintű programozási nyelv, közel áll az emberi gondolkodáshoz. Nevét.
Algoritmusok. Az algoritmus meghatározott sorrendben elvégzendő műveletek előírása, mint azonos típusú (matematikai, logikai) feladatok megoldására alkalmas.
Nat Pedellus Free Pascal Elágazások..
Algoritmizálás és programozás tanítása Balogh Zoltán PTE-TTK IÁTT Az algoritmuskészítés.
Összeállította: Sashalmi Tibor
Algoritmizálás, adatmodellezés
Excel programozás (makró)
C++2. Ciklusok elöltesztelő (for, while) A ciklusmag feldolgozása előtt történik a vizsgálat  lehet, hogy egyszer sem fut le. A soronkövetkező iteráció.
Adatszerkezetek és algoritmusok 2008/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
Programozás alapjai Készítette: Csiszár Nóra Anita
Programozási alapok.
Excel programozás (makró)
Algoritmizálás.
Bevezetés a programozásba Algoritmikus gondolkodás
Algoritmusok Az algoritmus fogalma:
ITERÁCIÓ.
Algoritmusok szerkezete
Informatikai gyakorlatok 11. évfolyam
Algoritmus készítés.
Előadás másolata:

Algoritmusok

Algoritmus: Utasítások véges számú és pontos leírása 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) 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

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): 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.

Folyamatábra részei Szekvencia (műveletek egymás után) 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: 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 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: sorban egymás után való végrehajtás Cél Rajt Utasítás 1 Utasítás n

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

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

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 CLS INPUT "add meg az osztályzatod:", osztalyzat 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ó): HAMIS Feltétel Utasítás 1 Utasítás 2 Ciklusmag IGAZ 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 ciklusmag CIKLUS VÉGE DO WHILE feltétel ciklusmag LOOP

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 INPUT "Adj meg egy számot:", szam osszeg = osszeg + szam LOOP PRINT "A számok összege:", osszeg END

Ciklus (iteráció): IGAZ Feltétel Utasítás 1 Ciklusmag Utasítás 2 HAMIS 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 ciklusmag AMÍG feltétel CIKLUS VÉGE DO ciklusmag LOOP UNTIL feltétel

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áció): IGAZ Cv=vé? Ciklusmag Utasítás HAMIS elágazik, és ismétli a ciklusmagban megadott tevékenységet. Számlálásos: CIKLUS cv:=ké-TŐL vé-IG [lk-ZEL] ciklusmag CIKLUS VÉGE FOR cv=ké TO vé [STEP lk] ciklusmag NEXT 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. rövidítések: cv=ciklus változó, ké=kezdeti érték, vé=végérték, lk=lépésköz. 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.

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