Hatékonyság 1. előadás

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Hatékonyság 1. előadás"

Átírás

1 Hatékonyság 1. előadás

2 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 Ordó-függvénnyel: f(x)=o(g(x)) x Đ f K IR + : x Đ f f(x)/g(x) <K Hatékonyság :27 2/31

3 Bevezetés (folytatás) A feladat: Egy sorozat K-val ciklikusan balra léptetése Be: X H *, N,K IN Ki: X H * [X új értéke] Ef: N=Hossz(X) Uf: X =X K Def: : K-szoros ciklikus léptetés balra művelet, azaz: (X K) i =X (i-1+k mod N)+1 Hatékonyság :27 3/31

4 Bevezetés (folytatás) Első megoldás: Ciklus K-szor segéd:=x(1) X(1..N-1):=Másolás(X(2..N)) X(N):=segéd Második megoldás: segéd(1..k):=másolás(x(1..k)) X(1..N-K)):=Másolás(X(K+1..N)) X(N-K+1..N)):=Másolás(segéd(1..K)) Hatékonyság :27 4/31

5 Bevezetés (folytatás) Harmadik megoldás: Ötlete: K-val léptetés a láncban Pl.: N=5, K=2 és X=(1,2,3,4,5) (1, 2, 3, 4, 5) Léptetés(Szöveg,N,K): Hova:=1 Betű:=Szöveg(Hova) [első üres hely] Ciklus i=1-től N-1-ig Honnan:=Hova+K Ha Honnan>N akkor Honnan:=Honnan-N Szöveg(Hova):=Szöveg(Honnan) Hova:=Honnan [következő üres hely] Szöveg(Hova):=Betű Eljárás vége. Hatékonyság :27 5/31

6 Bevezetés (folytatás) Harmadik megoldás: N=6, K=2 és X=(1,2,3,4,5,6) (1, 2, 3, 4, 5, 6) Léptetés(Szöveg,N,K): Ciklus j=1-től lnko(n,k)-ig Hova:=j Betű:=Szöveg(Hova) Ciklus i=1-től N/lnko(N,K)-1-ig Honnan:=Hova+K Ha Honnan>N akkor Honnan:=Honnan-N Szöveg(Hova):=Szöveg(Honnan) Hova:=Honnan Szöveg(Hova):=Betű Eljárás vége. Hatékonyság :27 6/31

7 Összevetés: Melyik jobb? Bevezetés (folytatás) Idő Hely Bonyolultság 1. K*(N+1) 1+N * 2. N+K K+N * 3. N+lnko(N,K) 1+N *** Tehát: A hatékonyság dimenziói: Idő (memória/háttértár) műveletek (klaviatúra/képernyő???) Hely kód (memória/háttértár), adat (memória/háttértár) Bonyolultság algoritmus/kód (szerkezeti/logikai) adat (szerkezeti/logikai) Hatékonyság :27 7/31

8 Egy további példa: Melyik jobb? Bevezetés (folytatás) Hely: (N) Hason.: (N 2 ) Mozg. Min : (N), Mozg. Max : (N) A minimum kiválasztásos rendezés, vagy az egyszerű cserés rendezés? A hatékonyság mértékei : Minimum Maximum Átlagos Hely: (N) Hason.: (N 2 ) Mozg. Min : 0, Mozg. Max : (N 2 ) Hatékonyság :27 8/31

9 Adat és algoritmus: adat- hely- rekord mezők (szám;méret) sorozat=elemszám *elemméret Bevezetés (folytatás) Összetett szerkezet időcsökkenés/növekedés algoritmikus szekvencia ciklus=lépés-szám *1-végrehajtás= =admin.+ciklusmag Hatékonyság :27 9/31

10 I. rész: globális hatékonyság csökkentése Lehetőségek: Mivel programvégrehajtási idő ciklus(ok) végrehajtási idő és ciklus végrehajtási idő lépésszám * egyszeri végrehajtási idő, ezért csökkentendő 1.A ciklusok lépésszámai, ill. 2. A ciklusok egyszeri végrehajtási ideje ( ciklusmag végrehajtási idő!). Hatékonyság :27 10/31

11 1.1 A lépésszám csökkentése Alapelv: a megvizsgált elemek száma vagy abszolute vagy átlagosan kevesebb legyen! Elemszám-csökkentés A sorozat futó eleme Feladat: N prím-e? Megoldások: a. príme:=eldöntés(2..n-1, N) b. príme:=eldöntés(2..n Div 2, N) c. príme:=eldöntés(2.. N, N) Osztható-e művelet Hisz N=n 1 *n 2 min(n 1,n 2 ) N Hatékonyság :27 11/31

12 Feladat: Városok távolságai: Táv. Mely kettő van legközelebb egymáshoz? A B 0 A Táv= 0 B. 0 Megoldások: a. (v,w):=minkiválasztás(táv(i,j) i,j=1..n,i j;<) b. (v,w):=minkiválasztás(táv(i,j) i=1..n,j=1..i-1,<) Hisz Táv(i,j)=Táv(j,i) Hatékonyság :27 12/31

13 1.1.2 A sorozat részekre osztása Feladat: Egy A elem kiválasztása az X rendezett sorozatból. Megoldások: a. melyik:=kiválasztás(x(1..n), =A) b. Ef: X direkt elérésű melyik:=logkiválasztás(x(1..n), =A) Hasonlítás-szám: (log 2 (N)) Hatékonyság :27 13/31

14 Feladat: Az f szekvenciális fájlban [1..N]-beli számok vannak, ismétlés nélkül, összevissza; legfeljebb N-1 darab. Adjunk meg egy elő nem forduló számot! Egy végigolvasás ideje Megoldások: a. nincs:=kiválasztás(i i=1..n, Eldöntés(f, =i)) ElOlv Min =H, ElOlv Max =N*H, ElOlv Átl =(1+N)*H/2 b. nincs:=(log)kiválasztás(i i i=1.. log 2 (N), Megszámolás(f, I i )=0) I 1 :=(1,N) (e i,(e i +v i ) Div 2), ha Db (e i,(ei+vi) Div 2) <Db Ii -Db (e i,(ei+vi) Div 2) I i+1 =(e i+1,v i+1 ):= ((e i +v i ) Div 2,v i ), különben ElOlv Min =ElOlv Max =ElOlv Átl log 2 (N) *H Hatékonyság :27 14/31

15 1.1.3 A sorozatok párhuzamos feldolgozása Feladat: rendezett sorozatok egyesítése. Megoldások: a. Z:=Egyesítés(X(1..N),Y(1..M)) [(Z,Db):=(Másolás(X(1..N)),N) +Kiválogatás(Y(1..M),Eldöntés(X,y i )] Hasonlítás-szám: N*M b. Z:=Összefuttatás(X(1..N),Y(1..M)) Hasonlítás-szám: N+M Hatékonyság :27 15/31

16 1.1.4 Gyakoriság-szerinti elrendezés Feladat: X H N, P i elemkiválasztási valószínűség; adott A elem kiválasztása. Megoldás: Kiválasztás(X,A): k:=1 Ciklus amíg X(k) A k:=k+1 Kiválasztás:=k Függvény vége. Átlagos futási idő P i =P esetén: T N i P i 1 N P N i 1 2 Átlagos futási idő általános esetben: T N i P N i i P N 1 1 i 1 i i 1 N i P i i N 1 N 1 2 Hatékonyság :27 16/31

17 1.1.5 Elemek csoportos feldolgozása Feladat: Kutatófúrások adatait tartalmazza a KF tömb (TElem=Rekord(sorsz,mélység:Egész, mennyiség:tdússág); az azonos fúrólyuktól származó adatok egy csoportban vannak). Egy F fúrólyuk adatait kell kiválogatni. Megoldások: a. Z:=Kiválogatás(KF(1..N), =F) b. a:=kiválasztás(kf(1..n), =F) Z:=Másolás&Keresés(KF(a..N), F) Hatékonyság :27 17/31

18 1.1.6 Ciklus indexszé transzformálása Feladat: Ikerprímek száma, N-ig (N>2). Megoldások: a. IPDb:=1 [=(2,3)] + Megszámolás(3..N-2, Prím( ) Prím( +2)) b. Konstans Prímek:TPrímek(N)(...) Típus TPrímek(M)=Tömb(1..M:Egész) IPDb:=1 [=(2,3)] + Keresés Megszámolás(2..j: Keresési határfeltétel j-re. Prímek(j+1)>N, Prímek( +1)-Prímek( )=2) Megszámolás tulajdonsága Hatékonyság :27 18/31

19 1.2 Az egyszeri végrehajtás idejének csökkentése Elágazás transzformálása Feladat: Szimuláljunk N kockadobást Megoldások: a. Db(1..6):=Másolás(0 i=1..6) Ciklus N-szer x:=véletlen(6) Elágazás x=1 esetén Db(1):=Db(1)+1 x=6 esetén Db(6):=Db(6)+1 Elágazás vége b. Db(1..6):=Másolás(0 i=1..6) Ciklus N-szer x:=véletlen(6) Db(x):=Db(x)+1 Hatékonyság :27 19/31

20 Kód Jel 0 Nul 1 SQH < 65 A 66 B 90 Z a 98 b Feladat: Számoljuk meg egy S szövegben hány nagybetű, kisbetű, számjegy, illetve egyéb jel van! Típus TMi=(NB,KB,SzJ,EJ) Változó Db:Tömb(TMi:Egész) a. Db(NB..EJ):=Másolás(0 i=1..4) Ciklus i=1-től Hossz(s)-ig x:=sorszám(s(i)) [Kódja] Elágazás x<48 esetén Db(EJ):=Db(EJ)+1 x<58 esetén Db(SzJ):=Db(SzJ)+1 x<65 esetén Db(EJ):=Db(EJ)+1 x<90 esetén Db(NB):=Db(NB)+1 Elágazás vége Hatékonyság :27 20/31

21 Kód Jel 0 Nul 1 SQH < 65 A 66 B 90 Z a 98 b Feladat: Számoljuk meg egy S szövegben hány nagybetű, kisbetű, számjegy, illetve egyéb jel van! Megoldások: Típus TMi=(NB,KB,SzJ,EJ) Változó Db:Tömb(TMi:Egész) b. Konstans Ind:Tömb(Karakter:TMi)= (EJ,EJ,EJ,,SzJ,,NB,,EJ,,KB, ) Db(NB..EJ):=Másolás(0 i=1..4) Ciklus i=1-től Hossz(s)-ig x:=s(i) Db(Ind(x)):=Db(Ind(x))+1 Hatékonyság :27 21/31

22 1.2.2 A kivételes eset kiküszöbölése Feladat: Lineáris keresés tétele Megoldások: a. (Van,Melyik):=LinKer(X,T) b. Változó X:Tömb(1..N+1:TH) i:=1; X(N+1):=spec [T(spec)] Ciklus amíg nem T(X(i)) i:=i+1 Van:=i N Ha Van akkor Melyik:=i Hatékonyság :27 22/31

23 Feladat: Számítsuk ki a következő sorozat-transzformációt. Megoldások: Változó A,B:Tömb(1..N:TH) a. Ciklus i=1-től N-ig Ha i=1 vagy i=n akkor B(i):=A(i) különben B(i):=(A(i-1)+2*A(i)+A(i+1))/4 Elágazás vége A i, ha i=1 i=n B i := (A i-1 +2A i +A i+1 )/4, ha i [2..N] b. B(1):=A(1); B(N):=A(N) Ciklus i=2-től N-1-ig B(i):=(A(i-1)+2*A(i)+A(i+1))/4 Hatékonyság :27 23/31

24 1.2.3 Ciklusok szétválasztása Alapelv: több kivételes esetre, inkább részsorozatra bontható a feldolgozandó sorozat. Feladat: S=?, ha N>4, 2 N S:= Megoldások: a. S:=0 Ciklus i=1-től N-ig Elágazás i=1 vagy i=n esetén S:=S+A(i) 2 N esetén S:=S+4*A(i) egyéb esetben S:=S+2*A(i) Elágazás vége A 1 +4A 2 +2A A N-1 +A N N Hatékonyság :27 24/31

25 1.2.3 Ciklusok szétválasztása Alapelv: több kivételes esetre, inkább részsorozatra bontható a feldolgozandó sorozat. Feladat: S=?, ha N>4, 2 N S:= N Megoldások: b. S:=A(1)+A(N) Ciklus i=2-től N-1-ig 2-esével S:=S+4*A(i) Ciklus i=3-tól N-2-ig 2-esével S:=S+2*A(i) A 1 +4A 2 +2A A N-1 +A N Hatékonyság :27 25/31

26 1.2.4 Feltételek elhagyása Feladat: Egy szimulációs részprobléma... Véletlenszerű állapotváltozás (P( 0 0)=P)... Megoldások: a. Ciklus i=1-től N-ig Ha A(i) 0 és Véletlen<P akkor A(i):=0 b. Ciklus i=1-től N-ig Ha Véletlen<P akkor A(i):=0 [0,1]-egyenletes eloszlású véletlenszám Hatékonyság :27 26/31

27 1.2.5 Adatok előfeldolgozása Feladat: Adott M mátrix sorait rendezzük át sorösszeg szerint növekvő sorrendbe! Rendezés(M(i,1..N) i=1..n, < Megoldások: Összegzés(M(.,1..N)) ) < Összegzés(M(.,1..N)) sorösszeg-szerinti rendezés Rendezés minimumkiválasztással(n,a): Ciklus i=1-től N-1-ig L:=i Ciklus j=i+1-től N-ig S1:= az L. sor sorösszege S2:= a j. sor sorösszege Ha S1>S2 akkor L:=j Csere(i. sor, L. sor) Eljárás vége. Hatékonyság :27 27/31

28 1.2.5 Adatok előfeldolgozása Feladat: Adott M mátrix sorait rendezzük át sorösszeg szerint növekvő sorrendbe! Rendezés minimumkiválasztással(n,a): Ciklus i=1-től N-ig S(i):= az i. sor sorösszege Ciklus i=1-től N-1-ig L:=i Ciklus j=i+1-től N-ig Ha S(L)>S(j) akkor L:=j Csere(i. sor, L. sor); Csere(S(i),S(L)) Eljárás vége. Hatékonyság :27 28/31

29 1.2.6 Az adatmozgatások minimalizálása Feladat: Adott M mátrix sorait rendezzük át sorösszeg szerint növekvő sorrendbe! Megoldások: Rendezés(M(i,1..N) i=1..n,< Összegzés(M(,1..N)) ) < Összegzés( ) : sorösszeg-szerinti rendezési reláció Rendezés minimumkiválasztással(n,a): Ciklus i=1-től N-1-ig L:=i Ciklus j=i+1-től N-ig S1:= az L. sor sorösszege S2:= a j. sor sorösszege Ha S1>S2 akkor L:=j Csere(i. sor, L. sor) Eljárás vége. Hatékonyság :27 29/31

30 1.2.6 Az adatmozgatások minimalizálása Feladat: Adott M mátrix sorait rendezzük át sorösszeg szerint növekvő sorrendbe! Rendezés minimumkiválasztással(n,a,h): Ciklus i=1-től N-ig S(i):= az i. sor sorösszege; H(i):=i Ciklus i=1-től N-1-ig L:=i Ciklus j=i+1-től N-ig Ha S(H(L))>S(H(j)) akkor L:=j Csere(H(i),H(L)) Eljárás vége. Hatékonyság :27 30/31

31 Hatékonyság 1. előadás vége

PROGRAMOZÁSI TÉTELEK

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

Részletesebben

Adatbázis és szoftverfejlesztés elmélet. Programozási tételek

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

Részletesebben

Felvételi tematika INFORMATIKA

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.

Részletesebben

Rendezések. Összehasonlító rendezések

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

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

Adatszerkezetek II. 10. előadás

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

Részletesebben

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

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

Részletesebben

Adatbázis rendszerek Gy: Algoritmusok C-ben

Adatbázis rendszerek Gy: Algoritmusok C-ben Adatbázis rendszerek 1. 1. Gy: Algoritmusok C-ben 53/1 B ITv: MAN 2015.09.08 Alapalgoritmusok Összegzés Megszámlálás Kiválasztás Kiválasztásos rendezés Összefésülés Szétválogatás Gyorsrendezés 53/2 Összegzés

Részletesebben

ELEMI PROGRAMOZÁSI TÉTELEK

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

Részletesebben

Hatékonyság 2. előadás

Hatékonyság 2. előadás Hatékonyság 2. előadás Alapelv: a tárolt elemek száma vagy egy elemének mérete kevesebb legyen! Helyfoglalás=memória (kód+adat) + háttértár (kód+adat) 2.1 Sorozatok hosszcsökkentése 2.1.1 Sorozat kiküszöbölése

Részletesebben

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

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

Részletesebben

Kombinatorikai algoritmusok. (Horváth Gyula és Szlávi Péter előadásai felhasználásával)

Kombinatorikai algoritmusok. (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Kombinatorikai algoritmusok (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Kombinatorikai algoritmusok A kombinatorika: egy véges halmaz elemeinek valamilyen szabály alapján történő csoportosításával,

Részletesebben

Kombinatorikai algoritmusok

Kombinatorikai algoritmusok Kombinatorikai algoritmusok (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Kombinatorikai algoritmusok A kombinatorika: egy véges halmaz elemeinek valamilyen szabály alapján történő csoportosításával,

Részletesebben

A félév során előkerülő témakörök

A félév során előkerülő témakörök A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok

Részletesebben

Programozás II. előadás

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

Részletesebben

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

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

Részletesebben

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik. 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 kimeneti adatot

Részletesebben

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I. Keresés Rendezés Feladat Keresés Rendezés Feladat Tartalom Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Részletesebben

Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése

Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése Dr. Kallós Gábor 2014 2015 1 Az Ordó jelölés Azt mondjuk, hogy az f(n) függvény eleme az Ordó(g(n)) halmaznak, ha van olyan c konstans (c

Részletesebben

Programozási tételek. Dr. Iványi Péter

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,

Részletesebben

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán Keresés Rendezés Feladat Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán 2016. november 7. Farkas B., Fiala

Részletesebben

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik. 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 kimeneti adatot

Részletesebben

Rendezések. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar október 24.

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

Részletesebben

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

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

Részletesebben

Multihalmaz, intervallumhalmaz

Multihalmaz, intervallumhalmaz Multihalmaz, intervallumhalmaz Halmaz féleségek 1. Halmaz Gyümölcsök: {alma,körte,szilva,barack} 2. Multihalmaz Állatok: {(macska,4),(rigó,2),(galamb,3)} 3. Intervallumhalmaz diszjunkt Óráim: {[8-10],[13-14],[16-20)}

Részletesebben

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

Részletesebben

Bevezetés a programozásba I.

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

Részletesebben

Algoritmusok és adatszerkezetek I. 1. előadás

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

Részletesebben

Egyszerű programozási tételek

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

Részletesebben

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

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

Részletesebben

Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek

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

Részletesebben

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

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 /

Részletesebben

Adatszerkezetek I. 1. előadás

Adatszerkezetek I. 1. előadás Adatszerkezetek I. 1. előadás Adatok jellemzői ismétlés 1. Azonosító Az a jelsorozat, amellyel hivatkozhatunk a tartalmára, amely által módosíthatjuk tartalmát. 2. Hozzáférési jog Adatokat módosítani,

Részletesebben

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

Részletesebben

Alkalmazott modul: Programozás. Programozási tételek, rendezések Giachetta Roberto

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

Részletesebben

Objektum Orientált Programozás VII.

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

Részletesebben

Közismereti informatika I. 4. előadás

Közismereti informatika I. 4. előadás Közismereti informatika I. 4. előadás Rendezések Bemenet: N: Egész, X: Tömb(1..N: Egész) Kimenet: X: Tömb(1..N: Egész) Előfeltétel: Utófeltétel: Rendezett(X) és X=permutáció(X ) Az eredmény a bemenet egy

Részletesebben

Informatikai tehetséggondozás:

Informatikai tehetséggondozás: Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: isszalépéses kiválogatás TÁMOP-4.2.3.-12/1/KON isszalépéses kiválogatás 1. Az összes lehetséges sorrend Sokszor előfordul feladatként,

Részletesebben

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.

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

Részletesebben

Visszalépéses kiválogatás

Visszalépéses kiválogatás elépő a tudás közösségébe Informatika szakköri segédanyag Heizlerné akonyi iktória, Horváth Győző, Menyhárt László, Szlávi Péter, Törley Gábor, Zsakó László Szerkesztő: Abonyi-Tóth Andor, Zsakó László

Részletesebben

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

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

Részletesebben

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat 9. Előadás Rendezések A rendezési probléma: Bemenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat Kimenet: a bemenő sorozat olyan (a 1, a 2,,a n ) permutációja, hogy a 1 a 2 a n 2 Rendezések Általánosabban:

Részletesebben

Az informatika kulcsfogalmai

Az informatika kulcsfogalmai Az informatika kulcsfogalmai Kulcsfogalmak Melyek azok a fogalmak, amelyek nagyon sok más fogalommal kapcsolatba hozhatók? Melyek azok a fogalmak, amelyek más-más környezetben újra és újra megjelennek?

Részletesebben

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1. Nagyságrendek Kiegészítő anyag az Algoritmuselmélet tárgyhoz (a Rónyai Ivanyos Szabó: Algoritmusok könyv mellé) Friedl Katalin BME SZIT friedl@cs.bme.hu 018. február 1. Az O, Ω, Θ jelölések Az algoritmusok

Részletesebben

Láncolt listák Témakörök. Lista alapfogalmak

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

Részletesebben

A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai. INFORMATIKA II. (programozás) kategória

A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai. INFORMATIKA II. (programozás) kategória Oktatási Hivatal A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai 1. feladat: Repülők (20 pont) INFORMATIKA II. (programozás) kategória Ismerünk városok közötti repülőjáratokat.

Részletesebben

Összetett programozási tételek

Ö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

Részletesebben

Egyszerű programozási tételek

Egyszerű programozási tételek Egyszerű programozási tételek 2. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 15. Sergyán (OE NIK) AAO 02 2011. szeptember 15.

Részletesebben

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

Algoritmizálás, adatmodellezés tanítása 7. előadás Algoritmizálás, adatmodellezés tanítása 7. előadás Oszd meg és uralkodj! Több részfeladatra bontás, amelyek hasonlóan oldhatók meg, lépései: a triviális eset (amikor nincs rekurzív hívás) felosztás (megadjuk

Részletesebben

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

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 /

Részletesebben

Biomatematika 2 Orvosi biometria

Biomatematika 2 Orvosi biometria Biomatematika 2 Orvosi biometria 2017.02.13. Populáció és minta jellemző adatai Hibaszámítás Valószínűség 1 Esemény Egy kísérlet vagy megfigyelés (vagy mérés) lehetséges eredményeinek összessége (halmaza)

Részletesebben

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

Részletesebben

A 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

A 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória Oktatási Hivatal 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató INFORMTIK II. (programozás) kategória Kérjük a tisztelt tanár kollégákat, hogy a dolgozatokat

Részletesebben

Algoritmizálás, adatmodellezés tanítása 1. előadá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

Részletesebben

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés. Szekvenciális fájlkezelés Fájlok használata

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

Részletesebben

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

Részletesebben

Algoritmizálás és adatmodellezés 2. előadás

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,

Részletesebben

Véletlenszám generátorok és tesztelésük HORVÁTH BÁLINT

Véletlenszám generátorok és tesztelésük HORVÁTH BÁLINT Véletlenszám generátorok és tesztelésük HORVÁTH BÁLINT Mi a véletlen? Determinisztikus vs. Véletlen esemény? Véletlenszám: számok sorozata, ahol véletlenszerűen követik egymást az elemek Pszeudo-véletlenszám

Részletesebben

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

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

Részletesebben

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

Felvételi vizsga mintatételsor Informatika írásbeli vizsga BABEȘ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR A. tételsor (30 pont) Felvételi vizsga mintatételsor Informatika írásbeli vizsga 1. (5p) Egy x biten tárolt egész adattípus (x szigorúan pozitív

Részletesebben

Algoritmuselmélet 2. előadás

Algoritmuselmélet 2. előadás Algoritmuselmélet 2. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Február 12. ALGORITMUSELMÉLET 2. ELŐADÁS 1 Buborék-rendezés

Részletesebben

Programozási alapismeretek 11. előadás

Programozási alapismeretek 11. előadás Programozási alapismeretek 11. előadás Tartalom Rendezési feladat specifikáció Egyszerű cserés rendezés Minimum-kiválasztásos rendezés Buborékos rendezés Javított buborékos rendezés Beillesztéses rendezés

Részletesebben

14. Mediánok és rendezett minták

14. Mediánok és rendezett minták 14. Mediánok és rendezett minták Kiválasztási probléma Bemenet: Azonos típusú (különböző) elemek H = {a 1,...,a n } halmaza, amelyeken értelmezett egy lineáris rendezési reláció és egy i (1 i n) index.

Részletesebben

Dinamikus programozás II.

Dinamikus programozás II. Dinamikus programozás II. Dinamikus programozás stratégiája A dinamikus programozás stratégiája 1. Az [optimális] megoldás szerkezetének tanulmányozása. 2. Részproblémákra és összetevőkre bontás úgy, hogy:

Részletesebben

Algoritmusokfelülnézetből. 1. ELŐADÁS Sapientia-EMTE

Algoritmusokfelülnézetből. 1. ELŐADÁS Sapientia-EMTE Algoritmusokfelülnézetből 1. ELŐADÁS Sapientia-EMTE 2015-16 Algoritmus Az algoritmus kifejezés a bagdadi arab tudós, al-hvárizmi(780-845) nevének eltorzított, rosszul latinra fordított változatából ered.

Részletesebben

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés

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

Részletesebben

Shor kvantum-algoritmusa diszkrét logaritmusra

Shor kvantum-algoritmusa diszkrét logaritmusra Ivanyos Gábor MTA SZTAKI Debrecen, 20 január 2. Tartalom és kvantum-áramkörök 2 A diszkrét log probléma Kvantum bit Állapot: a B = C 2 komplex euklideszi tér egy egységvektora: az a 0 + b szuperpozíció

Részletesebben

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

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

Részletesebben

Egyszerű programozási tételek

Egyszerű programozási tételek Egyszerű programozási tételek Sorozatszámítás tétele Például az X tömbben kövek súlyát tároljuk. Ha ki kellene számolni az összsúlyt, akkor az S = f(s, X(i)) helyére S = S + X(i) kell írni. Az f0 tartalmazza

Részletesebben

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás Programozás alapjai 6. gyakorlat Futásidő, rekurzió, feladatmegoldás Háziellenőrzés Egészítsd ki úgy a simplemaths.c programot, hogy megfelelően működjön. A program feladata az inputon soronként megadott

Részletesebben

Programozási alapismeretek 3. előadás

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

Részletesebben

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

Részletesebben

Tartalomjegyzék. Köszönetnyilvánítás. 1. Az alapok 1

Tartalomjegyzék. Köszönetnyilvánítás. 1. Az alapok 1 Köszönetnyilvánítás Bevezetés Kinek szól a könyv? Elvárt előismeretek A könyv témája A könyv használata A megközelítés alapelvei Törekedjünk az egyszerűségre! Ne optimalizáljunk előre! Felhasználói interfészek

Részletesebben

[Biomatematika 2] Orvosi biometria

[Biomatematika 2] Orvosi biometria [Biomatematika 2] Orvosi biometria 2016.02.15. Esemény Egy kísérlet vagy megfigyelés (vagy mérés) lehetséges eredményeinek összessége (halmaza) alkotja az eseményteret. Esemény: az eseménytér részhalmazai.

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

VÉLETLEN PERMUTÁCIÓ ELŐÁLLÍTÁSA

VÉLETLEN PERMUTÁCIÓ ELŐÁLLÍTÁSA VÉLETLEN PERMUTÁCIÓ ELŐÁLLÍTÁSA Az alábbi algoritmusban X(1..N) tömb elemeinek egy véletlen permutációját állítjuk elő. Természetesen elvárjuk, hogy a HalmazFelsorolás(X) előfeltétel teljesüljön. Talán

Részletesebben

Algoritmuselmélet 18. előadás

Algoritmuselmélet 18. előadás Algoritmuselmélet 18. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Május 7. ALGORITMUSELMÉLET 18. ELŐADÁS 1 Közelítő algoritmusok

Részletesebben

Gyakorló feladatok az 1. nagy zárthelyire

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ő

Részletesebben

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

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

Részletesebben

Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása

Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása 1. feladat: Eldönteni egy számról, hogy pozitív, negatív vagy 0. Próbálja megoldani a feladatot switch szerkezettel is. Mikor használható

Részletesebben

Programozás alapjai. 5. előadás

Programozás alapjai. 5. előadás 5. előadás Wagner György Általános Informatikai Tanszék Cserélve kiválasztásos rendezés (1) A minimum-maximum keresés elvére épül. Ismétlés: minimum keresés A halmazból egy tetszőleges elemet kinevezünk

Részletesebben

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

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

Részletesebben

Térinformatikai algoritmusok Elemi algoritmusok

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,

Részletesebben

Algoritmusok és adatszerkezetek I. 3. előadás

Algoritmusok és adatszerkezetek I. 3. előadás Algoritmusok és adatszerkezetek I. 3. előadás Kupac A kupac olyan véges elemsokaság, amely rendelkezik az alábbi tulajdonságokkal: 1. Minden elemnek legfeljebb két rákövetkezője (leszármazottja) lehet.

Részletesebben

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

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,... RSA algoritmus 1. Vegyünk véletlenszerűen két különböző nagy prímszámot, p-t és q-t. 2. Legyen n = pq. 3. Vegyünk egy olyan kis páratlan e számot, amely relatív prím φ(n) = (p 1)(q 1)-hez. 4. Keressünk

Részletesebben

Algoritmusok és adatszerkezetek I. 2. előadás

Algoritmusok és adatszerkezetek I. 2. előadás Algoritmusok és adatszerkezetek I. 2. előadás Verem Verem= speciális sorozattípus Műveletei: Üres, üres?, Verembe, Veremből, tető Üres: Verem üres?(verem): Logikai tető(verem): Elem {NemDef} Verembe(Verem,Elem):

Részletesebben

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok. Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás 4. előadás Procedurális programozás: iteratív és rekurzív alprogramok Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

Gyakorló feladatok ZH-ra

Gyakorló feladatok ZH-ra Algoritmuselmélet Schlotter Ildi 2011. április 6. ildi@cs.bme.hu Gyakorló feladatok ZH-ra Nagyságrendek 1. Egy algoritmusról tudjuk, hogy a lépésszáma O(n 2 ). Lehetséges-e, hogy (a) minden páros n-re

Részletesebben

MATEMATIKAI FÜGGVÉNYEK

MATEMATIKAI FÜGGVÉNYEK MATEMATIKAI FÜGGVÉNYEK ABS Egy szám abszolút értékét adja eredményül. =ABS(32) eredménye 32, =ABS(-32) eredménye ugyancsak 32 DARABTELI Összeszámolja egy tartományban a megadott feltételeknek eleget tevő

Részletesebben

Térinformatikai algoritmusok Elemi algoritmusok

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

Részletesebben

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

Algoritmizálás és adatmodellezés tanítása 9. előadás Algoritmizálás és adatmodellezés tanítása 9. előadás Szöveges típusok (ismétlés) karakter típus szöveg típus szövegfájl típus (input, illetve output szövegfájl) 2018. 01. 2/30 Karakterábrázolás fix kódhossz

Részletesebben

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

Algoritmizálás és adatmodellezés tanítása 4. előadás Algoritmizálás és adatmodellezés tanítása 4. előadás Típusok osztályozása Összetettség (strukturáltság) szempontjából: skalár (más szóval elemi vagy strukturálatlan) összetett (más szóval strukturált)

Részletesebben

Kép mátrix. Feladat: Pap Gáborné-Zsakó László: Algoritmizálás, adatmodellezés 2/35

Kép mátrix. Feladat: Pap Gáborné-Zsakó László: Algoritmizálás, adatmodellezés 2/35 Grafika I. Kép mátrix Feladat: Egy N*M-es raszterképet nagyítsunk a két-szeresére pontsokszorozással: minden régi pont helyébe 2*2 azonos színű pontot rajzolunk a nagyított képen. Pap Gáborné-Zsakó László:

Részletesebben

Digitális jelfeldolgozás

Digitális jelfeldolgozás Digitális jelfeldolgozás Kvantálás Magyar Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék magyar.attila@virt.uni-pannon.hu 2010. szeptember 15. Áttekintés

Részletesebben

INFORMATIKA javítókulcs 2016

INFORMATIKA javítókulcs 2016 INFORMATIKA javítókulcs 2016 ELMÉLETI TÉTEL: Járd körbe a tömb fogalmát (Pascal vagy C/C++): definíció, egy-, két-, több-dimenziós tömbök, kezdőértékadás definíciókor, tömb típusú paraméterek átadása alprogramoknak.

Részletesebben

Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék

Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék 9. előadás Wagner György Általános Informatikai Tanszék Leszámoló rendezés Elve: a rendezett listában a j-ik kulcs pontosan j-1 kulcsnál lesz nagyobb. (Ezért ha egy kulcsról tudjuk, hogy 27 másiknál nagyobb,

Részletesebben