You are on page 1of 147

Programozs mdszertan

Programozs mdszertan vizsgattelek Ills Attila 2010.


NEM TELJES VERZI!!!
HOZZOLVASS S AZ RAI JEGYZETELSEK
SZKSGESEK!
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
Alapfogalmak
utasts1
utasts2
utasts3
Szekvencia megvalstsa folyamatbrval
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
Alapfogalmak
Elgazs megvalstsa folyamatbrval
Az gak valamelyike el is maradhat: egyg elgazs.
Tbbg elgazsra nincs folyamatbra-jells, tbb ktg elgazssal
rhat le.
felttel
Utasts(ok)
igaz esetn
Utasts(ok)
hamis esetn
i
h
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
Alapfogalmak
Ell tesztel ciklus megvalstsa folyamatbrval
i
ciklusfelttel
Ciklusmag
utastsai
h
A ciklusmag nem
biztos, hogy
vgrehajtdik!
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
Alapfogalmak
Htul tesztel ciklus megvalstsa folyamatbrval
A ciklusmag egyszer
biztos, hogy
vgrehajtdik!
h
ciklusfelttel
Ciklusmag
utastsai
i
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
Alapfogalmak
Szmll ciklus megvalstsa folyamatbrval
i
Vltoz:=tl..ig
Ciklusmag
utastsai
h
A ciklusmag
nem biztos,
hogy
vgrehajtdik!
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
Alapfogalmak
Egyb elemek a folyambrs brzolshoz
Bevitel / kivitel
Start Stop
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
Alapfogalmak
Struktogram
Felttel megadsa
igaz hamis
utasts 1

utasts 2
utasts 1

utasts 2
utasts 1

utasts 2
szekvencia
ciklus felttel
ciklusmag
ciklus
elgazs
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
1. Ttel
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
1. Ttel
nnek egy rendszer rszeknt olyan programot kell
kszteni, amely egy a felhasznl ltal megadott mappa
teljes tartalmt alknyvtrakkal egytt tmsolja egy
msik szintn a felhasznl ltal megadott helyre.

Hogyan tervezn meg a felhasznl felletet, s ezt milyen
mdon vlasztan szt a programlogiktl?
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
1. Ttel
nnek egy rendszer rszeknt olyan programot kell kszteni, amely egy
a felhasznl ltal megadott mappa teljes tartalmt alknyvtrakkal
egytt tmsolja egy msik szintn a felhasznl ltal megadott helyre.

Hogyan tervezn meg a felhasznl felletet, s ezt milyen mdon
vlasztan szt a programlogiktl?
1. A rendszerelemek tartalmi tervezse Feladat elemekre bontsa
2. Eszkzkrnyezet meghatrozsa A krnyezet adta lehetsgek feltrsa
3. llomnykezels llomnyok msolsa
4. Esemnykezels A msols folyamatnak szemlltetse
5. Felhasznli felletek Folyamatjelz hasznlata
Informcitartalom vzlata:
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
1. Ttel
nnek egy rendszer rszeknt olyan programot kell kszteni, amely egy a felhasznl ltal megadott mappa teljes
tartalmt alknyvtrakkal egytt tmsolja egy msik szintn a felhasznl ltal megadott helyre.

Hogyan tervezn meg a felhasznl felletet, s ezt milyen mdon vlasztan szt a programlogiktl?
A rendszerelemek tartalmi tervezse
Feladat elemekre bontsa
Forrsmappa megadsa Ellenrzsek Mret meghatrozs
Clmappa megadsa Ellenrzsek Msols folyamata
Folyamat llapotnak
jelzse
Ellenrzsek
Msols folyamatnak
befejezse
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
1. Ttel
nnek egy rendszer rszeknt olyan programot kell kszteni, amely egy a felhasznl ltal megadott mappa teljes
tartalmt alknyvtrakkal egytt tmsolja egy msik szintn a felhasznl ltal megadott helyre.

Hogyan tervezn meg a felhasznl felletet, s ezt milyen mdon vlasztan szt a programlogiktl?
Eszkzkrnyezet meghatrozsa
A krnyezet adta lehetsgek feltrsa
Opercis rendszer
Fjlrendszer
Prhuzamossg
tmogatsa
Fejlesztrendszer
kiterjedtsge
Alacsony / magas
szint nyelv
Assembly,
C/C++, Pascal, C#
Modulok, komponensek
tmogatsa
Prhuzamossg
tmogatsa
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
1. Ttel
nnek egy rendszer rszeknt olyan programot kell kszteni, amely egy a felhasznl ltal megadott mappa teljes
tartalmt alknyvtrakkal egytt tmsolja egy msik szintn a felhasznl ltal megadott helyre.

Hogyan tervezn meg a felhasznl felletet, s ezt milyen mdon vlasztan szt a programlogiktl?
llomnykezels
llomnyok msolsa
Alacsonyszint nyelv
(Assembly)
Binris adattvitel
Elre definilt eljrsok
Magas szint nyelv
(C/C++, C#, Delphi, Java)
Fjlszint tvitel
Elre definilt eljrsok
UI User Interface
(Felhasznli fellet)
GUI Graphical UI
(Grafikus felhasznli f.)
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
1. Ttel
nnek egy rendszer rszeknt olyan programot kell kszteni, amely egy a felhasznl ltal megadott mappa teljes
tartalmt alknyvtrakkal egytt tmsolja egy msik szintn a felhasznl ltal megadott helyre.

Hogyan tervezn meg a felhasznl felletet, s ezt milyen mdon vlasztan szt a programlogiktl?
Esemnykezels
A msols folyamatnak szemlltetse
START
STOP
Forrsmappa megadsa
Ellenrzsek
Mret s darabszm
meghatrozsa
igaz hamis
Kirats
jelentsek
Fjlok msolsa
Clmappa megadsa
Ellenrzsek
igaz hamis
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
1. Ttel
nnek egy rendszer rszeknt olyan programot kell kszteni, amely egy a felhasznl ltal megadott mappa teljes
tartalmt alknyvtrakkal egytt tmsolja egy msik szintn a felhasznl ltal megadott helyre.

Hogyan tervezn meg a felhasznl felletet, s ezt milyen mdon vlasztan szt a programlogiktl?
Felhasznli felletek
Folyamatjelz hasznlata
STOP
Fjlok msolsa
igaz
69%
Grafikus felhasznli fellet
h
DB > maxDB
Fjlok[DB]
msolsa
i
DB += 1
Folyamatjelz
vezrlse
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
1. Ttel
nnek egy rendszer rszeknt olyan programot kell kszteni, amely egy a felhasznl ltal megadott mappa teljes
tartalmt alknyvtrakkal egytt tmsolja egy msik szintn a felhasznl ltal megadott helyre.

Hogyan tervezn meg a felhasznl felletet, s ezt milyen mdon vlasztan szt a programlogiktl?
Hogyan tervezn meg a felhasznl felletet,
s ezt milyen mdon vlasztan szt a programlogiktl?
Function masol( forras:String, cel:String, jelzo:Object)
{
CopyFiles(forras, cel, jelzo.ertek);
}


Program kezdete
masol ( forrasmappa.fname, celmappa.fname, csik );
Program vge
Programlogika Felhasznli fellet
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
2. Ttel
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
2. Ttel
Milyen mdszerekkel optimalizln egy mr ksz program futst, ha abban
sokszor kell tmbkben, listkban keresni?
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
2. Ttel
Milyen mdszerekkel optimalizln egy mr ksz program
futst, ha abban sokszor kell tmbkben, listkban keresni?
Informcitartalom vzlata:
1. Programozsi ttelek (alapalgoritmusok) Keress, logaritmikus keress
2. Adatszerkezetek, objektumok Tmbk, listk bejrsa
3. Programtervezsi mdszerek Keressek optimalizlsa
4. Tesztels, hibakeress Tlcsordulsok kezelse
Programozsi ttelek
Mik is ezek?
A programozsban elfordul tpusfeladatokra adnak ltalnos
megoldst
Az adott feladattpusnak matematikailag bizonythatan helyes s a
legoptimlisabb megoldst adjk
Mirt most tanuljuk?
A ttelek tbbsge tbb bemen adattal vgez el valamilyen
talaktst, s ehhez a tmb adatszerkezet ismerete szksges
Programozsi ttelek
Csoportostsuk
Aszerint csoportostjuk ket, hogy mi a bemen s kimen
adatuk, eszerint megklnbztetnk:

adatsorozathoz egy adatot rendel tteleket;
adatsorozathoz adatsorozatot rendel tteleket
Programozsi ttelek
Adatsorozathoz egy rtket rendel ttelek
1. Sorozatszmts ttel
Bemen adat: egy N elem adatsorozat (A tmb)
Kimen adat: Egy rtk, amelynek kiszmtshoz az adatsorozat
minden elemt felhasznljuk
Szksges hozz mg egy kiszmtsi szably, amely megmondja,
hogy az rtket hogy kapjuk meg a sorozat elemeibl (F)
Pldk: sszeg, szmtani kzp (tlag), mrtani kzp,
ngyzetsszeg, harmonikus kzp, stb.

Programozsi ttelek
Adatsorozathoz egy rtket rendel ttelek
1. Sorozatszmts ttel

ltalnos algoritmusa (sszegre megrva):

Eljrs Sorozatszmts
sszeg:=0
Ciklus i:=1-tl N-ig
sszeg:=sszeg+A(i)
Ciklus vge
Eljrs vge
Programozsi ttelek
Adatsorozathoz egy rtket rendel ttelek
2. Eldnts ttel
Bemen adat: egy N elem adatsorozat (A tmb)
Kimen adat: Egy logikai rtk, amely megmondja, hogy egy
adott T tulajdonsg elem elfordul-e az adatsorozatban
Pldk: van-e pros, pratlan, hrommal oszthat, vagy olyan
elem, aminek az elz eleme pratlan, stb. (tetszlegesen
bonyolultat ki lehet tallni)
Programozsi ttelek
Adatsorozathoz egy rtket rendel ttelek
2. Eldnts ttel

ltalnos algoritmusa:

Eljrs Eldnts
i:=1
Ciklus amg i<=N s A[i] nem T tulajdonsg
i:=i+1
Ciklus vge
VAN:=i<=N
Eljrs vge
Programozsi ttelek
Adatsorozathoz egy rtket rendel ttelek
3. Kivlaszts ttel
Bemen adat: egy N elem adatsorozat (A tmb)
Kimen adat: Egy adott T tulajdonsg elem sorszma
Elfelttel: VAN T tulajdonsg elem az adatsorozatban
Pldk: szmelmleti feladatok, amelyekhez nem kell tmb:
keressk meg egy pozitv termszetes szm legkisebb
prmosztjt, stb.
Kitekints: Programozsi ttelek
Adatsorozathoz egy rtket rendel ttelek
3. Kivlaszts ttel

ltalnos algoritmusa:

Eljrs Kivlaszts
i:=1
Ciklus amg A[i] nem T tulajdonsg
i:=i+1
Ciklus vge
SORSZM:=i
Eljrs vge
Programozsi ttelek
Adatsorozathoz egy rtket rendel ttelek
4. (Lineris) keress ttel
Bemen adat: egy N elem adatsorozat (A tmb)
Kimen adat: Egy adott T tulajdonsg elem sorszma, s egy
logikai rtk, amely megmondja, volt-e T tulajdonsg elem
Pldk: tmbben pros elem keresse, olyan elem keresse, amely kt
szomszdjnak szmtani kzepe, stb.
Programozsi ttelek
Adatsorozathoz egy rtket rendel ttelek
4. (Lineris) keress ttel

ltalnos algoritmusa:

Eljrs Keress
i:=1
Ciklus amg i<=N s A[i] nem T tulajdonsg
i:=i+1
Ciklus vge
VAN:=i<=N
Ha VAN akkor SORSZM:=i
Eljrs vge
Programozsi ttelek
Adatsorozathoz egy rtket rendel ttelek
5. Megszmols ttel
Bemen adat: egy N elem adatsorozat (A tmb)
Kimen adat: Annak darabszma, hogy egy adott T tulajdonsg
elembl mennyi van
Pldk: tmbben pros elemek megszmolsa, karakterlncban
magnhangz szmols, stb.
Programozsi ttelek
Adatsorozathoz egy rtket rendel ttelek
5. Megszmols ttel

ltalnos algoritmusa:

Eljrs Megszmols
DB:=0
Ciklus i:=1-tl N-ig
Ha A(i) T tulajdonsg, akkor DB:=DB+1
Ciklus vge
Eljrs vge
Programozsi ttelek
Adatsorozathoz egy rtket rendel ttelek
6. Maximum(minimum)kivlaszts ttel
Bemen adat: egy N elem adatsorozat (A tmb)
Szksges hozz egy olyan sszehasonlthatsgi tulajdonsg,
amely szerint a kisebb s nagyobb relci rtelmezve van
Kimen adat: Valamilyen szempontbl a legnagyobb(legkisebb)
elem rtke s/vagy sorszma

Programozsi ttelek
Adatsorozathoz egy rtket rendel ttelek
6. Maximum(minimum)kivlaszts ttel

ltalnos algoritmusa (1. vltozat):

Eljrs Maximumkivlaszts
MAXIMUM:=A(1)
INDEX:=1
Ciklus i:=2-tl N-ig
Ha A(i)>MAXIMUM akkor MAXIMUM:=A(i)
INDEX:=i
Ciklus vge
Eljrs vge
Programozsi ttelek
Adatsorozathoz egy rtket rendel ttelek
6. Maximum(minimum)kivlaszts ttel

ltalnos algoritmusa (2. vltozat):

Eljrs Maximumkivlaszts
INDEX:=1
Ciklus i:=2-tl N-ig
Ha A(i)>A(INDEX) akkor INDEX:=i
Ciklus vge
MAXIMUM:=A(INDEX)
Eljrs vge
Programozsi ttelek
Adatsorozathoz adatsorozatot rendel ttelek
1. Kivlogats ttel
Bemen adat: egy N elem adatsorozat (A tmb)
Kimen adat: Az sszes T tulajdonsg elem egy j tmbben (B)
A kimen adatok trolshoz ugyanakkora tmb szksges, mint a
bemen adatokhoz, mert nem tudjuk elre, hny T tulajdonsg
elem lesz
Pldk: vlogassuk ki a prosakat, prmeket, stb. egy
szmsorozatbl.

Programozsi ttelek
Adatsorozathoz adatsorozatot rendel ttelek
1. Kivlogats ttel

ltalnos algoritmusa
Eljrs Kivlogats
j:=0
Ciklus i:=1-tl N-ig
Ha A(i) T tulajdonsg akkor j:=j+1
B(j):=A(i)
Ciklus vge
Eljrs vge
Programozsi ttelek
Adatsorozathoz adatsorozatot rendel ttelek
2. Sztvlogats ttel
Bemen adat: egy N elem adatsorozat (A tmb)
Kimen adat: Az sszes T tulajdonsg elem egy j tmbben (B),
s egy msikban (C) az sszes nem T tulajdonsg elem
A kimen adatok trolshoz ugyanakkora tmbk szksgesek,
mint a bemen adatokhoz, mert nem tudjuk elre, hny T
tulajdonsg elem lesz
Pldk: vlogassuk szt a prosakat s nem prosokat, prmeket s
nem prmeket, stb. egy szmsorozatbl.

Programozsi ttelek
Adatsorozathoz adatsorozatot rendel ttelek
2. Sztvlogats ttel

ltalnos algoritmusa
Eljrs Kivlogats
j:=0
k:=0
Ciklus i:=1-tl N-ig
Ha A(i) T tulajdonsg akkor j:=j+1
B(j):=A(i)
egybknt
k:=k+1
C(k):=A(i)
Elgazs vge
Ciklus vge
Eljrs vge
Programozsi ttelek
Adatsorozathoz adatsorozatot rendel ttelek
3. Metszet
Bemen adat: kt adatsorozat, egy N elem (A tmb), s egy M
elem (B), amelyek azonos elemtpusak
Kimen adat: Az sszes olyan elem egy j tmbben (C), amely
mindkt tmbben elfordul
A kimen adatok trolshoz szksges tmb mrete N s M
kzl a kisebb tm elemszmval egyezik meg
A feladat tfogalmazhat: vlogassuk ki A azon elemeit, amelyek
benne vannak B-ben, vagyis kt elemi ttel sszeptsvel
megoldhat
Pldk: szmok kzs osztinak megadsa, kt ember
hatridnapljnak ismeretben azon estk meghatrozsa, amikor
el tudnak menni egytt vacsorzni
Programozsi ttelek
Adatsorozathoz adatsorozatot rendel ttelek
4. Uni
Bemen adat: kt adatsorozat, egy N elem (A tmb), s egy M
elem (B), amelyek azonos elemtpusak
Kimen adat: Az sszes olyan elem egy j tmbben (C), amely
legalbb az egyik tmbben elfordul
A kimen adatok trolshoz szksges tmb mrete N+M
A feladat tfogalmazhat: msoljuk le A elemeit, majd vlogassuk
ki B-bl azokat az elemeket, amelyek nincsenek benne A-ban.
Vagyis egy sorozatszmts, majd egy kivlogats, ami egy
eldntst tartalmaz.
Pldk: szmok kzs osztinak megadsa, kt ember
hatridnapljnak ismeretben azon estk meghatrozsa, amikor
el tudnak menni egytt vacsorzni
Programozsi ttelek
Rendezsek

Az alapfeladat: N elem adatsorozat (A tmb) nagysg szerinti sorba
rendezse(szksges, hogy ltezzen a <,<= relci a sorozat elemtpusra)
Lteznek olyan mdszerek, amelyek j tmbbe rendezik az adatsorozatot,
vagy ltrehoznak egy szmsorozatot, amely lerja a sorrendet (indexels)
A kvetkez algoritmusok azonban helyben rendeznek, a rendezett sorozat
magban az eredeti tmbben keletkezik
Minden esetben, ha kt elemet ezek sorn fel kell cserlni, a kvetkez
eljrst alkalmazzuk:

Eljrs Csere(A,B)
Seged:=A
A:=B
B:=Seged
Eljrs vge

Programozsi ttelek
Rendezsek
1. Egyszer csers rendezs
Alapelv: hasonltsuk ssze a sorozat els elemt sorban minden
utna kvetkez elemmel, s ha szksges (nla kisebbet
talltunk), akkor cserljnk. Ezzel elrjk, hogy a sorozat
legkisebb eleme az els helyre kerl.
Folytassuk ugyanezt a mdszert a msodik, harmadikstb.
elemekre
A rendezseket aszerint jellemezzk, hogy mekkora a
helyfoglalsa a memriban, hny sszehasonlts s hny
mozgats szksges hozz. Ezek a jellemzk az egyszer csers
rendezsre:
Helyfoglals: N+1 elem
sszehasonltsok szma: N*(N-1)/2 (N*N-nel arnyos)
Mozgatsok szma: 0 3*N*(N-1)/2, fgg az eredeti sorozat
rendezettsgtl
Programozsi ttelek
Rendezsek
1. Egyszer csers rendezs
ltalnos algoritmusa
Eljrs Egyszer csers rendezs
Ciklus i:=1-tl N-1-ig
Ciklus j:=i+1-tl N-ig
Ha A(i)>A(j) akkor Csere(A(i),A(j))
Ciklus vge
Ciklus vge
Eljrs vge
Programozsi ttelek
Rendezsek
2. Minimumkivlasztsos rendezs
Az elz mdszer htrnya a sok felesleges csere.
Ennek cskkentsre j elv: keressk meg a sorozat legkisebb
elemt, majd cserljk fel az els elemmel
Ezutn keressk meg a msodik elemmel kezdd sorozat
legkisebb elemt, s ezt cserljk fel a msodik elemmel
Helyfoglals: N+1 elem
sszehasonltsok szma: N*(N-1)/2 (N*N-nel arnyos)
Mozgatsok szma: 3*(N-1), nem fgg az eredeti sorozat
rendezettsgtl
Programozsi ttelek
Rendezsek
2. Minimumkivlasztsos rendezs
ltalnos algoritmusa

Eljrs Minimumkivlasztsos rendezs
Ciklus i:=1-tl N-1-ig
MIN:=I
Ciklus j:=i+1-tl N-ig
Ha A(MIN)>A(j) akkor MIN:=j
Ciklus vge
Csere(A(i),A(MIN)
Ciklus vge
Eljrs vge
Programozsi ttelek
Rendezsek
3. Buborkrendezs
j alapelv: mindig szomszdos elemeket cserljnk
Elszr induljunk az els elemtl, s csinljuk a szomszdok
hasonltst a sorozat vgig. Ekkor a legnagyobb elem az utols
helyre kerl, a tbbi pedig a helye fel mozdul el ( a kisebbek az
eleje, a nagyobbak a vge fel, innen a buborkmdszer elnevezs)
Ezutn ismteljk meg a cserket, de most mr csak az elstl az
utols eltti elemig, mert az utols mr j helyen van, s gy
tovbb
Helyfoglals: N+1 elem
sszehasonltsok szma: N*(N-1)/2 (N*N-nel arnyos)
Mozgatsok szma: 0 -3*N*(N-1), fgg az eredeti sorozat
rendezettsgtl
Programozsi ttelek
Rendezsek
3. Buborkrendezs

ltalnos algoritmusa
Eljrs Buborkrendezs
Ciklus i:=N-tl 2-ig -1-esvel
Ciklus j:=1-tl i-1-ig
Ha A(j)>A(j+1) akkor Csere(A(j,A(j+1))
Ciklus vge
Ciklus vge
Eljrs vge
Programozsi ttelek
Rendezsek
4. Beillesztses rendezs
j alapelv: egyetlen elem mindig rendezett, s ha van egy
rendezett rszsorozatunk, abba illesszk be a megfelel helyre az
aktulis elemet
Ez a beilleszts gy mkdik, hogy az tban lv elemeket a
sorozat vge fel lptetjk
Helyfoglals: N+1 elem
sszehasonltsok szma: 0 - N*(N-1)/2 (N*N-nel arnyos, fgg a
rendezettsgtl)
Mozgatsok szma: 0 -3*N*(N-1), fgg az eredeti sorozat
rendezettsgtl
Programozsi ttelek
Rendezsek
4. Beillesztses rendezs

ltalnos algoritmusa
Eljrs Beillesztses rendezs
Ciklus i:=2-tl N-ig
j:=i-1
Ciklus amg j>0 s A(j)>A(j+1)
Csere(A(j,A(j+1))
j:=j-1
Ciklus vge
Ciklus vge
Eljrs vge
Programozsi ttelek
Keressek
Ebben a rszben specilis keressi feladatokkal
foglalkozunk
Mr tanultuk a lineris keresst, ami rendezetlen
sorozatban keres
Vannak azonban rendezett sorozatra ennl
hatkonyabb keressi mdszerek, illetve van olyan
keress is, amelynek nem egy elem, hanem egy
adatsorozat az eredmnye
Programozsi ttelek
Keressek
1. Keress rendezett sorozatban
Binris, vagy logaritmikus keressnek is nevezik
Elve: az intervallumfelezs
Megvizsgljuk a sorozat kzps elemt: ha a keresett elem
ennl nagyobb, akkor a tovbbiakban csak a sorozat
msodik felvel foglalkozunk, ha nem, akkor az elejvel
Bemen adat: egy N elem RENDEZETT adatsorozat (A
tmb)
(feltteleztk, hogy az elemek valamilyen tulajdonsg
alapjn sorba rendezhetk)
Kimen adat: Egy Y rtkkel megegyez elem sorszma
(SORSZAM), s egy logikai rtk, amely megmondja, volt-
e Y rtkkel megegyez elem (VAN)
Programozsi ttelek
Keressek
1. Keress rendezett sorozatban
Ksbbi din
Programozsi ttelek
Keressek
2. Visszalpses keress (back-track)
Ez nem igazi keress: itt egy specilis feladat megoldst
keressk
Ez a megolds minden esetben maga is egy sorozat
E sorozat minden egyes tagjt valamilyen sorozatbl kell
kikeresni, de az egyes keressek sszefggnek egymssal
Minden egyes j vlaszts az sszes korbbitl fgghet, a
ksbbiektl azonban nem (ezt egy specilis F fggvnnyel
rjuk le)
Egyes esetekben a vlaszts a sajt jellemzjtl is fgghet
(ezt egy specilis G fggvnnyel rjuk majd le)
Programozsi ttelek
Keressek
2. Visszalpses keress (back-track)
Pldafeladatok:
Helyezznk el egy 8x8-as sakktbln 8 vezrt gy, hogy egyik
se sse a msikat! (lehet ms bbu is)
Egy vllalat N db munkra szeretne munksokat felvenni.
Jelentkezik N db munks, mindegyik megadja, hogy milyen
munkt tudna elvgezni. Osszuk el kzttk a munkt gy,
hogy minden munka el legyen vgezve, s mindenkinek jusson
munka!
N bolt M pksgtl rendel kenyeret. Ismerjk a boltok
kenyrignyt, a pksgek stsi kapacitst, valamint azt,
hogy melyik bolt melyik pksggel ll kapcsolatban. Adjuk
meg, melyik bolt pksgbl rendelje a kenyeret, ha minden
bolt csak egy pksgtl rendelhet!
Programozsi ttelek
Keressek
2. Visszalpses keress (back-track)

ltalnos algoritmusa:
A hasznlt vltozk:
N:egsz [a sorozatok szma, pl. a 8 oszlop a sakktbln]
M:tmb(1..N:egsz) [az egyes sorozatok elemszma, pl. a
sakktbla oszlopainak hossza]
X:tmb(1..N:egsz) [a vlasztott elemek sorszma, pl. a
mez sorszma, ahova az adott oszlopban elhelyezzk a
vezrt]
VAN:logikai [akkor igaz, ha minden sorozatbl
megtalltuk a megfelelt
Programozsi ttelek
Keressek
2. Visszalpses keress (back-track)

ltalnos algoritmusa:
Az algoritmus megrshoz hrom eljrst kell megrnunk:
A legfels szinten megkeressk az i. sorozatbl a megfelel
elemet. Ha talltunk ilyet, akkor tovbblpnk az i+1. sorozatra,
ha nem talltunk, akkor visszalpnk az i-1.-re, s abban
keresnk tovbb
Az i. sorozatban val keress egy lineris keress, kln
eljrsban
Lesz mg egy, a feladattl fgg RosszEset fggvny, amely azt
rja le, hogy mi a nem megfelel eset (pl. mikor tik egymst a
kirlynk)
Programozsi ttelek
Keressek
2. Visszalpses keress (back-track)
ltalnos algoritmusa:

Eljrs BackTrack(N,M,X,VAN)
i:=1
X(1..N):=(0,..,0) {0 jelzi, hogy az adott sorozatban
nem talltunk mg megfelelt}
Ciklus amg i>=1 s i<=N
JEsetKeress(M,X,i,melyik,VAN) {a melyik vltozban adja
vissza, hogy az i. sorozatban
melyik a megfelel}
Ha VAN akkor X(i):=melyik
i:=i+1 {elre lpnk}
egybknt X(I):=0
i:=i-1 {visszalpnk}
Elgazs vge
Eljrs vge

Programozsi ttelek
Keressek
2. Visszalpses keress (back-track)
ltalnos algoritmusa:

Eljrs JEsetKeress(M,X,i,melyik,VAN)
melyik :=X(i)+1
Ciklus amg melyik<=M(i) s RosszEset(i,X,melyik) s nem G(i,X(i)
melyik:=melyik+1
Ciklus vge
VAN:=(melyik<=M(I))
Eljrs vge
Fggvny RosszEset(i,X,melyik):Logikai
j:=1
Ciklus amg j<i s F(i, melyik,j,X(j))
j:=j+1
Ciklus vge
RosszEset:=(j<i)
Fggvny vge
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
2. Ttel
Milyen mdszerekkel optimalizln egy mr ksz program futst, ha abban
sokszor kell tmbkben, listkban keresni?
Programozsi ttelek (alapalgoritmusok)
Keress, logaritmikus keress
Eljrs Binris_Keress
E := 1
U := N
Ciklus
K := [ ( E+U ) / 2] {E+U felnek egszrsze}
Elgazs
Y < A( K ) esetn U := K-1
Y > A( K ) esetn E := K+1
Elgazs vge
Amg E <= U s A( K ) <> Y
Ciklus vge
VAN := ( E <= U )
Ha VAN akkor SORSZAM := K
Eljrs vge
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
2. Ttel
Milyen mdszerekkel optimalizln egy mr ksz program futst, ha abban
sokszor kell tmbkben, listkban keresni?
Programozsi ttelek (alapalgoritmusok)
Keress, logaritmikus keress
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
E:=1 U:=N
K:=[E+U] / 2
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
2. Ttel
Milyen mdszerekkel optimalizln egy mr ksz program futst, ha abban
sokszor kell tmbkben, listkban keresni?
Adatszerkezetek, objektumok
Tmbk, listk bejrsa
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
Els elem Utols elem
Tmbk bejrsa
I := Tmb[ index ]
Tmb[ index ] := I
for (i:=1 ; i <= tmb.hossz ; i++)
{
K := tmb[ i ] ;
Kir_kpernyre( K ) ;
}
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
2. Ttel
Milyen mdszerekkel optimalizln egy mr ksz program futst, ha abban
sokszor kell tmbkben, listkban keresni?
Adatszerkezetek, objektumok Tmbk, listk bejrsa

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
Tmbk bejrsa 2 dimenzis tmb
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44
for ( i := 1 ; i <= tmb.sorszam ; i++)
{
for ( j := 1 ; j <= tmb.oszlopszam ; j++)
{
K := tmb[ j + ( i - 1 ) * tmb.oszlopszam ] ;
Kir_kpernyre( K ) ;
}
}
oszlopszm
sorszm
45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66
67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
2. Ttel
Milyen mdszerekkel optimalizln egy mr ksz program futst, ha abban
sokszor kell tmbkben, listkban keresni?
Adatszerkezetek, objektumok Tmbk, listk bejrsa

Listk bejrsa
elem elem
elem
Egyszeresen lncolt lista
NULL
Els elemre mutat vltoz
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
2. Ttel
Milyen mdszerekkel optimalizln egy mr ksz program futst, ha abban
sokszor kell tmbkben, listkban keresni?
Adatszerkezetek, objektumok Tmbk, listk bejrsa

Listk bejrsa
elem elem
elem
Ktszeresen lncolt lista
NULL
Els elemre mutat vltoz
NULL
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
2. Ttel
Milyen mdszerekkel optimalizln egy mr ksz program futst, ha abban
sokszor kell tmbkben, listkban keresni?
Programtervezsi mdszerek Keressek optimalizlsa

1. rtkkeressnl rendezs
2. Mintakeressnl bc sorrend
3. Indexels
4. Kategorizls
5. Egyb, egyni lehetsgek

6. Lpsszm cskkents
7. Futsi id cskkents
8. Memriahasznlat cskkentse

Plda: tmb[12] = { 3,6,7,3,2,5,8,4,6,3,7,5 }
i := 0;
Ciklus
Ha ( tmb[i] = = 5 ) akkor VAN:=IGAZ;
i := i+1 ;
Ciklus vge
r := 1;
Ciklus amg (r < 10)
eredmeny := ( 2 * * r
3
) / 3;
tmb[r] := eredmeny;
r := r + 1;
Ciklus vge
Pi2 := 2*;
eredmeny := (Pi2 * r3) / 3;
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
2. Ttel
Milyen mdszerekkel optimalizln egy mr ksz program futst, ha abban
sokszor kell tmbkben, listkban keresni?
Tesztels, hibakeress Tlcsordulsok kezelse

tmb [ 1..25 ] amely egsz tpust kezel (-3276832767 [2 bjton] )

tmb[ 0 ] s tmb[ 26 ] hibt okoz indexelsi tlcsorduls
tmb[ index ] := 34000 hibt okoz brzolhatsgi tlcsorduls

A programban felttelvizsglattal kell meggtolni a tlcsordulst.

Figyelni kell, ha dinamikusan foglaljuk a tmbnek a memrit!!!
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
3. Ttel
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
3. Ttel
Egy jogosultsgokat is kezel alkalmazsban milyen mdszerrel oldan
meg, hogy az egyes felhasznli csoportok fggvnyben klnbz legyen
a felhasznli fellet?
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
3. Ttel
Egy jogosultsgokat is kezel alkalmazsban milyen mdszerrel
oldan meg, hogy az egyes felhasznli csoportok fggvnyben
klnbz legyen a felhasznli fellet?
Informcitartalom vzlata

Szoftver architektra kialaktsa Felhasznli interfsz rkltetse, jrahasznostsa

Kommunikcis kapcsolatok A fellet azonos elemeinek (felletek) fejlesztse
megllaptsa

Rtegek tpusai A felhasznli fellet s az zleti logika
sztbontsa
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
4. Ttel
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
4. Ttel
Egy program mkdse kzben idnknt hibk lpnek fel, de ezek nem
rendszeresen kvetkeznek be. Milyen mdszerrel keresn meg a hiba
helyt?
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
4. Ttel
Egy program mkdse kzben idnknt hibk lpnek fel, de
ezek nem rendszeresen kvetkeznek be. Milyen mdszerrel
keresn meg a hiba helyt?
Informcitartalom vzlata:
Tesztelsi ismeretek (teszttpusok)
- Fekete doboz s fehr doboz mdszer

Szoftverkomponensek
- Az egyes elemek kommunikcijnak vizsglata

Tesztels, hibakeress
- A hiba helynek szktse

Alkalmazsfejleszt eszkzk
- Debuggols hasznlata
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
4. Ttel
Egy program mkdse kzben idnknt hibk lpnek fel, de ezek nem
rendszeresen kvetkeznek be. Milyen mdszerrel keresn meg a hiba helyt?
Tesztelsi ismeretek (teszttpusok) Fekete s fehr doboz mdszer
rasztalterv
(programterv)
A tervezs idszakban ( fehr doboz mdszer)
Dinamikus tesztels
Fehr doboz mdszer
Szerkezet szerinti
tesztels
Fekete doboz mdszer
Ekvivalencia osztlyok
Statikus tesztels
Kdellenrzs
Formai ellenrzs
Tartalmi ellenrzs
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
4. Ttel
Egy program mkdse kzben idnknt hibk lpnek fel, de ezek nem
rendszeresen kvetkeznek be. Milyen mdszerrel keresn meg a hiba helyt?
Szoftverkomponensek Az egyes elemek kommunikcijnak vizsglata
A - komponens B - komponens
C - komponens D - komponens
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
4. Ttel
Egy program mkdse kzben idnknt hibk lpnek fel, de ezek nem
rendszeresen kvetkeznek be. Milyen mdszerrel keresn meg a hiba helyt?
Tesztels, hibakeress A hiba helynek szktse
Indukcis mdszer Dedukcis mdszer
Ekvivalencia osztlyok
Kimen adatokbl
kvetkeztetnk
Lehetsges hiba okok
feltrsa
Hiba helynek szktse
Visszalpses mdszer
Addig megynk,
amg van hiba
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
4. Ttel
Egy program mkdse kzben idnknt hibk lpnek fel, de ezek nem
rendszeresen kvetkeznek be. Milyen mdszerrel keresn meg a hiba helyt?
Alkalmazsfejleszt eszkzk Debuggols hasznlata
Debug eszkzk
Step into
Step over
Breakpoint
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
5. Ttel
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
5. Ttel
Egy rendszer tervezsnl milyen mdszerekkel tenn hatkonyabb a
benne lv ciklusok futst?
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
5. Ttel
Egy rendszer tervezsnl milyen mdszerekkel tenn
hatkonyabb a benne lv ciklusok futst?
Informcitartalom vzlata:
Alapfogalmak (elgazs, ciklus stb.)
- Ciklusok megllt feltteleinek vizsglata
Programozsi ttelek (alapalgoritmusok)
- Keressek, rendezsek gyors vltozatai
Kdols, vltozk hasznlata
- Globlis s loklis vltozk hasznlata
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
5. Ttel
Egy rendszer tervezsnl milyen mdszerekkel tenn hatkonyabb a benne lv
ciklusok futst?

Alapfogalmak (elgazs, ciklus stb.) Ciklusok megllt feltteleinek vizsglata
i := 1;
do {
ertek := keres( A[i] , mit);
i += 1;
}while ( ertek = = 0 );
Milyen hibkat figyelhetnk meg?
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
5. Ttel
Egy rendszer tervezsnl milyen mdszerekkel tenn hatkonyabb a benne lv
ciklusok futst?

Programozsi ttelek (alapalgoritmusok) Keressek, rendezsek gyors vltozatai
Logaritmikus keress
Quick sort
Programozs mdszertan
Programozs mdszertan vizsgattelek
5. Ttel
Quick sort
















Programozs mdszertan
Programozs mdszertan vizsgattelek
5. Ttel
Quick sort [ int tmb[]={7, 4, 9, 10, 6, 8, 3, 5, 2, 1}; ]
void quickSort(int arr[], int left, int right)
{
int i = left, j = right, tmp;
int pivot = arr [ ( left + right ) / 2];

/* partition */
while (i <= j)
{
while ( arr[i] < pivot ) i++;
while ( arr[j] > pivot ) j--;
if (i <= j)
{
tmp = arr [ i ];
arr [ i ] = arr [ j ];
arr [ j ] = tmp; (* kirats *)
i++ ; j--;
}
}
/* recursion */
if (left < j) quickSort(arr, left, j);
if (i < right) quickSort(arr, i, right);
} // itt a vge a QuickSort-nak
7 4 9 10 6 8 3 5 2 1
Pivot= 6 - i= 0 - j= 9 1 4 9 10 6 8 3 5 2 7
Pivot= 6 - i= 2 - j= 8 1 4 2 10 6 8 3 5 9 7
Pivot= 6 - i= 3 - j= 7 1 4 2 5 6 8 3 10 9 7
Pivot= 6 - i= 4 - j= 6 1 4 2 5 3 8 6 10 9 7
Pivot= 2 - i= 1 - j= 2 1 2 4 5 3 8 6 10 9 7
Pivot= 1 - i= 0 - j= 0 1 2 4 5 3 8 6 10 9 7
Pivot= 5 - i= 3 - j= 4 1 2 4 3 5 8 6 10 9 7
Pivot= 4 - i= 2 - j= 3 1 2 3 4 5 8 6 10 9 7
Pivot= 10 - i= 7 - j= 9 1 2 3 4 5 8 6 7 9 10
Pivot= 6 - i= 5 - j= 6 1 2 3 4 5 6 8 7 9 10
Pivot= 7 - i= 6 - j= 7 1 2 3 4 5 6 7 8 9 10
Pivot= 8 - i= 7 - j= 7 1 2 3 4 5 6 7 8 9 10

Vgeredmny = 1 2 3 4 5 6 7 8 9 10
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
5. Ttel
Egy rendszer tervezsnl milyen mdszerekkel tenn hatkonyabb a benne lv
ciklusok futst?

Kdols, vltozk hasznlata Globlis s loklis vltozk hasznlata
#include <stdio.h>

void main()
{
int elso;

elso = 15;
}
#include <stdio.h>

int masodik = 5;

int osszeg( int a, int b)
{
int ertek;
ertek = (a + b);
return ertek;
}

void main()
{
kiir( masodik );
kiir( osszeg(7,4) );
}
Van-e hiba?
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
6. Ttel
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
6. Ttel
Egy felhasznl nincs teljesen tisztban azzal, milyen programot is szeretne
a munkjhoz hasznlni. n fejlesztknt hogyan segten a megfelel
rendszer kialaktsban?
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
6. Ttel
Egy felhasznl nincs teljesen tisztban azzal, milyen programot
is szeretne a munkjhoz hasznlni. n fejlesztknt hogyan
segten a megfelel rendszer kialaktsban?
Informcitartalom vzlata

Rendszerek (elemek, jellemzk) Az egyes programverzik lehetsgeinek
vzlata

Felhasznli ignyek feltrsa, elemzse s csoportostsa Interj ksztse

A rendszerelemek tartalmi tervezse Felhasznli kpernyk kialaktsa

Rendszerfunkcik tervezse Funkcik pontostsa
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
7. Ttel
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
7. Ttel
Egy adatbzist hasznl program tervezsekor hogyan valstan meg az
egyes programrtegek kommunikcijt?

Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
7. Ttel
Egy adatbzist hasznl program tervezsekor hogyan valstan
meg az egyes programrtegek kommunikcijt?
Informcitartalom vzlata

Rendszerek mkdsnek tervezse
Kzs elemek kialaktsa, keretrendszer
Alkalmazsfejleszts lpsei s feladatai
Esemnykezels
Rtegek tpusai
Felhasznli fellet, zleti logika, adatbzis kapcsolat
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
7. Ttel
Egy adatbzist hasznl program tervezsekor hogyan valstan
meg az egyes programrtegek kommunikcijt?
Rendszerek mkdsnek tervezse Kzs elemek kialaktsa, keretrendszer
Felhasznli fellet
zleti logika
Adatbzis rteg
Komponensek hasznlata
Komponensek hasznlata
Komponensek hasznlata
Keretrendszer
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
7. Ttel
Egy adatbzist hasznl program tervezsekor hogyan valstan
meg az egyes programrtegek kommunikcijt?
DBL (database layer - adatbzis):
szigoran csak tblk s a bennk tallhat adatok. Termszetesen ide lehet venni a
kulcsokat, indexeket is.

DAL (data access layer - adatelrsi rteg):
Egyik oldaln az adatbzis ll, a msik egy az adatbzis tpustl fggetlen adathalmaz.
Lehet PostgreSQL, MySQL vagy MS SQL, a Dataset az mindig ugyan gy nz ki.

UI (user interface - felhasznli fellet):
vannak rajta beviteli mezk, gombok, miegyms. Felhasznl ki tudja tlteni az adatokat
s el tudja kldeni az utastst a BL fel.

BLL (business-logic layer - zleti logika):
az eljrsait, property-jeit, stb a UI-rl hvogatjuk, a bemenetei pedig a DAL eljrsai. Itt
valstunk meg olyan dolgokat, amik egy vagy tbb tblt rintenek.
Rtegek tpusai Felhasznli fellet, zleti logika, adatbzis kapcsolat
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
7. Ttel
Egy adatbzist hasznl program tervezsekor hogyan valstan
meg az egyes programrtegek kommunikcijt?
Rtegek tpusai Felhasznli fellet, zleti logika, adatbzis kapcsolat
UI User Interface
BL Business Logic
DA Data access
DB - Database
Windows:
GTK+, Delphi, C++ Builder, Java Builder
Visual Studio (C/C++, C#, Java, Basic,)

Linux:
Anjuta, GTK+, Mono (C#), Kdevelop,
NetBeans (Java)
Program
nyelv
ADO / DAO
ODBC / BDE
Direct Access
PostgresDAC PostgreSQL
MySQL, PostgreSQL, MS SQL, Oracle, Firebird,
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
8. Ttel
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
8. Ttel
Egy mr ksz rendszerhez telept programot kszt. Mik egy ilyen
program feladatai s hogyan oldan ezt meg?

Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
8. Ttel
Egy mr ksz rendszerhez telept programot kszt. Mik egy
ilyen program feladatai s hogyan oldan ezt meg?
Informcitartalom vzlata

Eszkzkrnyezet ltrehozsa
Tmrtett llomnyok
llomnykezels
Knyvtrszerkezet kialaktsa
llomnyok msolsa
Registry hasznlata
Szoftverkomponensek
Az IO komponensek hasznlata
Telept csomagok
Install s uninstall program kialaktsa
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
8. Ttel
Egy mr ksz rendszerhez telept programot kszt. Mik egy
ilyen program feladatai s hogyan oldan ezt meg?
Eszkzkrnyezet ltrehozsa Tmrtett llomnyok
Windows .CAB fjl
DEFLATE, Quantum, LZX
MakeCAB.exe s Extract.exe
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
8. Ttel
Egy mr ksz rendszerhez telept programot kszt. Mik egy
ilyen program feladatai s hogyan oldan ezt meg?
llomnykezels Knyvtrszerkezet kialaktsa
Knyvtrak szerkezete,
fjlok clirnya
Trhely, jogosultsg
Clknyvtrak vizsglata
Program Files\
Documents and Settings\homedir
Egyb korltozsok
Biztonsgi hzirend
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
8. Ttel
Egy mr ksz rendszerhez telept programot kszt. Mik egy
ilyen program feladatai s hogyan oldan ezt meg?
llomnyok msolsa Registry hasznlata
Windows Registry
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS (HKU)
HKEY_CURRENT_CONFIG
HKEY_PERFORMANCE_DATA
HKEY_DYN_DATA
Regedit.exe
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
8. Ttel
Egy mr ksz rendszerhez telept programot kszt. Mik egy
ilyen program feladatai s hogyan oldan ezt meg?
Szoftverkomponensek Az IO komponensek hasznlata
Nyelvi eszkztr hasznlata
#include <stdio.h>
int main ()
{
FILE * pFile;
pFile = fopen ("myfile.txt","w");
if ( pFile != NULL )
{
fputs ("example", pFile);
fclose ( pFile );
} return 0;
}
IO komponensek hasznlata
Komplett hibakezels

Sokfle fjl formtum

Hlzati elrs kezelse

Grafikus fellet

Portolhatsg
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
8. Ttel
Egy mr ksz rendszerhez telept programot kszt. Mik egy
ilyen program feladatai s hogyan oldan ezt meg?
Telept csomagok Install s uninstall program kialaktsa
Install Uninstall
Knyvtr s men ksztse
Jogosultsgok msols
Registry bejegyzsek
Knyvtr s fjl trls
Men s ikon trlse
Registry bejegyzsek
trlse
Vizsglatok
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
9. Ttel
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
9. Ttel
Egy rendszert kell dokumentlnia. Mik lesznek ennek a legfontosabb
jellemzi? Milyen htrnyai vannak a nem megfelel dokumentlsnak?
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
9. Ttel
Egy rendszert kell dokumentlnia. Mik lesznek ennek a
legfontosabb jellemzi? Milyen htrnyai vannak a nem
megfelel dokumentlsnak?
Informcitartalom vzlata

Dokumentls (dokumentumtpusok)
UML diagramok fajti
Kdols
Kommentezs mdszerei
Szoftverkomponensek
A rendszer architektrjnak felptse
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
9. Ttel
Egy rendszert kell dokumentlnia. Mik lesznek ennek a legfontosabb
jellemzi? Milyen htrnyai vannak a nem megfelel dokumentlsnak?
Dokumentls (dokumentumtpusok) UML diagramok fajti (ksbb)
Fejleszti dokumentum Felhasznli dokumentum
Feladatspecifikci
Input / Output adatok
Programlista
Adatok (tpus) lersa
Tesztels adatai
Opertori lers Felhasznli lers
Teleptsi kvetelmny
Telepts paramterezse
Konfigurls
Biztonsgi mentsek
Indts
Hasznlat
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
9. Ttel
Egy rendszert kell dokumentlnia. Mik lesznek ennek a legfontosabb
jellemzi? Milyen htrnyai vannak a nem megfelel dokumentlsnak?
Kommunikcis
diagram
Struktrlis diagram
Diagram
Komponens
diagram
Objektum
diagram
Aktivits
diagram
sszetett struktra
diagram
Csomag
diagram
Teleptsi
diagram
Interakcis
diagram
Szekvencia
diagram
Interakcis
ttekint
Osztly
diagram
Id
diagram
Viselkedsi diagram
Use Case
diagram
llapotgp
diagram
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
10. Ttel
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
10. Ttel
Egy sszetett felhasznl felletet kell terveznie. Ezt milyen szempontok alapjn
tenn meg, hogy az tlthat, logikus s felhasznlbart legyen?
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
10. Ttel
Egy sszetett felhasznl felletet kell terveznie. Ezt milyen
szempontok alapjn tenn meg, hogy az tlthat, logikus s
felhasznlbart legyen?
Informcitartalom vzlata

Az elemek formai meghatrozsa
Knnyen hasznlhat fellet kialaktsa
Navigci megtervezse
Ablakok nyitsnak sorrendje
Navigci s interakcik fejlesztse
Esemnyek kezelse
Felhasznli felletek
Ablakoz rendszer alapelvei
Szerzi rendszerek
Grafikus rendszerek hasznlata
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
11. Ttel
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
11. Ttel
Egy cgnl azt a feladatot kapja, hogy tbbnyelv legyen a felhasznli fellet.
Milyen mdszert hasznlna ennek megvalstshoz?

Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
11. Ttel
Egy cgnl azt a feladatot kapja, hogy tbbnyelv legyen a
felhasznli fellet. Milyen mdszert hasznlna ennek
megvalstshoz?
Informcitartalom vzlata

Rendszerek (elemek, jellemzk)
Adatbzis nyelvi tblinak kialaktsa
Alkalmazsfejleszts lpsei s feladatai
Fellet kialaktsa, elemek szvegeinek cserje
Programtervezsi mdszerek
A fellet elemeinek bejrsa
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
12. Ttel
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
12. Ttel
Egy n ltal fejlesztett programot tbben is hasznlnak egy helyi hlzatban.
Milyen mdon oldan meg, hogy az j programverzik felhasznli
beavatkozs nlkl jussanak el a kliens gpekre?

Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
12. Ttel
Egy n ltal fejlesztett programot tbben is hasznlnak egy helyi
hlzatban. Milyen mdon oldan meg, hogy az j programverzik
felhasznli beavatkozs nlkl jussanak el a kliens gpekre?
Informcitartalom vzlata

Rendszerek mkdsnek tervezse
Frisst program kialaktsa
Szoftver architektra kialaktsa
A rendszer egyes elemeinek kommunikcija
Szoftverkomponensek
Dinamikus knyvtrak (dll) hasznlata
Telept csomagok
j verzi lekrse
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
13. Ttel
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
13. Ttel
Egy adott rendszer fejlesztsnl milyen szempontok alapjn vlasztan ki az
adatbzis-kezel rendszert, a fejleszt eszkzt, illetve a programozsi nyelvet?
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
13. Ttel
Egy adott rendszer fejlesztsnl milyen szempontok alapjn
vlasztan ki az adatbzis-kezel rendszert, a fejleszt eszkzt,
illetve a programozsi nyelvet?
Informcitartalom vzlata

Eszkzkrnyezet meghatrozsa
Adatbzis-kezelk, fejleszteszkzk elnyei, htrnyai
Rendszerek mkdsnek tervezse
A ltrehozand rendszer optimlis mkdsnek felttelei
Alkalmazsfejleszt eszkzk
Fejleszt eszkzk sszehasonltsa

Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
14. Ttel
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
14. Ttel
Egy program fejlesztjeknt milyen rvekkel gyzn meg a fejleszt cgt, hogy
objektum-orientlt mdszert hasznljon a strukturlt helyett?
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
14. Ttel
Egy program fejlesztjeknt milyen rvekkel gyzn meg a fejleszt
cgt, hogy objektum-orientlt mdszert hasznljon a strukturlt
helyett?
Informcitartalom vzlata

Szoftver architektra kialaktsa
UML, objektumok kommunikcija
Adatszerkezetek, objektumok
Objektumok hasznlatnak elnyei
Programtervezsi mdszerek
Objektumok jrahasznostsa
Polimorfizmus
Felhasznli felletek
Template felletek
rklsek elnyei
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
14. Ttel
Egy program fejlesztjeknt milyen rvekkel gyzn meg a fejleszt
cgt, hogy objektum-orientlt mdszert hasznljon a strukturlt
helyett?
class Osztlynv
{
Private:
int i;
double ertek;

Public:
Osztlynv() // konstruktor
{}

~Osztlynv() // destruktor
{}

int maxDB;
int szamol (int a, int b)
{}
Protected:
};
Polimorfizmus:

int cube( int inumber );
long cube( long lnumber );
double cube( double dnumber );
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
15. Ttel
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
15. Ttel
n egy program fejlesztsnek rszeknt keretrendszert r. Mik azok a
legfontosabb elvek, ami alapjn kialaktja ezt?
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
15. Ttel
n egy program fejlesztsnek rszeknt keretrendszert r.
Mik azok a legfontosabb elvek, ami alapjn kialaktja ezt?
Informcitartalom vzlata

Rendszerek (elemek, jellemzk)
Adatbzis-kapcsolatok, osztly-kapcsolatok
Sokszor hasznlt elemek
Kommunikcis kapcsolatok (felletek) fejlesztse
Adat-rzkeny komponensek hasznlata
Alkalmazsfejleszts lpsei s feladatai
Redundns rszek kiemelse
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
15. Ttel
n egy program fejlesztsnek rszeknt keretrendszert r.
Mik azok a legfontosabb elvek, ami alapjn kialaktja ezt?
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
16. Ttel
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
16. Ttel
n egy sakk jtkprogramot fejleszt. Milyen architektrt alaktana ki, hogy a
program knnyen karbantarthat s tovbbfejleszthet legyen?
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
16. Ttel
n egy sakk jtkprogramot fejleszt. Milyen architektrt alaktana
ki, hogy a program knnyen karbantarthat s tovbbfejleszthet
legyen?
Informcitartalom vzlata

Rendszerek mkdsnek tervezse
Objektum-orientlt rendszer kialaktsa
Programtervezsi mdszerek
Adatbzis-, illetve filekezels hasznlata
Felhasznli felletek
Grafikus rendszerek (GDI, OpenGL, DirectX) hasznlata
A sakkfigurk, mint objektumok
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
16. Ttel
n egy sakk jtkprogramot fejleszt. Milyen architektrt alaktana
ki, hogy a program knnyen karbantarthat s tovbbfejleszthet
legyen?
Rendszerek mkdsnek tervezse Objektum-orientlt rendszer kialaktsa
class Mezo
{
Private:
TColor szin;
TPos2d pozicio;
Public:
Bool Vanrajtababu;
String Melyikbabu;

Mezo( TColor szine ) {}
~Mezo() {}

void Rajzol() {}
void StatuszBeallitas() {}
}
class Figura
{
Private:
Tpos ittvagyok; // konstruktorban
// kezd rtkads
Public:
Figura( Tpos ide) {}
~Figura() {}

void Rajzol() {}
Bool Lepes( Tpos hova ) {}
}
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
16. Ttel
n egy sakk jtkprogramot fejleszt. Milyen architektrt alaktana
ki, hogy a program knnyen karbantarthat s tovbbfejleszthet
legyen?
Felhasznli felletek Grafikus rendszerek (GDI, OpenGL, DirectX) hasznlata
GDI OpenGL DirectX
Kpek
Szvegek
Menk
WYSIWYG
Ingyenes SDK
Kpek, szvegek
Menk, 3d modellek
Virtulis vilgok, Jtkok
Ingyenes SDK
Kpek, szvegek
Menk, 3d modellek
Jtkok PC, XBOX 360
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
17. Ttel
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
17. Ttel
Egy cseveg (chat) program fejlesztsnl milyen lehetsgeket ismer, ami a
gpek kztti kommunikcit valstja meg?
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
17. Ttel
Egy cseveg (chat) program fejlesztsnl milyen lehetsgeket
ismer, ami a gpek kztti kommunikcit valstja meg?
Informcitartalom vzlata

Kommunikcis kapcsolatok (felletek) fejlesztse
Felhasznl fellet kialaktsa
Esemnykezels
zenetklds lehetsgei
Szoftverkomponensek
TCP/IP, http protokoll lehetsgei
Osztott objektumok hasznlata
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
17. Ttel
Egy cseveg (chat) program fejlesztsnl milyen lehetsgeket
ismer, ami a gpek kztti kommunikcit valstja meg?
Esemnykezels zenetklds lehetsgei
1. emberke
2. emberke
Internet
TCP / IP
HTTP
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
17. Ttel
Egy cseveg (chat) program fejlesztsnl milyen lehetsgeket
ismer, ami a gpek kztti kommunikcit valstja meg?
Szoftverkomponensek TCP/IP, HTTP protokoll lehetsgei
Osztott objektumok hasznlata
TCP/IP protokollhierarchia
Protokollok
Alkalmazsi FTP, HTTP, IMAP, POP3, SMTP, SSH, Telnet, Bittorrent,
Szlltsi TCP, UDP,
Hlzati IPv4, IPv6,
Adatkapcsolati Ethernet, Wi-Fi, Token ring,
Fizikai RS-232, 10Base-TX, 100Base-TX, 1000Base-T,
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
18. Ttel
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
18. Ttel
Egy szoftverfejleszt cg vezet-fejlesztjeknt milyen szempontok alapjn
osztan szt a feladatokat az egyes fejlesztk kztt?
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
18. Ttel
Egy szoftverfejleszt cg vezet-fejlesztjeknt milyen szempontok
alapjn osztan szt a feladatokat az egyes fejlesztk kztt?
Informcitartalom vzlata

Rendszerek (elemek, jellemzk)
Elz rendszerek szerkezete
Fejlesztk elz munki
Rendszerfunkcik tervezse
Jl sztvlaszthat modulok ksztse
Szoftver architektra kialaktsa
Fellettervezs, zleti logika, adatbzis kapcsolatok
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
19. Ttel
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
19. Ttel
Milyen kdolsi konvencikat vezetne be egy csoportmunkban fejleszt cgnl,
hogy a lehet leghatkonyabb mdon trtnjen a munkavgzs?
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
19. Ttel
Milyen kdolsi konvencikat vezetne be egy csoportmunkban
fejleszt cgnl, hogy a lehet leghatkonyabb mdon trtnjen a
munkavgzs?
Informcitartalom vzlata

Alapfogalmak (elgazs, ciklus stb.)
Ciklusok egysges hasznlata
Programozsi ttelek (alapalgoritmusok)
Algoritmusok kivlasztsa
Kdols
Vltozk, osztlyok stb. elnevezse
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
20. Ttel
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
20. Ttel
Milyen mdszerrel teszteln az n ltal fejlesztett modult, amely egy msik
programoz ltal rand modult hasznln, de az mg nincs teljesen ksz?
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
20. Ttel
Milyen mdszerrel teszteln az n ltal fejlesztett modult, amely egy
msik programoz ltal rand modult hasznln, de az mg nincs
teljesen ksz?
Informcitartalom vzlata

Tesztelsi ismeretek (teszttpusok)
Fekete s fehr doboz mdszerek
Adatszerkezetek, objektumok
Virtulis mkds kialaktsa
Interfszek hasznlata
Tesztels, hibakeress
A modul sszes funkcijnak tesztelse
Programozs mdszertan
Programozs mdszertan vizsgattelek Ills Attila 2010.
20. Ttel
Milyen mdszerrel teszteln az n ltal fejlesztett modult, amely egy
msik programoz ltal rand modult hasznln, de az mg nincs
teljesen ksz?
Adatszerkezetek, objektumok Virtulis mkds kialaktsa
Interfszek hasznlata
Sajt modul
Msik modul interfsze
Msik modul
lmkds kivltsa
Virtulis mkds

You might also like