AZ ALGORITMUS. az eredményt szolgáltatja

Hasonló dokumentumok
Java programozási nyelv

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Programozás alapjai (ANSI C)

Algoritmusok. Hogyan csináljam?

Programozási alapismeretek 1. előadás

Algoritmus fogalma. Mi az algoritmus? HF: Al Khwarizmi. Egy adott probléma megoldásának leírása elemi lépések sorozatával

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Bevezetés az informatikába

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.

ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK

Programozási alapismeretek. 1. előadás. A problémamegoldás lépései. A programkészítés folyamata. Az algoritmus fogalma. Nyelvi szintek.

Programozás alapjai 1.Gy: Algoritmizálás P R O

Algoritmusok. Dr. Iványi Péter

Algoritmusok tervezése

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

Algoritmusok, adatszerkezetek, objektumok

Algoritmizálás és adatmodellezés tanítása 1. előadás

B I T M A N B I v: T M A N

Programkonstrukciók A programkonstrukciók programfüggvényei Levezetési szabályok. 6. előadás. Programozás-elmélet. Programozás-elmélet 6.

Algoritmizálási feladatok

Nézzük tovább a lexikai egységeket!

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

Webprogramozás szakkör

ALGORITMUSOK, ALGORITMUS-LEÍRÓ ESZKÖZÖK

A C# programozási nyelv alapjai

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

Mintafeladat válogatás

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

2015. őszi kiadás 19. szám

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Bevezetés a programozásba I.

Programozási tételek. PPT 2007/2008 tavasz.

Neumann János Számítógép-tudományi Társaság Programozás, robotprogramozás szakkör Három félév 3 * 8 foglalkozás

Vezérlési szerkezetek

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin

Mintafeladat válogatás

Programozási Módszertan definíciók, stb.

Adminisztrációs feladatok Strukturált programok A C programnyelv elemei

Az algoritmusok alapelemei

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE. Szekvenciális programok kategóriái. Hoare-Dijkstra-Gries módszere

PROGRAMOZÁSMÓDSZERTAN I

DEMING 14 pontja. Dr. Topár József A célok állandósága. 2. Új filozófia megteremtése. 3. A vizsgálatok tömegétől való függés megszüntetése

Webprogramozás szakkör

START. Billentyűzár ki. Üss be egy számot. Beütöttem az összes számot. Hívás. Várakozás. felveszik. Beszélek. Befejezem a beszélgetést.

B I T M A N B I v: T M A N

Gyakorló feladatok az 1. nagy zárthelyire

I. Specifikáció készítés. II. Algoritmus készítés

Programtervezés. Dr. Iványi Péter

Egyszerű programozási tételek

Információtartalom vázlata

PROGRAMKÉSZÍTÉS LÉPÉSEI, PROGRAMOZÁSI ELVEK

29. Visszalépéses keresés 1.

Bevezetés a programozásba. 5. Előadás: Tömbök

AZ ALGORITMUSRÓL. (bevezetés a programozáshoz)

OOP #1 (Bevezetés) v :39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.

RSA algoritmus. P(M) = M e mod n. S(C) = C d mod n. A helyesség igazoláshoz szükséges számelméleti háttér. a φ(n) = 1 mod n, a (a 1,a 2,...

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok

Témakörök. Szoftverfejlesztés: Algoritmizálás: Programozási nyelvek:

I. ALAPALGORITMUSOK. I. Pszeudokódban beolvas n prim igaz minden i 2,gyök(n) végezd el ha n % i = 0 akkor prim hamis

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha

Programozás 7.o Az algoritmus fogalma (ismétlés)

MATEMATIKA ÍRÁSBELI VIZSGA május 5.

INFORMATIKAI ALAPISMERETEK

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

Algoritmizálás, adatmodellezés tanítása 6. előadás

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

MT Algoritmusok és V Algoritmusok és isual Basic programoz ás alapjai isual Basic programoz Algoritmus Muhammad Ibn Músza Al-Hvárizmi

Informatikus informatikus Térinformatikus Informatikus T 1/9

A rész (30 pont) A.1. Vajon mit csinál? (5 pont) A generál(n) algoritmus egy n természetes számot dolgoz fel (0 < n < 100).

Kiterjesztések sek szemantikája

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs

Algoritmikus gondolkodás

Osztott rendszer. Osztott rendszer informális definíciója

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Algoritmizálás, adatmodellezés 1. előadás

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

Pásztor Attila. Algoritmizálás és programozás az emeltszintű érettségin

1. A matematikai logika alapfogalmai. 2. A matematikai logika műveletei

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

A KÓDOLÁS TECHNIKAI ELVEI

Informatika tanítási módszerek

Algoritmizálás + kódolás C++ nyelven és Pascalban

Scratch bevezető foglalkozás Scratch bevezető foglalkozás

A fealdatot két részre osztjuk: adatstruktúrára és vezérlőre

Python bevezető foglalkozás Python bevezető foglalkozás

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs

Összetett programozási tételek

Haladó rendezések. PPT 2007/2008 tavasz.

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldás

Számelmélet Megoldások

1. Mit nevezünk egész számok-nak? Válaszd ki a következő számok közül az egész számokat: 3 ; 3,1 ; 1,2 ; -2 ; -0,7 ; 0 ; 1500

Tájékoztató. Használható segédeszköz: számológép

1. Jelölje meg az összes igaz állítást a következők közül!

Átírás:

ALGORITMUSOK

AZ ALGORITMUS Az algoritmus problémamegoldásra szolgáló elemi lépések olyan sorozata, amely a következő jellemzőkkel bír: Véges: véges számú lépés után befejeződik, és eredményt szolgáltat Egyértelmű: a lépések sorozatát úgy határozzuk meg, hogy bármely végrehajtott lépés után egyértelműen adódik a következő Determinisztikus: ugyanazon kiindulási adatokra tetszőleges végrehajtás eseténugyanazt az eredményt szolgáltatja Teljes: nemcsak egy konkrét esetre alkalmazható, hanem az összes azonos jellegű feladatra.

A TELEFONÁLÁS ALGORITMUSA Vedd le a kagylót Ha van vonal, kezdődhet a tárcsázás, ha nincs Tárcsázás a szabályoknak megfelelően Ha felveszik, lehet beszélgetni, ha nem, akkor Ha befejeztük a telefonálást, tegyük vissza a kagylót

ALGORITMUS LEÍRÓ ESZKÖZÖK Folyamatábra: grafikus elemeket tartalmazó eszköz, amely az algoritmus szerkezetét, a lépések sorrendjét, folyamatát áttekinthetővé teszi. Leíró nyelv: mondatszerű, könnyen átírható magas szintű program nyelvre. Struktogram

Laci te, Hallod-e? Jer ide, Jer, ha mondom, Rontom-bontom, Ülj meg itten az ölemben, De ne moccanj, mert különben Meg talállak csípni, Igy ni! Ugye fáj? Hát ne kiabálj. Szájadat betedd, S nyisd ki füledet, Nyisd ki ezt a kis kaput; Majd meglátod, hogy mi fut Rajta át fejedbe... Egy kis tarka lepke. Tarka lepke, kis mese, Szállj be Laci fejibe. Volt egy ember, nagybajúszos. Mit csinált? elment a kúthoz. De nem volt viz a vederbe, Kapta magát, telemerte. És vajon minek Meritette meg Azt a vedret? Tán a kertet Kéne meglocsolnia? Vagy ihatnék?... nem biz a. Telt vederrel a kezében A mezőre ballag szépen, Ott megállt és körülnézett; Ejnye vajon mit szemlélhet? Tán a fényes délibábot? Hisz olyat már sokat látott... Vagy a szomszéd falu tornyát? Hisz azon meg nem sokat lát... Vagy tán azt az embert, Ki amott a kendert Áztatóba hordja? Arra sincsen gondja. Mire van hát? Ebugattát! Már csak megmondom, mi végett Nézi át a mezőséget, A vizet mért hozta ki? Ürgét akar önteni. Ninini: Ott az ürge, Hű, mi fürge, Mint szalad! Pillanat, S odabenn van, Benn a lyukban. A mi emberünk se rest, Odanyargal egyenest A lyuk mellé, S beleönté A veder vizet; Torkig tele lett. A szegény kis ürge Egy darabig türte, Hanem aztán csak kimászott, Még az inge is átázott. A lyuk száján nyakon csipték, Nyakon csipték, hazavitték, S mostan... Itt van... Karjaimban, Mert e fürge Pajkos ürge Te vagy, Laci, te bizony!

ALGORITMUS TERVEZÉSE Megbízható algoritmust kizárólag módszeres tervezéssel készíthetünk. Adatok tervezése Folyamat tervezése Az algoritmus tervezésénél vegyük figyelembe a megoldás hatékonyságát, bonyolultságát Az algoritmust bontsuk szét részalgoritmusokra, amelyek egy kisebb probléma megoldására szolgálnak, majd ezekből építsük fel a programunkat!

MODULÁRIS PROGRAMOZÁS Ha egy nagyobb problémát kell megoldani, osszuk fel részfeladatokra (modulok), ezeket oldjuk meg, majd ezekből illesszük össze a programot! A moduláris programozás egy olyan módszer, ahol az egyes modulok ellátják a rájuk eső részfeladatot, és könnyen csatlakoznak a környezetükhöz!

STRUKTÚRÁLT PROGRAM Szekvencia: Egymás után végrehajtandó tevékenységek sorozata Szelekció: Választás megadott tevékenység közül Iteráció: Megadott tevékenységek ismételt végrehajtása. Ha egy algoritmus csak a fent említett három elemből építkezik, akkor struktúrált programnak nevezzük!

ELEMI SZERKEZETEK: SZEKVENCIA Az alapelemekből három elemi szerkezetet állítunk össze Szekvencia A szekvencia elemi vagy összetett utasítások, adat be- és kivitelek egymásutánját jelenti. Kattintásra tovább 9

ELEMI SZERKEZETEK: SZELEKCIÓ Szelekció vagy elágazás i h feltétel A szelekció, vagy elágazás akkor szükséges, ha két teendő közül kell választanunk. A választást egy feltétel teszi lehetővé. A feltétel egy logikai kifejezés, egy állítás, ami a folyamatábra adott pontján egyértelműen eldönthetően igaz vagy hamis. A feltétel igaz vagy hamis voltától függően az igaz vagy a hamis ágon folytatjuk a feldolgozást. Több elágazás egymásutánjával többszörös választások is megvalósíthatók. Kattintásra tovább 10

ELEMI SZERKEZETEK: ITERÁCIÓ Iteráció vagy ciklus h feltétel i ciklusmag ciklusmag feltétel i h Az iteráció vagy ismétlés egy feladat (a ciklusmag) többszöri végrehajtását teszi lehetővé. Az ismétlések számát egy feltétel szabályozza. A feltétel és a ciklusmag egymáshoz viszonyított helyzetétől függően beszélünk előfeltételes és végfeltételes ciklusról. Az előfeltétel a ciklusmag végrehajtásának feltétele, a végfeltétel a ciklus befejezésének feltétele. Előfeltételes ciklus magja nem biztos,végfeltételes ciklusé legalább egyszer feldolgozásra kerül. Kattintásra tovább 11

BÖHM ÉS JACOPINI TÉTELE A szekvencia, szelekció és iteráció segítségével minden olyan algoritmus felépíthető, melynek egy belépési és kilépési pontja van!

FOLYAMATÁBRA ESZKÖZEI Start Stop Értékadás Ki: kiírandó szöveg Be: tároló (változó) Ciklus Feltétel Részalgoritmus, modul

FOLYAMATÁBRA START x=1; y=2; Z:=x+y; Z<0 Ki: Az összeg pozitív Ki: Az összeg negatív STOP

A PROBLÉMA-MEGOLDÁS LÉPÉSEI 1. A feladat megfogalmazása 2. Elemzés, tervezés, szervezés 3. Programtervezés, algoritmuskészítés 4. Programozás, kódolás 5. A programok tesztelése, hangolása 6. Dokumentálás 7. A rendszer bevezetése, üzemszerű használata

FELADATOK Készítsd el folyamatábrával a következő algoritmusokat: Téglalap kerületét, területét számító algoritmus Egy bekért számról döntse el az algoritmus, hogy az pozitív vagy negatív! Kérjünk be két számot és a nagyobbikat írjuk ki! Írja ki ötször a nevünket! Kérje be egy tetszőleges háromszög oldalait, majd döntse el, hogy megszerkeszthető-e a háromszög.