Algoritmusok.

Slides:



Advertisements
Hasonló előadás
Szerver oldali programozás
Advertisements

Vezérlő utasítások.
Programozási feladatok
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
Algoritmusok.
Összefoglalás 1. Pascal program szerkezete 2. Pascal típusai
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Jt Java Feltételek, logikai kifejezések. jt 2 Logikai operátorok Logikai kifejezésekre alkalmazhatók a következő műveletek: 1. nem! 2. és&ill.&& 3. kizáró.
Algoritmus Az algoritmus problémamegoldásra szolgáló elemi lépések olyan sorozata, amely: véges – azaz véges számú lépés után befejeződik, és eredményt.
3. előadás (2005. március 1.) Utasítások, tömbök
Programozás alapjai.
Turbo Pascal Változók.
Logika Érettségi követelmények:
Bevezetés a Java programozásba
Algoritmusok Az algoritmus fogalma:
C A C nyelv utasításai.
Készítette: Rummel Szabolcs Elérhetőség:
Java programozási nyelv 2. rész – Vezérlő szerkezetek
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Programozás I. Ciklusok
Vizuális és web programozás II.
Halmazelmélet és matematikai logika
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
C nyelv utasításai.
Ismétlés A pascal program szerkezete: program programnev; Programfej
Ismétlés.
Ciklusok: 2. Előltesztelő ciklus
Az algoritmusok áttekinthető formában történő leírására szolgáló eszközök Páll Boglárka.
Átalakítás előltesztelő ciklusból hátultesztelő ciklusba és fordítva.
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).
Operátorok Értékadások
PHP nyelv. PHP Interpreteres nyelv → parancsértelmező szükséges hozzá Rasmus Lerdorf 1995 → személyes felhasználás (internetes önéletrajzának megtekintésének.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Algoritmus szerkezetek
Nevezetes algoritmusok
Algoritmusok.
Objektum orientált programozás
Az algoritmuskészítés alapjai
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.
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
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.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Utasítás és blokk. Elágazás típusai, alkalmazása Kovács.
Programozás alapjai Készítette: Csiszár Nóra Anita
Programozási alapok.
Informatikai gyakorlatok 11. évfolyam
Kifejezések C#-ban.
Algoritmizálás.
Programozás C# -ban Elágazások.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Bevezetés a programozásba Algoritmikus gondolkodás
Programozási nyelvek alapfogalmai
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Algoritmusok Az algoritmus fogalma:
ITERÁCIÓ.
Algoritmusok szerkezete
Informatikai gyakorlatok 11. évfolyam
Algoritmus készítés.
Algoritmusok.
Előadás másolata:

Algoritmusok

Algoritmus fogalma: Egy feladat megoldására szolgáló egyértelműen előírt módon és sorrendben végrehajtandó véges tevékenységsorozat, mely véges idő alatt befejeződik. A tevékenység matematikai művelettől kezdve tetszőleges számítási, gyártási vagy technológiai művelet lehet.

Az algoritmus egy feladat minden eshetőségre felkészített megoldásmenete. Műveletek tartalmát és sorrendjét meghatározó egyértelmű utasításrendszer, amely a megfelelő kiinduló adatokból a kívánt eredményre vezet. Egy probléma megoldásának véges számú lépésben történő egyértelmű és teljes leírása.

Az algoritmus tulajdonságai: Végrehajtható minden lépése egy elemi utasítás vagy további algoritmus egy és csak egy felé haladhatunk tovább (meghatározott sorrend) véges számú lépésben véget ér

Fogalmak: Változó: olyan mennyiség, amely az algoritmus végrehajtása során megváltozik. Konstans: olyan mennyiség, amely az algoritmus végrehajtása során nem változik meg. (, ) Azonosító: olyan jelsorozat, amellyel a változó tartalmára hivatkozhatunk, és megváltoztathatjuk azt.

Értékadás: az a művelet, melynek során a változó új értéket kap, megváltozik. Vnév := kif (kifejezés) Kezdőérték: a változó és a konstans induló értéke a start pontban Deklaráció: algoritmus azon pontja, ahol a változót először elhelyezzük.

Definiált: egy változó definiált, ha értékadás művelet bal oldalán már szerepelt (vagy billentyűzetről kapott értéket) Pl: A := 15 Definiálatlan: egy változó definiálatlan, ha nem definiált.

A változók tulajdonságai: Név (azonosító): csak az angol abc betűivel, vagy _-lel kezdődhet (aláhúzásjellel) betűből, számjegyekből, _-ből állhat szóközt és egyéb speciális jelet nem tartalmazhat a kis és nagybetűk nem különböznek egymástól (Algoritmusnál igaz. A C nyelvben már nem igaz.) hossza minimum 1, maximum bármennyi karakter

Típus: A típus meghatározza, hogy milyen műveletek végezhetőek a változóval. Logikai Szám egész valós Karakter (betű, számjegy, speciális írásjel) Szöveg (karakterlánc)

Érték: A típus meghatározza az értéket. Pl: Boolean:logikai igaz vagy hamis Integer: egész -…+ Real: valós -…+ (törtek is) Char: karakter a, 6, x, ? String: szöveg alma,almafára mászott,a

Típusok műveletei: Logikai: Not And Or Xor hasonlítás: =  Valós: + - * / =    = = Egész: + - * =    = = %(maradékos osztás maradéka String: + =    = = Karakter: =    = =

Logikai alapfogalmak

Logikai alapfogalmak: A feltételek logikai típusúak. Két végeredményük lehet: igaz vagy hamis. (igen, nem) Minden állításnak létezik tagadása. Bármely állítás és tagadása közül csak az egyik igaz.

Igazságtáblázatok: Logikai műveletek: logikai feltételek összekapcsolására szolgálnak. Tagadás művelete (NOT):

És művelet (AND):

Vagy művelet (OR):

Kizáró vagy művelet (XOR):

Általános igazságok: A AND NOT A  hamis A OR NOT A  igaz A AND igaz  A A AND hamis  hamis A OR igaz  igaz A OR hamis  A NOT (NOT A)  A

De Morgan tételek: NOT (A and B) = NOT A or NOT B NOT (A or B) = NOT A and NOT B

Tevékenységszerkezetek

Tevékenységek:. - elemi művelet: a végrehajtó. megérti, végrehajtja Tevékenységek: - elemi művelet: a végrehajtó megérti, végrehajtja - összetett művelet: tovább kell bontani elemi tevékenységekre

1. szekvencia: elemi utasítások sorban, egymás utáni végrehajtása 2. szelekció – elágazás: feltételtől függő teljesítés - egyszerű elágazás: ha feltétel akkor utasítás

- összetett elágazás: - kettős elágazás: ha feltétel akkor utasítás1 különben utasítás2 - többszörös elágazás: elágazás ha feltétel1 akkor utasítás1 ha feltétel2 akkor utasítás2 …. ha feltételn akkor utasításn [egyébként utasításm] elágazás vége

Az utasítások közül legfeljebb 1 hajtódik végre. Ha van egyébként rész, akkor biztosan 1 hajtódik végre. Ha több feltétel is teljesül, akkor a sorrend dönt.

3. ciklus – iteráció: tevékenységcsoport (ciklusmag=CM) ismételt végrehajtása - elöltesztelő ciklus: ciklus amíg feltétel (-ciklusvezérlő feltétel) utasítás1 utasítás2 Ciklusmag (CM) … utasításn ciklus vége

A feltétel kiértékelésekor a végrehajtó megvizsgálja, hogy igaz-e a feltétel. Ha igaz, akkor a ciklusmagot végrehajtja. Vizsgál, végrehajt: ha a feltétel első alkalommal hamis, akkor a CM egyszer sem hajtódik végre.

ismételd hátultesztelő ciklus: utasítás1 utasítás2 Ciklusmag (CM) … utasításn amíg feltétel

Végrehajt, vizsgál: ha a feltétel igaz, akkor újból végrehajtódik a CM. Legalább 1-szer biztos, hogy végrehajtódik a CM. Bizonyos esetekben nem hajtható végre az algoritmus, ilyen esetekben nem használható a hátultesztelő ciklus.

- számláló ciklus: ciklus ciklusváltozó := kezdőérték-től végérték-ig utasítások ciklus vége Ciklusváltozó felveszi a kezdőértéket, ha ez <= mint a végérték, akkor végrehajtja a CiklusMagot, majd a ciklusváltozó értéke automatikusan növekszik 1-gyel