Egyszerű programozási tételek
|
|
- Pál Biró
- 9 évvel ezelőtt
- Látták:
Átírás
1 Egyszerű programozási tételek 2. előadás Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 15. Sergyán (OE NIK) AAO szeptember / 37
2 Felhasznált irodalom Szlávi Péter, Zsakó László: Módszeres programozás: Programozási tételek (Mikrológia 19). ELTE TTK, 2002 Sergyán (OE NIK) AAO szeptember / 37
3 Programozási tételek A programozási tételek jól megválasztott, egyszerű feladatok megoldásai Segítségükkel a gyakorlatban szükséges feladatok jelentős része megoldható Helyességük egyszerűen bizonyítható Használatuk célszerű, hiszen (mások által is) jól áttekinthető kódot eredményeznek Egy lehetséges csoportosításuk Egy sorozathoz egy értéket rendelő feladatok Egy sorozathoz egy sorozatot rendelő feladatok Egy sorozathoz több sorozatot rendelő feladatok Több sorozathoz egy sorozatot rendelő feladatok Feldolgozandó intervallum alapján megkülönböztetünk Rögzített intervallumos programozási tételeket Feltételig tartó programozási tételeket (ezeket a változatokat nem tárgyaljuk) Sergyán (OE NIK) AAO szeptember / 37
4 Tömbök Azonos típusú adatokat tárolunk egymás mellett Tömböt alkotó adatok az elemek Az elemekre a tömb indexével hivatkozunk Jelölés: A[i] Ha a tömbnek egy indexe van, akkor egydimenziós tömb: vektor Ha a tömbnek két indexe van, akkor két dimenziós tömb: mátrix Index egész számok sorozata (nullától) vagy egytől Tárolás sorfolytonosan, elemek egymást követően Sergyán (OE NIK) AAO szeptember / 37
5 Tömbök feldolgozása A tömbök feldolgozása általában ciklusokkal történik Ha a tömb minden egyes elemét feldolgozzuk: számláló ciklus Ha a tömb elemein valamilyen tulajdonság meglétét vizsgáljuk: előlvagy hátultesztelő ciklus Sergyán (OE NIK) AAO szeptember / 37
6 Egyszerű programozási tételek 1 Sorozatszámítás 2 Eldöntés 3 Kiválasztás 4 Lineáris keresés 5 Megszámlálás 6 Maximumkiválasztás Sergyán (OE NIK) AAO szeptember / 37
7 Egyszerű programozási tételek 1 Sorozatszámítás 2 Eldöntés 3 Kiválasztás 4 Lineáris keresés 5 Megszámlálás 6 Maximumkiválasztás Sergyán (OE NIK) AAO szeptember / 37
8 Sorozatszámítás Típusfeladatok 1 Egy osztály N darab tanulójának osztályzata alapján adjuk meg az osztály átlagát. 2 Egy M elemű betűsorozat betűit fűzzük össze egyetlen szöveg típusú változóba. 3 Készítsünk algoritmust, amely egy autóversenyző körönkénti ideje alapján meghatározza a versenyző egy kör megtételéhez szükséges átlagidejét. 4 A Balaton mentén K darab madarász végzett megfigyeléseket. Mindegyik megadta, hogy milyen madarakat látott. Készítsünk algoritmust, amely a megfigyelések alapján megadja a Balatonon előforduló madárfajokat. 5 Adjuk meg az első N természetes szám szorzatát. Sergyán (OE NIK) AAO szeptember / 37
9 Sorozatszámítás Bemenet A: Feldolgozandó tömb N: Tömb elemeinek száma Kimenet R: Művelet eredménye Pszeudokód Eljárás Sorozatszámítás(A, N, R) R := R 0 Ciklus i := 1-től N-ig R := R művelet A[i] Ciklus vége Eljárás vége Sergyán (OE NIK) AAO szeptember / 37
10 Sorozatszámítás Megjegyzések Adatok sorozatához egy értéket rendelő függvényt helyettesít Minden olyan esetben használható, ha ezt a függvényt felbonthatjuk értékpárokon kiszámított függvények sorozatára Az induláskor használt nullértéket értelemszerűen a kérdéses függvény (esetleg a feladat) alapján kell megválasztani összegzés faktoriális elemek uniója R { } művelet R := R + A[i] R := R A[i] R := R A[i] Sergyán (OE NIK) AAO szeptember / 37
11 Sorozatszámítás Összegzés Eljárás Összegzés(N, X, S) S := 0 Ciklus i = 1-től N-ig S := S + X [i] Ciklus vége Eljárás vége Sergyán (OE NIK) AAO szeptember / 37
12 Egyszerű programozási tételek 1 Sorozatszámítás 2 Eldöntés 3 Kiválasztás 4 Lineáris keresés 5 Megszámlálás 6 Maximumkiválasztás Sergyán (OE NIK) AAO szeptember / 37
13 Eldöntés Típusfeladatok 1 Döntsük el egy számról, hogy prímszám-e. 2 Döntsük el egy szóról a hónapnevek sorozata alapján, hogy egy hónap neve-e. 3 Döntsük el egy tanuló év végi osztályzatai alapján, hogy kitűnő tanuló-e. 4 Júniusban minden nap délben megmértük, hogy a Balaton Siófoknál hány fokos. Döntsük el a mérések alapján, hogy a víz hőfoka folyamatosan emelkedett-e. Sergyán (OE NIK) AAO szeptember / 37
14 Eldöntés Bemenet A: Feldolgozandó tömb N: Tömb elemeinek száma T : Tulajdonság függvény Kimenet VAN: Logikai változó Pszeudokód Eljárás Eldöntés(A, N, T, VAN) i := 1 Ciklus amíg (i N) és (A[i] teljesíti T -t) i := i + 1 Ciklus vége VAN := (i N) Eljárás vége Sergyán (OE NIK) AAO szeptember / 37
15 Eldöntés Megjegyzések A T tulajdonság helyes megválasztásával a tétel sokféle szituációban alkalmazható A minden elem T tulajdonságú feladatot egyszerűen visszavezethetjük az eldöntésre a T tulajdonság tagadásával A sorozatszámításnál megismert módszerrel ellentétben ez az algoritmus az első T tulajdonságú elem megtalálása után már nem folytatja a keresést Sergyán (OE NIK) AAO szeptember / 37
16 Eldöntés Prím teszt Eljárás Eldöntés(N, PRIM) i := 2 Ciklus amíg (i N 1) és (i osztója N-nek) i := i + 1 Ciklus vége PRIM := (i > N 1) Eljárás vége Sergyán (OE NIK) AAO szeptember / 37
17 Eldöntés Monoton növekedés Eljárás Eldöntés(N, X, MONOTON) i := 1 Ciklus amíg (i N 1) és (X [i] X [i + 1]) i := i + 1 Ciklus vége MONOTON := (i > N 1) Eljárás vége Sergyán (OE NIK) AAO szeptember / 37
18 Egyszerű programozási tételek 1 Sorozatszámítás 2 Eldöntés 3 Kiválasztás 4 Lineáris keresés 5 Megszámlálás 6 Maximumkiválasztás Sergyán (OE NIK) AAO szeptember / 37
19 Kiválasztás Típusfeladatok 1 Ismerjük egy hónap nevét, a hónapnevek sorozata alapján mondjuk meg a sorszámát. 2 Adjuk meg egy egynél nagyobb természetes szám legkisebb, 1-től különböző osztóját. 3 A naptárban található névnapok alapján adjuk meg a legjobb barátunk névnapját. Sergyán (OE NIK) AAO szeptember / 37
20 Kiválasztás Bemenet A: Feldolgozandó tömb N: Tömb elemeinek száma T : Tulajdonság függvény Kimenet SORSZ: Első T tulajdonságú elem indexe Pszeudokód Eljárás Kiválasztás(A, N, T, SORSZ) i := 1 Ciklus amíg (A[i] teljesíti T -t) i := i + 1 Ciklus vége SORSZ := i Eljárás vége Sergyán (OE NIK) AAO szeptember / 37
21 Kiválasztás Megjegyzések Az eldöntéssel ellentétben ez visszaadja az első T tulajdonságú elem sorszámát A tétel feltételezi, hogy biztosan van legalább egy ilyen tulajdonságú elem Sorszám helyett visszaadhatjuk az elem értékét is, de célszerűbb a sorszám használata (ez alapján az elem is egyszerűen meghatározható) Sergyán (OE NIK) AAO szeptember / 37
22 Kiválasztás Legjobb barát névnapja Eljárás Kiválasztás(N, X, BARAT, NAP) i := 1 Ciklus amíg (X [i].nev BARAT ) i := i + 1 Ciklus vége NAP := X [i].nevnap Eljárás vége Sergyán (OE NIK) AAO szeptember / 37
23 Egyszerű programozási tételek 1 Sorozatszámítás 2 Eldöntés 3 Kiválasztás 4 Lineáris keresés 5 Megszámlálás 6 Maximumkiválasztás Sergyán (OE NIK) AAO szeptember / 37
24 Lineáris keresés Típusfeladatok 1 Ismerjük egy üzlet egy havi forgalmát: minden napra megadjuk, hogy mennyi volt a bevétel és mennyi a kiadás. Adjunk meg egy olyan napot ha van, amelyik nem volt nyereséges. 2 A Budapest-Nagykanizsa vasúti menetrend alapján két adott állomáshoz adjunk meg egy olyan vonatot, amellyel el lehet jutni átszállás nélkül az egyikről a másikra. 3 Egy tetszőleges (nem 1) természetes számnak adjuk meg egy osztóját, ami nem az 1 és nem is önmaga. Sergyán (OE NIK) AAO szeptember / 37
25 Lineáris keresés Bemenet A: Feldolgozandó tömb N: Tömb elemeinek száma T : Tulajdonság függvény Kimenet VAN: Logikai változó SORSZ: Első T tulajdonságú elem indexe Pszeudokód Eljárás Keresés(A, N, T, VAN, SORSZ) i := 1 Ciklus amíg (i N) és (A[i] teljesíti T -t) i := i + 1 Ciklus vége VAN := (i N) Ha VAN akkor SORSZ := i Elágazás vége Eljárás vége Sergyán (OE NIK) AAO szeptember / 37
26 Lineáris keresés Megjegyzések Tekinthető az eldöntés és a kiválasztás tétel ötvözetének is: választ ad arra, hogy van-e T tulajdonságú elem a sorozatban, és ha van, akkor visszaadja a sorszámát is Értelemszerűen így nem feltételezi, hogy biztosan van ilyen elem a listában. Ha nincs, akkor a VAN változó értéke hamis, ilyenkor a SORSZ változó nem kap értéket. Sergyán (OE NIK) AAO szeptember / 37
27 Lineáris keresés Nem nyereséges nap Eljárás Keresés(K, B, N, VAN, SORSZ) i := 1 Ciklus amíg (i N) és (B[i] K[i] > 0) i := i + 1 Ciklus vége VAN := (i N) Ha VAN akkor SORSZ := i Elágazás vége Eljárás vége Sergyán (OE NIK) AAO szeptember / 37
28 Egyszerű programozási tételek 1 Sorozatszámítás 2 Eldöntés 3 Kiválasztás 4 Lineáris keresés 5 Megszámlálás 6 Maximumkiválasztás Sergyán (OE NIK) AAO szeptember / 37
29 Megszámlálás Típusfeladatok 1 Családok létszáma, illetve jövedelme alapján állapítsuk meg, hogy hány család él a létminimum alatt. 2 Egy futóverseny időeredményei alapján határozzuk meg, hogy a versenyzők hány százaléka teljesítette az olimpiai induláshoz szükséges szintet. 3 Adjuk meg egy szöveg magánhangzóinak számát. Sergyán (OE NIK) AAO szeptember / 37
30 Megszámlálás Bemenet A: Feldolgozandó tömb N: Tömb elemeinek száma T : Tulajdonság függvény Kimenet DB: T tulajdonságú elemek száma Pszeudokód Eljárás Megszámlálás(A, N, T, DB) DB := 0 Ciklus i := 1-től N-ig Ha (A[i] teljesíti T -t) akkor DB := DB + 1 Elágazás vége Ciklus vége Eljárás vége Sergyán (OE NIK) AAO szeptember / 37
31 Megszámlálás Megjegyzések Amennyiben nincs T tulajdonságú elem a listában, akkor értelemszerűen 0 kerül a DB változóba Valójában egy sorozatszámítás, amely minden T tulajdonságú elem esetén 1-et hozzáad a DB értékéhez Sergyán (OE NIK) AAO szeptember / 37
32 Megszámlálás Olimpiai indulási szintet teljesítők százalékos aránya Eljárás Megszámlálás(N, ID, SZINT, SZAZ) DB := 0 Ciklus i := 1-től N-ig Ha (ID[i] SZINT ) akkor DB := DB + 1 Elágazás vége Ciklus vége SZAZ := Kerekit(100 DB/N) Eljárás vége Sergyán (OE NIK) AAO szeptember / 37
33 Egyszerű programozási tételek 1 Sorozatszámítás 2 Eldöntés 3 Kiválasztás 4 Lineáris keresés 5 Megszámlálás 6 Maximumkiválasztás Sergyán (OE NIK) AAO szeptember / 37
34 Maximumkiválasztás Típusfeladatok 1 Egy kórházban megmérték minden beteg lázát. Adjuk meg, hogy ki a leglázasabb. 2 Egy család havi bevételei és kiadásai alapján adjuk meg, hogy melyik hónapban tudtak a legtöbbet megtakarítani. 3 Egy osztály tanulóinak nevei alapján adjuk meg a névsorban legelső tanulót. Sergyán (OE NIK) AAO szeptember / 37
35 Maximumkiválasztás Bemenet A: Feldolgozandó tömb N: Tömb elemeinek száma Kimenet MAX : Maximális elem indexe Pszeudokód Eljárás Maximumkiválaztás(A, N, MAX ) MAX := 1 Ciklus i := 2-től N-ig Ha A[i] > A[MAX ] akkor MAX := i Elágazás vége Ciklus vége Eljárás vége Sergyán (OE NIK) AAO szeptember / 37
36 Maximumkiválasztás Megjegyzések Reláció megfordításával értelemszerűen minimumkiválasztás lesz a tétel célja Sorszám helyett visszaadhatjuk az elem értékét is, de célszerűbb a sorszám használata (ez alapján az elem is azonnal meghatározható) Feltételezzük, hogy legalább egy elem létezik a listában Több maximális elem esetén az elsőt adja vissza Sergyán (OE NIK) AAO szeptember / 37
37 Maximumkiválasztás Névsorban legelső tanuló Eljárás Minimumkiválaztás(X, N, MIN, NEV ) MIN := 1 Ciklus i := 2-től N-ig Ha X [MIN] > X [i] akkor MIN := i Elágazás vége Ciklus vége NEV := X [MIN] Eljárás vége Sergyán (OE NIK) AAO szeptember / 37
Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu
Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember
Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs
Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember
Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu
Programozás I. 3. előadás Tömbök a C#-ban Metódusok C#-ban Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Szoftvertechnológia
Összetett programozási tételek
Összetett programozási tételek 3. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 19. Sergyán (OE NIK) AAO 03 2011. szeptember
Programozási tételek. PPT 2007/2008 tavasz.
Programozási tételek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Strukturált programozás paradigma Alapvető programozási tételek Összetett programozási tételek Programozási
Algoritmizálás, adatmodellezés tanítása 1. előadás
Algoritmizálás, adatmodellezés 1. előadás Az algoritmus fogalma végrehajtható (van hozzá végre-hajtó) lépésenként hajtható végre a lépések maguk is algoritmusok pontosan definiált, adott végre-hajtási
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.
Programozási tételek Programozási feladatok megoldásakor a top-down (strukturált) programtervezés esetén három vezérlési szerkezetet használunk: - szekvencia - elágazás - ciklus Eddig megismertük az alábbi
ELEMI PROGRAMOZÁSI TÉTELEK
ELEMI PROGRAMOZÁSI TÉTELEK 1. FELADATMEGOLDÁS PROGRAMOZÁSI TÉTELEKKEL 1.1 A programozási tétel fogalma A programozási tételek típusalgoritmusok, amelyek alkalmazásával garantáltan helyes megoldást adhatunk
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Elemi programozási tételek 1 TÁMOP-4.2.3.-12/1/KONV-2012-0018 Feladataink egy jelentős csoportjában egyetlen bemenő sorozat alapján
Programozási tételek. Dr. Iványi Péter
Programozási tételek Dr. Iványi Péter 1 Programozási tételek A programozási tételek olyan általános algoritmusok, melyekkel programozás során gyakran találkozunk. Az algoritmusok általában számsorozatokkal,
Objektum Orientált Programozás VII.
Objektum Orientált Programozás VII. Összetett programozási tételek Programozási tételek összeépítése Feladatok ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk
Programozási segédlet
Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen
Rendezések. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar október 24.
Rendezések 8. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. október 24. Sergyán (OE NIK) AAO 08 2011. október 24. 1 / 1 Felhasznált irodalom
PROGRAMOZÁSI TÉTELEK
PROGRAMOZÁSI TÉTELEK Összegzés tétele Adott egy N elemű számsorozat: A(N). Számoljuk ki az elemek összegét! S:=0 Ciklus I=1-től N-ig S:=S+A(I) Megszámlálás tétele Adott egy N elemű sorozat és egy - a sorozat
Objektumorientált Programozás VI.
Objektumorientált Programozás Metódusok Paraméterek átadása Programozási tételek Feladatok VI. ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő
Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.
Összetett programozási tételek Sorozathoz sorozatot relő feladatokkal foglalkozunk. A bemenő sorozatot le kell másolni, s közben az elemekre vonatkozó átalakításokat lehet végezni rajta: Input : n N 0,
Bánsághi Anna 2014 Bánsághi Anna 1 of 68
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 3. ELŐADÁS - PROGRAMOZÁSI TÉTELEK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,
Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás OE-NIK, 2013 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk
Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs
Programozás I. 1. előadás: Algoritmusok alapjai Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember 7. Sergyán
Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 3. gyakorlat PLanG: 2011.09.27. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok
Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból
ÜTEMTERV Programozás-elmélet c. tárgyhoz (GEMAK233B, GEMAK233-B) BSc gazdaságinformatikus, programtervező informatikus alapszakok számára Óraszám: heti 2+0, (aláírás+kollokvium, 3 kredit) 2019/20-es tanév
Haladó rendezések. PPT 2007/2008 tavasz.
Haladó rendezések szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Alapvető összehasonlító rendezések Shell rendezés Kupacrendezés Leszámláló rendezés Radix rendezés Edényrendezés
Rekurzív algoritmusok
Rekurzív algoritmusok 11. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. november 14. Sergyán (OE NIK) AAO 11 2011. november 14. 1 / 32 Rekurzív
Programozás II. előadás
Nem összehasonlító rendezések Nem összehasonlító rendezések Programozás II. előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor Óbudai Egyetem,Neumann János Informatikai Kar Programozás II. 2 Rendezés
Algoritmizálás és adatmodellezés tanítása 2. előadás
Algoritmizálás és adatmodellezés tanítása 2. előadás Tartalom Összegzés vektorra, mátrixra Megszámolás vektorra, mátrixra Maximum-kiválasztás vektorra, mátrixra Eldöntés vektorra, mátrixra Kiválasztás
Algoritmizálás, adatmodellezés tanítása 1. előadás
Algoritmizálás, adatmodellezés tanítása 1. előadás Specifikáció A specifikáció elemei bemenet mit ismerünk? kimenet mire vagyunk kíváncsiak? előfeltétel mit tudunk az ismertekről? utófeltétel mi az összefüggés
Bevezetés a programozásba I.
Bevezetés a programozásba I. 3. gyakorlat Tömbök, programozási tételek Surányi Márton PPKE-ITK 2010.09.21. ZH! PlanG-ból papír alapú zárthelyit írunk el reláthatólag október 5-én! Tömbök Tömbök Eddig egy-egy
Adatbázis és szoftverfejlesztés elmélet. Programozási tételek
Adatbázis és szoftverfejlesztés elmélet Témakör 8. 1. Egy sorozathoz egy érték hozzárendelése Az összegzés tétele Összefoglalás Programozási tételek Adott egy számsorozat. Számoljuk és írassuk ki az elemek
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Elemi programozási tételek 2 TÁMOP-4.2.3.-12/1/KONV-2012-0018 Feladataink egy jelentős csoportjában egyetlen bemenő sorozat alapján
Algoritmizálás, adatmodellezés tanítása 2. előadás
Algoritmizálás, adatmodellezés tanítása 2. előadás Programozási tételek Mi az, hogy programozási tétel? Típusfeladat általános megoldása. Sorozat érték Sorozat sorozat Sorozat sorozatok Sorozatok sorozat
Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter
Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot
Rekurzió. (Horváth Gyula és Szlávi Péter előadásai felhasználásával)
Rekurzió (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Rekurzió és iteráció Balrekurzió Ha az eljárás első utasításaként szerepel a rekurzív hívás, akkor a rekurzió lényegében az első nem
Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.
Programozás I. 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2012. szeptember 10. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 1 /
Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):
Python Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása alatt
Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.
Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19. Programkészítés Megrendelői igények begyűjtése Megoldás megtervezése (algoritmuskészítés)
Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)
Adatszerkezetek Nevezetes algoritmusok (Keresések, rendezések) Keresések A probléma általános megfogalmazása: Adott egy N elemű sorozat, keressük meg azt az elemet (határozzuk meg a helyét a sorozatban),
Algoritmusok, adatszerkezetek, objektumok
Algoritmusok, adatszerkezetek, objektumok 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 14. Sergyán (OE NIK) AAO 01 2011.
Térinformatikai algoritmusok Elemi algoritmusok
Cserép Máté 2016. szeptember 14. Analóg programozásnak nevezzük azt, amikor egy feladat megoldásához egy már ismert és megoldott feladat megoldását használjuk fel. Általában nem pontosan ugyanazt a feladatot
Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):
Javascript Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása
Az összetett programozási tételek is egy tőről fakadnak
Az összetett programozási tételek is egy tőről fakadnak Zsakó László 1, Törley Gábor 2, Szlávi Péter 3 1 zsako@caesar.elte.hu, 2 pezsgo@inf.elte.hu, 3 szlavi@elte.hu ELTE IK Absztrakt. A programozás tanulás
Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.
Programozás I. 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2012. szeptember 10. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 1 /
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
1 Információk 2 A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin Elérhetőség mesko.katalin@tfk.kefo.hu Fogadóóra: szerda 9:50-10:35 Számonkérés időpontok Április 25. 9 00 Május 17. 9 00 Június
Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez
Pásztor Attila Algoritmizálás és programozás tankönyv az emeltszintű érettségihez 9. ÖSSZETETT FELADATOK...111 9.1. ELEMI ALGORITMUSOK ÖSSZEÉPÍTÉSE...111 9.2. ÖSSZEFOGLALÁS...118 9.3. GYAKORLÓ FELADATOK...118
Programozási tételek. Jegyzet. Összeállította: Faludi Anita 2012.
Programozási tételek Jegyzet Összeállította: Faludi Anita 2012. Tartalomjegyzék Bevezetés... 3 Programozási tételek... 4 I. Elemi programozási tételek... 4 1. Sorozatszámítás (összegzés)... 4 2. Eldöntés...
Bevezetés a programozásba. 5. Előadás: Tömbök
Bevezetés a programozásba 5. Előadás: Tömbök ISMÉTLÉS Specifikáció Előfeltétel: milyen körülmények között követelünk helyes működést Utófeltétel: mit várunk a kimenettől, mi az összefüggés a kimenet és
Térinformatikai algoritmusok Elemi algoritmusok
Cserép Máté Analóg programozásnak nevezzük azt, amikor egy feladat megoldásához egy már ismert és megoldott feladat megoldását használjuk fel. Általában nem pontosan ugyanazt a feladatot oldottuk meg korábban,
Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek
Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás, rendezések 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok és programozási tételek
Felvételi tematika INFORMATIKA
Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.
1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje
1. Alapfogalmak 1.1. Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt
Egyszerű programozási tételek
Egyszerű programozási tételek Sorozatszámítás Eljárás Sorozatszámítás(N, X, S) R R 0 Ciklus i 1-től N-ig R R művelet A[i] A : számokat tartalmazó tömb N : A tömb elemszáma R : Művelet eredménye Eldöntés
INFORMATIKAI ALAPISMERETEK
Informatikai alapismeretek középszint 0631 ÉRETTSÉGI VIZSGA 2006. október 24. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI ÉS KULTURÁLIS MINISZTÉRIUM
Algoritmizálás és adatmodellezés 2. előadás
Algoritmizálás és adatmodellezés 2 előadás Összetett típusok 1 Rekord 2 Halmaz (+multialmaz, intervallumalmaz) 3 Tömb (vektor, mátrix) 4 Szekvenciális fájl (input, output) Pap Gáborné, Zsakó László: Algoritmizálás,
Programozás alapjai 1.Gy: Algoritmizálás P R O
Programozás alapjai 1.Gy: Algoritmizálás. P R O A L A G 1/13 B ITv: MAN 2018.09.20 Algoritmus leírási módszerek Szöveges leírás Pszeudokód Folyamatábra Struktogram Jackson diagram 2/13 Folyamatábra elemek
6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok
6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok 1. feladat: Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR). Írjon C programokat az alábbi kérdések
Programozási tételek feladatok
2016/11/22 03:56 1/6 Programozási tételek feladatok < Programozási feladatok Programozási tételek feladatok Szerző: Sallai ndrás Copyright Sallai ndrás, 2011 Licenc: NU Free Documentation License 1.3 Web:
Programozás alapjai (ANSI C)
Programozás alapjai (ANSI C) 1. Előadás vázlat A számítógép és programozása Dr. Baksáné dr. Varga Erika adjunktus Miskolci Egyetem, Informatikai Intézet Általános Informatikai Intézeti Tanszék www.iit.uni-miskolc.hu
end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..
A Név: l 2014.04.09 Neptun kód: Gyakorlat vezető: HG BP MN l 1. Adott egy (12 nem nulla értékû elemmel rendelkezõ) 6x7 méretû ritka mátrix hiányos 4+2 soros reprezentációja. SOR: 1 1 2 2 2 3 3 4 4 5 6
Gráfok 2. Legrövidebb utak, feszítőfák. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor
Gráfok 2. Legrövidebb utak, feszítőfák előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor Óbudai Egyetem,Neumann János Informatikai Kar Legrövidebb utak keresése Minimális feszítőfa keresése Gráfok 2
Á Ü ő Ü ő Í Ü Í Í ő ő ő ő ő Ü Á ő Á É Í Í Í Í ő Í Ö Í Í ő Í Í Í ő Í ő Í Í ő Í Á Í Í Í Í Í Ü Ü Í Í ő Í Í ő Á Í Í Í ő Í Í Í Í Í Í ÍÍ Í Ö Í Í Í Í ő Í Í Ú Ö Í ő Í Í ő őé Í Í Í Í Í Í Í Í Í Í Í Í ő Í Í Í ő ő
Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés. Szekvenciális fájlkezelés Fájlok használata
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 4. gyakorlat PLanG: 2011.10.04. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Fájlok
Gyakorló feladatok az 1. nagy zárthelyire
Gyakorló feladatok az 1. nagy zárthelyire 2012. október 7. 1. Egyszerű, bevezető feladatok 1. Kérjen be a felhasználótól egy sugarat. Írja ki az adott sugarú kör kerületét illetve területét! (Elegendő
A 2011/2012 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában
Oktatási Hivatal A 2011/2012 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása INFORMATIKÁBÓL II. (programozás) kategóriában Kérjük a tisztelt tanár kollégákat, hogy a
1. Jelölje meg az összes igaz állítást a következők közül!
1. Jelölje meg az összes igaz állítást a következők közül! a) A while ciklusban a feltétel teljesülése esetén végrehajtódik a ciklusmag. b) A do while ciklusban a ciklusmag után egy kilépési feltétel van.
Összetett programozási tételek 2.
Belépő a tudás közösségébe Informatika szakköri segédanyag Összetett programozási tételek 2. Heizlerné Bakonyi Viktória, Horváth Győző, Menyhárt László, Szlávi Péter, Törley Gábor, Zsakó László Szerkesztő:
Adatszerkezetek 1. Dr. Iványi Péter
Adatszerkezetek 1. Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot kódoltan tároljuk
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Összetett programozási tételek 2 TÁMOP-4.2.3.-12/1/KONV Feladataink egy jelentős csoportjában több bemenő sorozat alapján egy sorozatot
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Visszalépéses maximumkiválasztás TÁMOP-4.2.3.-12/1/KONV 1. Munkásfelvétel: N állás N jelentkező Egy vállalkozás N különböző állásra
Algoritmusok és adatszerkezetek I. 1. előadás
Algoritmusok és adatszerkezetek I 1 előadás Típusok osztályozása Összetettség (strukturáltság) szempontjából: elemi (vagy skalár, vagy strukturálatlan) összetett (más szóval strukturált) Strukturálási
Láncolt listák Témakörök. Lista alapfogalmak
Láncolt listák szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Lista alapfogalmai Egyirányú egyszerű láncolt lista Egyirányú rendezett láncolt lista Speciális láncolt listák Témakörök
Web-programozó Web-programozó
Az Országos Képzési Jegyzékről és az Országos Képzési Jegyzékbe történő felvétel és törlés eljárási rendjéről szóló 133/2010. (IV. 22.) Korm. rendelet alapján. Szakképesítés, szakképesítés-elágazás, rész-szakképesítés,
Alkalmazott modul: Programozás. Programozási tételek, rendezések Giachetta Roberto
Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás Programozási tételek, rendezések 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok
Objektumorientált Programozás VI.
Objektumorientált Programozás VI. Tömb emlékeztető Egyszerű programozási tételek Összetett programozási tételek V 1.0 ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók
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
I. ALAPALGORITMUSOK 1. Prímszámvizsgálat Adott egy n természetes szám. Írjunk algoritmust, amely eldönti, hogy prímszám-e vagy sem! Egy számról úgy fogjuk eldönteni, hogy prímszám-e, hogy megvizsgáljuk,
Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 4. gyakorlat PLanG: 2011.10.04. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Fájlok
Hatékonyság 1. előadás
Hatékonyság 1. előadás Mi a hatékonyság Bevezetés A hatékonyság helye a programkészítés folyamatában: csak HELYES programra Erőforrásigény: a felhasználó és a fejlesztő szempontjából A hatékonyság mérése
Algoritmizálás és adatmodellezés tanítása 3. előadás
Algoritmizálás és adatmodellezés tanítása 3. előadás Szövegfájl Fájl típus A szövegfájl karakterek sorozata: input fájl Műveletei: nyit, zár, olvas, vége? output fájl Műveletei: nyit, zár, ír Pap Gáborné,
1. beadandó feladat: Programozási tételek alkalmazása. Közös követelmények:
1. beadandó feladat: Programozási tételek alkalmazása Közös követelmények: A feladatokat programozási tételek segítségével kell megoldani. A programozási tételeket a feladatnak megfelelően kell kiválasztani.
Sorozat érték típusú programozási tételek
Sorozat érték típusú programozási tételek A soron következő specifikációk és algoritmusok mind olyan típusfeladatokhoz kötődnek, amik igazán sűrűn előfordulhatnak a gyakorlatban. Meg kell keresni valamit,
Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 0.1. Az algoritmikus tudás szintjei Ismeri (a megoldó algoritmust) Érti Le tudja pontosan
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Összetett programozási tételek 1 TÁMOP-4.2.3.-12/1/KONV Feladataink egy jelentős csoportjában egyetlen bemenő sorozat alapján egy
Pontműveletek. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar február 20.
Pontműveletek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2012. február 20. Sergyán (OE NIK) Pontműveletek 2012. február 20. 1 / 40 Felhasznált irodalom
Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED AWK - szintaxis, vezérlési szerkezetek Operációs rendszerek 11. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik
INFORMATIKAI ALAPISMERETEK
ÉRETTSÉGI VIZSGA 2005. május 20. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÉRETTSÉGI VIZSGA Az írásbeli vizsga időtartama: 180 perc JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI MINISZTÉRIUM Megoldási útmutató I.
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Rendezések TÁMOP-4.2.3.-12/1/KONV-2012-0018 Az alapfeladat egy N elemű sorozat nagyság szerinti sorba rendezése. A sorozat elemei
Programozási alapismeretek 3. előadás
Programozási alapismeretek 3. előadás Tartalom Ciklusok specifikáció+ algoritmika +kódolás Egy bevezető példa a tömbhöz A tömb Elágazás helyett tömb Konstans tömbök 2/42 Ciklusok Feladat: Határozzuk meg
Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez
Pásztor Attila Algoritmizálás és programozás tankönyv az emeltszintű érettségihez 3. ADATTÍPUSOK...26 3.1. AZ ADATOK LEGFONTOSABB JELLEMZŐI:...26 3.2. ELEMI ADATTÍPUSOK...27 3.3. ÖSSZETETT ADATTÍPUSOK...28
Webprogramozás szakkör
Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás
Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII,
Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII, 2016 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a
INFORMATIKAI ALAPISMERETEK
Informatikai alapismeretek középszint 0621 ÉRETTSÉGI VIZSGA 2007. május 25. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI ÉS KULTURÁLIS MINISZTÉRIUM
Rendezések. Összehasonlító rendezések
Rendezések Összehasonlító rendezések Remdezés - Alapfeladat: Egy A nevű N elemű sorozat elemeinek nagyság szerinti sorrendbe rendezése - Feltételezzük: o A sorozat elemei olyanok, amelyekre a >, relációk
Algoritmizálás, adatmodellezés 1. előadás
Algoritmizálás, adatmodellezés 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az induló élből
1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb
1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb #include main() { int a, b; printf( "a=" ); scanf( "%d", &a ); printf( "b=" ); scanf( "%d", &b ); if( a< b ) { inttmp = a; a =
Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása
Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző
Edényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n).
Edényrendezés Tegyük fel, hogy a rendezendő H = {a 1,...,a n } halmaz elemei a [0,1) intervallumba eső valós számok. Vegyünk m db vödröt, V [0],...,V [m 1] és osszuk szét a rendezendő halmaz elemeit a
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Számelmélet
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Számelmélet A szürkített hátterű feladatrészek nem tartoznak az érintett témakörhöz, azonban szolgálhatnak fontos információval az érintett feladatrészek
Algoritmizálás és adatmodellezés tanítása 6. előadás
Algoritmizálás és adatmodellezés tanítása 6. előadás Összetett típusok 1. Rekord 2. Halmaz (+multihalmaz, intervallumhalmaz) 3. Tömb (vektor, mátrix) 4. Szekvenciális file (input, output) Pap Gáborné,
FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI
FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI statisztika 10 X. SZIMULÁCIÓ 1. VÉLETLEN számok A véletlen számok fontos szerepet játszanak a véletlen helyzetek generálásában (pénzérme, dobókocka,
Struktúra nélküli adatszerkezetek
Struktúra nélküli adatszerkezetek Homogén adatszerkezetek (minden adatelem azonos típusú) osztályozása Struktúra nélküli (Nincs kapcsolat az adatelemek között.) Halmaz Multihalmaz Asszociatív 20:24 1 A
Morfológia. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar Szoftvertechnológia Intézet
Morfológia Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Szoftvertechnológia Intézet 2012. október 9. Sergyán (OE NIK) Morfológia 2012. október 9. 1 /
Adatszerkezetek II. 10. előadás
Adatszerkezetek II. 10. előadás Kombinatorikai algoritmusok A kombinatorika: egy véges halmaz elemeinek valamilyen szabály alapján történő csoportosításával, kiválasztásával, sorrendbe rakásával foglalkozik