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.

Slides:



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

Az algoritmus.
Programozási feladatok
Összefoglalás Hardver,szoftver,perifériák Memóriák fajtái
Algoritmusok.
Adatelemzés számítógéppel
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
Kifejezések, operandusok, operátorok
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
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.
Benczúr Zsolt VBA gyorstalpaló Benczúr Zsolt
Programozás alapjai.
Algoritmusok Az algoritmus fogalma:
C A C nyelv utasításai.
Jt Java Kifejezések,precedencia. jt 2 Egy kifejezés operandusokból és operátorokból (műveletekből) áll. A kifejezésben szerepelhet egy vagy több operandus,
Programozás módszertan
Java programozási nyelv 2. rész – Vezérlő szerkezetek
Algoritmusok Tusnádi István
1 Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat 1. Bevezetés Miskolc, 2004.
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Programozás I. Ciklusok
A problémamegoldás lépései
Ismétlés A pascal program szerkezete: program programnev; Programfej
Ismétlés.
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.
ALGORITMUSOK.
Tömbök és programozási tételek
Algoritmusok és készítésük
Ciklusok (iterációk).
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.
Algoritmusok.
Algoritmus szerkezetek
Nevezetes algoritmusok
Algoritmusok.
Az algoritmuskészítés alapjai
ProgramozásProgramozás célja hosszabb számítások elvégzése ill. kiíratása akkor érdemes programot írni, ha sok számolni való van illetve ha ugyanazt az.
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.
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.
1 BME VBK KROMATOGRÁFIÁS SZAKANALITIKUS KÉPZÉS INFORMATIKA (SZÁMÍTÁSTECHNIKA) dec. 2. Access „elmaradás” - a Beszall_forg lekédezés elkészítése:
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.
1 Mivel foglalkoz(t)unk a laborokon? 1.Labor: Word alapok Excel alapok: Excel alapok: Cellahivatkozás, munkalapfüggvény, diagram varázsló, trendvonal 2.
Algoritmus Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században élt perzsa tudós nevének pontatlan.
Programozás alapjai Készítette: Csiszár Nóra Anita
Algoritmusok Tusnádi István
Programozási alapok.
Kifejezések C#-ban.
Algoritmizálás.
Példa: Dinteger = {..., -1,0,1,...}; Dboolean = {true, false};
Bevezetés a programozásba Algoritmikus gondolkodás
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.
Előadás másolata:

3.3. Algoritmusok fogalma, algoritmuskészítés módszerei leírónyelvek Folyamatábrázolási módszerek

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 megoldásához milyen műveleteket kell meghatározott sorrendben elvégezni Lépés: Közvetlenül elvégezhető (program utasítássá átírható) vagy algoritmusként kezelhető elem

Az algoritmussal szemben támasztott követelmények: Leírónyelv (szabványosított) Egyértelmű eredményt szolgáltasson Jól meghatározott értelmezési tartomány Helyes Véges lépésszámon belül érjen véget Általános: ne csak egy konkrét feladatot oldjon meg, hanem lehetőleg minél szélesebb problémaosztályt

Az algoritmusok leírásának eszközei: Folyamatábra Struktogram Mondatszerű leírás

Cél: A feladatok megoldásainak leírása programozási nyelvtől független nyelven. Példafeladatunk: N tanuló év végi tanulmányi átlagának ismeretében adjuk meg a jeles átlagú tanulók számát.

1. Folyamatábra Legkorábbi A programot gráfként írja le A programgráf egy irányított gráf: csomópontokból, és őket összekötő élekből áll. Egyetlen kiinduló és egyetlen befejező éle van. Az induló élből bármely csomópont elérhető, s bármely csomópontból el lehet jutni a befejező élre.

Háromféle csomópont: Utasítás csomópont (függvény csp) Döntés csp Gyűjtő csp Program: A fenti három csomópontból felépített gráf. Végrehajtás: A programgráf csomópontjainak bejárása irányított élek mentén

igaz hamis START feltétel BE: változó KI: változó ciklusmag Változó:= kifejezés feltétel

Algoritmus struktúrák (elemei) Szekvencia: egymás után végrehajtandó tevékenységek sorozata Elágazás (szelekció): feltételes elágazások, választás megadott tevékenységek közül Ciklus (iterációk): megadott tevékenységek ismételt végrehajtása. A ciklusmagot nullaszor, egyszer vagy sokszor hajtjuk végre a ciklus feltételétől függően. Definició: Strukturáltnak nevezzük azt a programot, amely csak a fenti három algoritmus szerkezetet tartalmazza.

Előnye: Az algoritmus végrehajtása könnyen követhető rajta Hátránya: Terjedelmes Szövegszerkesztővel nehezen készíthető Javítása nehézkes Nagy program esetén áttekinthetetlen Nem szabályos struktúrák is létrehozhatóak vele

Egyéb csomópontok: 4. Start csomópont 5. Stop csomópont 6. Input-output csomópont 7. Ciklus csomópont Példafeladat

2. Struktogram A programgráfot élek nélkül ábrázoljuk, így alapeleme: Alapszerkezetei: Szekvencia Szelekció Iteráció (elöl tesztelő!) Utasítás

Minden utasítás doboz helyén állhat: Egyetlen utasítás A három algoritmus szerkezet valamelyike Eljáráshívás Egyéb szerkezetek: Eljárás definíció Sokirányú elágazás Hátul tesztelő ciklus

1. utasítás 2. utasítás Feltétel Igen Nem 1. utasítás 2. utasítás Ciklusmag Feltétel Ciklusmag Ciklusváltozó=…tól…ig Ciklusmag

Jackson diagramm Adat és algoritmus szerkezet leírására egységes ábrakészletet definiál. Jackson féle jelölés: Funkcionális leírás (pszeudokód): -szekvencia: A seq B C A end -szelekció: A select F F B A or (not F) A B C A B º C º

Algoritmus és adatleírás egységessége Hátránya: -iteráció: A iter while F B A end F Előnye: Algoritmus és adatleírás egységessége Hátránya: Még áttekinthetetlenebb A B *

Leírás absztrakt függvényekkel Matematikai eszköz, formulákkal írja le a programot. Elemei: Szekvencia: P=SEQ(Q,R) Elágazás: P=IF(f,Q,R) Ciklus: P=DO(f,Q) vagy P=UNTIL(Q,f) f: logikai formula Q,R: utasítás

3. Leírás mondatszerű elemekkel Elemei: mondatszerű elemek Előnye: Csak struktúrált elemeket tartalmaz Beolvasás, kiíratás: BE: …felsorolás …{változónév} KI: …felsorolás …{változónév} Szelekció: -egyágú szelekció: Ha feltétel akkor utasítás Elágazás vége -kétágú szelekció: Ha feltétel akkor utasítás 1 egyébként utasítás 2

feltétel 1 esetén utasítás 1 feltétel 2 esetén utasítás 2 : -többágú szelekció: Elágazás feltétel 1 esetén utasítás 1 feltétel 2 esetén utasítás 2 : feltétel n esetén egyébként utasítás n+1 Elágazás vége Iteráció: -Számláló: Ciklus cv= kezdet-től vég-ig n-esével ciklusmag Ciklus vége -Elöl tesztelő: Ciklus amíg feltétel

- Hátultesztelő: Ciklus ciklusmag Amíg feltétel Ciklus vége Program, eljárás illetve függvény leírása: Program: utasítások Program vége. Eljárás Eljárásnév (formális paraméterlista): Eljárás vége. Függvény Függvénynév (formális paraméterlista): típus függvénynév:=kifejezés Függvény vége.

Adatleírás: Változók: Változó név : típus pl.: Változó szám : egész Konstansok: Konstans név : típus (kezdőérték) pl.: Konstans szám : egész(7) Típusok: Típus típusnév = (struktúra) pl.: Típus TömbTíp = Tömb(1..10 : egész)

Értékadások: Változó név := kifejezés Kifejezés kiértékelése: Precedencia sorrend: Függvények 1 operandusú kifejezések 2 operandusú kifejezések Relációk Mindvégig a balról-jobbra haladást követjük, melyet a zárójelezés módosíthat. pl. 3 + 5 * 4 - sqrt(3) > 7 + (2 - 4^2)

A műveletek lehetnek: Unáris (egy operandusú) pl.: -7 Bináris (két operandusú) pl.: 4+2 Az operátorok elhelyezkedése alapján: Prefix: A műveleti jel az operandus előtt van Postfix: A műveleti jel az operandus után van Infix: A műveleti jel az operandusok között helyezkedik el.

Feladatok Döntsd el egy számról, hogy páros-e! Döntsd el, három szakaszról, hogy szerkeszthető-e belőle háromszög! 100 beolvasott szám között hány páros van? Olvass be számokat addig, míg összegük el nem éri 100-at. 10 véletlen szám összege, vagy szorzata nagyobb? Döntsd el egy számról, hogy prím-e! Add meg egy szám összes osztóját!