Informatikai tehetséggondozás:
|
|
- Flóra Mészáros
- 8 évvel ezelőtt
- Látták:
Átírás
1 Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: isszalépéses keresés TÁMOP /1/KON
2 A visszalépéses keresés (backtrack) a problémamegoldás igen széles területén alkalmazható algoritmus, amelynek lényege a feladat megoldásának megközelítése rendszeres próbálgatással. Néha ez a legjobb megoldás! Adott N sorozat, amelyek rendre M(1), M(2),... M(N) elemszámúak. Ki kell választani mindegyikből egy-egy elemet úgy, hogy az egyes sorozatokból való választások másokat befolyásolnak. Ez egy bonyolult keresési feladat, amelyben egy adott tulajdonsággal rendelkező szám N-est kell megadni úgy, hogy ne kelljen az összes lehetőséget végignézni. E feladatok közös jellemzője, hogy eredményük egy sorozat. E sorozat minden egyes tagját valamilyen sorozatból kell kikeresni, de az egyes keresések összefüggenek egymással (vezért nem lehet oda tenni, ahol egy korábban letett vezér ütné; egy munkát nem lehet két munkásnak adni; ha egy pékségnek elfogyott a kenyere, akkor attól már nem lehet rendelni). A visszalépéses keresés olyan esetekben használható, amikor a keresési tér fastruktúraként képzelhető el, amiben a gyökérből kiindulva egy csúcsot keresünk. Az algoritmus lényege, hogy a kezdőpontból kiindulva megtesz egy utat a feladatot részproblémákra bontva, és ha valahol az derül ki, hogy már nem juthat el a célig, akkor visszalép egy korábbi döntési ponthoz, és ott más utat más rész-problémát választ. Először megpróbálunk az első sorozatból kiválasztani egy elemet, ezután a következőből, s ezt addig csináljuk, amíg választás lehetséges. X(I) jelölje az I. sorozatból kiválasztott elem sorszámát! Ha még nem választottuk, akkor értéke 0 lesz. Ha nincs jó választás, akkor visszalépünk az előző sorozathoz, s megpróbálunk abból egy másik elemet választani. isszalépésnél természetesen törölni kell a választást abból a sorozatból, amelyikből visszalépünk. Az eljárás akkor ér véget, ha minden sorozatból sikerült választani, vagy pedig a visszalépések sokasága után már az első sorozatból sem lehet újabb elemet választani (ekkor a feladatnak nincs megoldása). áltozók: N: Egész [a feldolgozandó sorozat száma] M: Tömb(1..N:Egész) [a feldolgozandó sorozatok elemszáma] AN: Logikai [van-e megfelelő elemsorozat] Y: Tömb(1..N:Egész) [a megfelelő elemek sorszáma] A megoldás legfelső szintjén keressünk az i. sorozatból megfelelő elemet! Ha ez sikerült, akkor lépjünk tovább az i+1. sorozatra, ha pedig nem sikerült, akkor lépjünk vissza az i-1.-re, s keressünk abban újabb lehetséges elemet! 2
3 Keresés(N,an,Y): Ciklus amíg i 1 és i N {lehet még és nincs még kész} Jóesetkeresés(i,an,j) Ha an akkor Y(i):=j; i:=i+1 {előrelépés} an:=(i>n) A keresés befejeződik, ha mindegyik sorozatból sikerült elemet választanunk (i>n) vagy pedig a visszalépések miatt már az elsőből sem tudunk újabbat választani (i<1). Egy lineáris keresés kezdődik az i. sorozatban: Jóesetkeresés(i,an,j): j:=y(i)+1 Ciklus amíg j M(i) és (rossz(i,j) vagy tilos(j)) j:=j+1 an:=(j M(i)) Megjegyzés: az i-edik lépésben a j-edik döntési út nem választható, ha az előzőek miatt rossz, vagy ha önmagában rossz. Megállapíthatjuk tehát, hogy minden egyes új választás az összes korábbitól függhet (ezt formalizálja az rossz függvény), a későbbiektől azonban nem! Egyes esetekben nemcsak a korábbiaktól, hanem saját jellemzőjétől is függhet a választás (ezt írja le az tilos függvény). rossz(i,j): {1. változat} k:=1 Ciklus amíg k<i és szabad(i,j,k,y(k)) k:=k+1 rossz:=(k<i) Megjegyzés: Rossz egy választás, ha valamelyik korábbi választás miatt nem szabad eldöntés. rossz(i,j): {2. változat} s:=f0 Ciklus k=1-től i-1-ig s:=f(s,k,y(k)) rossz:=nem szabad(s,i,j) 3
4 Megjegyzés: Rossz egy választás, ha a korábbiak összessége miatt nem szabad sorozatszámítás, megszámolás, N vezér elhelyezése egy NxN-es sakktáblán Helyezzünk el egy NxN-es sakktáblán N vezért úgy, hogy ne üssék egymást! Az összes lehetséges megoldásból nagyon sok is lehet, de egyetlen megoldás megtalálása várhatóan sokkal gyorsabb. Megjegyzés: sok olyan feladat van például N elem összes lehetséges sorrendjének előállítása ahol az összes megoldás előállítására használjuk a visszalépéses keresés pontosabban visszalépéses kiválogatás algoritmusát, egyetlen megoldás keresésére azonban nincs rá szükség. A vezérekről azt kell tudnunk, hogy a sorukban, az oszlopukban és az átlójukban álló bábukat üthetik. Tehát úgy kell elhelyezni a vezéreket, hogy minden sorban és minden oszlopban is pontosan 1 vezér legyen, és minden átlóban legfeljebb 1 vezér legyen! Ebből következik, hogy a megoldásokban elég azt megmondani, hogy az 1. oszlopban levő vezér melyik sorban áll, a második oszlopban levő vezér melyik sorban áll, és így tovább. Egy lehetséges megoldás N=5-re és N=4-re: Itt tehát nem elég azt megnézni egy új vezér elhelyezésekor, hogy volt-e már a j. sorban vezér, hanem azt is kell, hogy volt-e már az (i,j) mezővel egy átlóban vezér. ezérek(n,an,y): Ciklus amíg i 1 és i N {lehet még és nincs még kész} Jóesetkeresés(i,an,j) Ha an akkor Y(i):=j; i:=i+1 {előrelépés} an:=(i>n) 4
5 Jól látható, hogy a fő eljárásban konkrét feladat miatt semmi teendőnk nincs, egyszerűen csak lemásoljuk az általános sémát. Jóesetkeresés(i,an,j): j:=y(i)+1 Ciklus amíg j N és rossz(i,j) j:=j+1 an:=(j N) A második szinten egyszerűsítenünk kellett, M(i) helyébe N került, valamint nincs szükség a tilos(j) függvényre. rossz(i,j): k:=1 Ciklus amíg k<i és Y(k) j és i-k abs(j-y(k)) k:=k+1 rossz:=(k<i) Ez az az eljárás, ahol ki kellett fejteni a szabad(i,j,k,y(k)) függvényt, de a többi része itt is változatlan. Megjegyzés: A vezéres feladatnak N=2 és N=3 esetén biztosan nincs egy megoldása sem, más N-ek esetén pedig vannak megoldások, de nem túlságosan sok. A sakktábla szimmetria tulajdonságai miatt a megoldások különböző tükörképei, 90 fokos elforgatásai is megoldások, kicsit hatékonyabb megoldást is készíthetnénk.. Példa: az alábbi sakktáblákra nem lehet elhelyezni 2, illetve 3 vezért úgy, hogy ne üssék egymást: 2. Munkásfelvétel: N állás N jelentkező Egy vállalkozás N különböző állásra keres munkásokat. Pontosan N jelentkező érkezett, ahol minden jelentkező megmondta, hogy mely munkákhoz ért, illetve amihez ért, arra menynyi fizetést kérne. 5
6 Legyen D(i) az i. ember által vállalható munkák száma, E(i,j) értéke pedig az általa vállalt j. munka sorszáma. Darab Állások: jelentkező: jelentkező: jelentkező: jelentkező: jelentkező: A vállalkozás vezetője azt szeretné, ha az összes jelentkezőt fel tudná venni és minden munkát elvégeztetni. A megoldásban használt fontos változók: N a munkák és a munkások száma D a munkások hány munkához értenek (D(i) az i. munkás ennyi munkához ért) E az adott munkások mely munkákhoz értenek (E(i,j) az i. munkás által elvégezhető j. munka) Y az aktuálisan számolt megoldás: Y(i) az i. jelentkezőnek adott munka sorszáma Munkák(N,an,Y): Ciklus amíg i 1 és i N {lehet még és nincs még kész} Jóesetkeresés(i,an,j) Ha an akkor Y(i):=j; i:=i+1 {előrelépés} an:=(i>n) Ha an akkor Ciklus i=1-től N-ig Y(i):=Y(i,Y(i)) Jól látható, hogy a fő eljárásban konkrét feladat miatt majdnem semmi teendőnk nincs, egyszerűen csak lemásoljuk az általános sémát. Az egyetlen módosítandó: mivel a megoldásban a j a választás sorszáma, emiatt a végén ebből elő kell állítanunk a munka sorszámát. 6
7 Jóesetkeresés(i,an,j): j:=y(i)+1 Ciklus amíg j D(i) és rossz(i,j) j:=j+1 an:=(j D(i)) A második szinten egyszerűsítenünk kellett, nincs szükség a tilos(j) függvényre. rossz(i,j): k:=1 Ciklus amíg k<i és E(k,Y(k)) E(i,j) k:=k+1 rossz:=(k<i) Mivel j és Y(k) sem munka sorszám, hanem adott munkás munka felsorolásbeli sorszáma, ezért a hasonlítás kissé bonyolultabb lett. A vállalásokat másképp is ábrázolhatjuk. Legyen F(i,j) értéke hamis, ha az i. jelentkező a j. munkához nem ért, illetve igaz, ha ért hozzá. Állások: jelentkező: igaz hamis hamis igaz hamis 2. jelentkező: hamis igaz hamis hamis hamis 3. jelentkező: igaz igaz hamis hamis hamis 4. jelentkező: hamis hamis igaz hamis hamis 5. jelentkező: igaz hamis igaz hamis igaz Munkák(N,an,Y): Ciklus amíg i 1 és i N {lehet még és nincs még kész} Jóesetkeresés(i,an,j) Ha an akkor Y(i):=j; i:=i+1 {előrelépés} an:=(i>n) 7
8 Jól látható, hogy a fő eljárásban konkrét feladat miatt semmi teendőnk nincs, egyszerűen csak lemásoljuk az általános sémát. Jóesetkeresés(i,an,j): j:=y(i)+1 Ciklus amíg j N és (rossz(i,j) vagy nem F(i,j)) j:=j+1 an:=(j N) A második szinten egyszerűsítenünk kellett, M(i) helyébe N került, a tilos(j) függvényt pedig egy mátrix elemre hivatkozással helyettesítjük. rossz(i,j): k:=1 Ciklus amíg k<i és Y(k) j k:=k+1 rossz:=(k<i) A harmadik szinten semmi teendőnk nem volt. Konferencia Egy konferencián párhuzamosan K szekcióban tarthatnak előadást. Minden szekció L egymás utáni előadásból áll. Az előadásokat témák szerint csoportosították, összesen N darab témát neveztek meg. Teljesül, hogy K*L=az előadások száma. Készíts programot, amely úgy osztja a témákat szekciókba, hogy minden téma előadásai azonos szekcióban, egymás után legyenek! Tudjuk, hogy biztosan létezik megoldás. A KONF.BE szöveges állomány első sorában a szekciók száma (1 K 5), az egymás utáni blokkok száma (1 L 10), valamint a témák száma (1 N 50) van, egy-egy szóközzel elválasztva. A következő N sorban az egyes témák neve (pontosan 5 karakteren), s tőle egy szóközzel elválasztva a témához tartozó előadások száma van. A KONF.KI állományba pontosan K sort kell írni, az i-edik sorba az i-edik szekció témanevei kerüljenek, a beosztás sorrendjében, azaz pontosan L darab 5 karakteres név, egy-egy szóközzel elválasztva! 8
9 Példa: KONF.BE KONF.KI BBBBB BBBBB AAAAA AAAAA 1 CCCCC CCCCC DDDDD BBBBB 2 CCCCC 2 DDDDD 1 A feladat visszalépéses kereséssel oldható meg. A lehetséges gyorsítás miatt először rendezzük a szekciókat előadásszám szerint csökkenő sorrendbe! A nagy előadásszámú témák előrehozásával feltehetően nem lesz szükség azok helyének későbbi megváltoztatására, azaz a visszalépéses keresés nem lép vissza azokra a szintekre. Konferencia(N,K,L,e,Y): Ciklus amíg i 1 és i N {lehet még és nincs még kész} Jóesetkeresés(i,an,j) Ha an akkor Y(i):=j; i:=i+1 {előrelépés} an:=(i>n) Ha tudjuk, hogy biztosan van megoldás, akkor az i 1 feltétel az első ciklusnál nem szükséges. Konferencia(N,K,L,e,Y): Ciklus amíg i N {nincs még kész} Jóesetkeresés(i,an,j) Ha an akkor Y(i):=j; i:=i+1 {előrelépés} an:=(i>n) Meg kell keresni a K szekció közül azt a szekciót, ahova a téma blokkjai beférnek: Jóesetkeresés(i,an,j) j:=y(i)+1 Ciklus amíg j K és nem befér(i,j) j:=j+1 9
10 Egy téma akkor fér be egy szekcióba, ha a szekcióba tartozó blokkok száma nem haladja meg az L értékét. befér(i,j): h:=e(i).db Ciklus c=1-től i-1-ig Ha x(c)=j akkor h:=h+e(c).db befér:=(h L) Ezután már csak az maradt hátra, hogy az Y vektor alapján előállítsuk a kért eredményt. 10
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Visszalépéses keresés korlátozással TÁMOP-4.2.3.-12/1/KONV A visszalépéses keresés (backtrack) a problémamegoldás igen széles területén
Visszalépéses keresés korlátozással
Belépő a tudás közösségébe Informatika szakköri segédanyag Visszalépéses keresés korlátozással Heizlerné Bakonyi Viktória, Horváth Győző, Menyhárt László, Szlávi Péter, Törley Gábor, Zsakó László Szerkesztő:
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
Backtrack-es feladat-variációk
Menyhárt László 1, Zsakó László 2 { 1 menyhart, 2 zsako }@caesar.elte.hu ELTE IK Absztrakt. Ezt a cikket olyan informatika tanároknak írtuk, akik az óráikon, házifeladatnak, esetleg versenyeken backtrack-es
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,
Problémamegoldási stratégiák
Problémamegoldási stratégiák Kumulatív összegzés Algoritmusok kumulatív összegzés Adott egy N elemű számsorozat, adjuk meg a sorozat azon [a,b] intervallumát, ahol az elemek összege maximális! Bemenet:
Feladatmegoldási stratégiák
Kumulatív összegzés Algoritmusok kumulatív összegzés Adott egy N elemű számsorozat, adjuk meg a sorozat azon [a,b] intervallumát, ahol az elemek összege maximális! Bemenet: N N, X N * Kimenet: a,b H *
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ó
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Visszalépéses maximumkiválasztás TÁMOP-4.2.3.-12/1/KONV 1. Munkásfelvétel: N állás N jelentkező Egy vállalkozás N különböző állásra
Algoritmusok és adatszerkezetek I. 7. előadás
Algoritmusok és adatszerkezetek I. 7. előadás Feladat 1. változat Visszalépéses keresés Egy vállalkozás N különböző állásra keres munkásokat. Pontosan N jelentkező érkezett, ahol minden jelentkező megmondta,
Visszalépéses maximumkiválasztás
Belépő a tudás közösségébe Informatika szakköri segédanyag Visszalépéses maximumkiválasztás Heizlerné Bakonyi Viktória, Horváth Győző, Menyhárt László, Szlávi Péter, Törley Gábor, Zsakó László Szerkesztő:
BACKTRACKING Visszalépéses keresés
BACKTRACKING Visszalépéses keresés I. rész A wiki.prog.hu weboldal az alábbi leírással vezeti fel a visszalépéses keresés algoritmus bemutatását: A visszalépéses keresés (Backtracking) olyan esetekben
Visszalépéses keresés
Visszalépéses keresés Backtracking előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Alapvető működése Továbbfejlesztési
Algoritmizálás, adatmodellezés tanítása 1. előadás
Algoritmizálás, adatmodellezés 1. előadás Az algoritmus fogalma végrehajtható (van hozzá végre-hajtó) lépésenként hajtható végre a lépések maguk is algoritmusok pontosan definiált, adott végre-hajtási
9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.
Programozási tételek Programozási feladatok megoldásakor a top-down (strukturált) programtervezés esetén három vezérlési szerkezetet használunk: - szekvencia - elágazás - ciklus Eddig megismertük az alábbi
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.
Ö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,
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Összetett programozási tételek 1 TÁMOP-4.2.3.-12/1/KONV Feladataink egy jelentős csoportjában egyetlen bemenő sorozat alapján egy
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Összetett programozási tételek 2 TÁMOP-4.2.3.-12/1/KONV Feladataink egy jelentős csoportjában több bemenő sorozat alapján egy sorozatot
Rekurzió. (Horváth Gyula és Szlávi Péter előadásai felhasználásával)
Rekurzió (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Rekurzió és iteráció Balrekurzió Ha az eljárás első utasításaként szerepel a rekurzív hívás, akkor a rekurzió lényegében az első nem
A 2015/2016 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 2015/2016 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
29. Visszalépéses keresés 1.
29. Visszalépéses keresés 1. A visszalépéses keresés algoritmusa Az eddig megismert algoritmusok bizonyos értelemben nyílegyenesen haladtak elôre. Tudtuk, hogy merre kell mennünk, és minden egyes lépéssel
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
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,
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
Optimalizációs stratégiák 2.
Optimalizációs stratégiák 2. Visszalépéses keresés, szétválasztás és korlátozás előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai
A 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal A 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló javítási-értékelési útmutató INFORMATIKA II. (programozás) kategória Kedves Versenyző! A megoldások értékelésénél
Ö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
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
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:
Algoritmizálás, adatmodellezés tanítása 8. előadás
Algoritmizálás, adatmodellezés tanítása 8. előadás Elágazás és korlátozás A backtrack alkalmas-e optimális megoldás keresésére? Van költség, és a legkisebb költségű megoldást szeretnénk előállítani. Van
Adatszerkezetek II. 1. előadás
Adatszerkezetek II. 1. előadás Gráfok A gráf fogalma: Gráf(P,E): P pontok (csúcsok) és E P P élek halmaza Fogalmak: Irányított gráf : (p 1,p 2 ) E-ből nem következik, hogy (p 2,p 1 ) E Irányítatlan gráf
A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló javítási-értékelési útmutató INFORMATIKA II. (programozás) kategória 1. feladat: Csapatösszeállítás (30 pont)
Amortizációs költségelemzés
Amortizációs költségelemzés Amennyiben műveleteknek egy M 1,...,M m sorozatának a futási idejét akarjuk meghatározni, akkor egy lehetőség, hogy külön-külön minden egyes művelet futási idejét kifejezzük
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
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
OKTV 2005/2006 döntő forduló
Informatika I. (alkalmazói) kategória feladatai OKTV 2005/2006 döntő forduló Kedves Versenyző! A megoldások értékelésénél csak a programok futási eredményeit vesszük tekintetbe. Ezért igen fontos a specifikáció
HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport
10-es Keressünk egy egész számokat tartalmazó négyzetes mátrixban olyan oszlopot, ahol a főátló alatti elemek mind nullák! Megolda si terv: Specifika cio : A = (mat: Z n m,ind: N, l: L) Ef =(mat = mat`)
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
Adatszerkezetek 7a. Dr. IványiPéter
Adatszerkezetek 7a. Dr. IványiPéter 1 Fák Fákat akkor használunk, ha az adatok között valamilyen alá- és fölérendeltség van. Pl. könyvtárszerkezet gyökér () Nincsennek hurkok!!! 2 Bináris fák Azokat a
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
Függvények II. Indítsuk el az Excel programot! A minta alapján vigyük be a Munka1 munkalapra a táblázat adatait! 1. ábra Minta az adatbevitelhez
Bevezetés Ebben a fejezetben megismerkedünk a Logikai függvények típusaival és elsajátítjuk alkalmazásukat. Jártasságot szerzünk bonyolultabb feladatok megoldásában, valamint képesek leszünk a függvények
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
Hatékonyság 1. előadás
Hatékonyság 1. előadás Mi a hatékonyság Bevezetés A hatékonyság helye a programkészítés folyamatában: csak HELYES programra Erőforrásigény: a felhasználó és a fejlesztő szempontjából A hatékonyság mérése
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
Összetett programozási tételek 2.
Belépő a tudás közösségébe Informatika szakköri segédanyag Összetett programozási tételek 2. Heizlerné Bakonyi Viktória, Horváth Győző, Menyhárt László, Szlávi Péter, Törley Gábor, Zsakó László Szerkesztő:
2. Visszalépéses stratégia
2. Visszalépéses stratégia A visszalépéses keres rendszer olyan KR, amely globális munkaterülete: út a startcsúcsból az aktuális csúcsba (ezen kívül a még ki nem próbált élek nyilvántartása) keresés szabályai:
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
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
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Mohó stratégia 1. TÁMOP-4.2.3.-12/1/KONV Többféle feladat megoldási stratégia létezik. Közülük az egyik legegyszerűbb a mohó stratégia,
Kirakós játék. Döntő február 22. Alakzatok (katalógus) DUSZA ÁRPÁD ORSZÁGOS PROGRAMOZÓI EMLÉKVERSENY 2013/2014
Döntő 2014. február 22. Kirakós játék Az Q-Puzzler kirakós játékot egyedül játsszák. A játéktér egy 5 sorból és 11 oszlopból álló lyukacsos tábla, amelybe különböző színű síkbeli alakzatok illeszthetőek.
Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu
Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember
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,
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,
2. Visszalépéses keresés
2. Visszalépéses keresés Visszalépéses keresés A visszalépéses keresés egy olyan KR, amely globális munkaterülete: egy út a startcsúcsból az aktuális csúcsba (az útról leágazó még ki nem próbált élekkel
Gráfelméleti feladatok. c f
Gráfelméleti feladatok d e c f a b gráf, csúcsok, élek séta: a, b, c, d, e, c, a, b, f vonal: c, d, e, c, b, a út: f, b, a, e, d (walk, lanţ) (trail, lanţ simplu) (path, lanţ elementar) 1 irányított gráf,
II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK
Mérési Utasítás Linux/Unix jogosultságok és fájlok kezelése Linux fájlrendszerek és jogosultságok Linux alatt, az egyes fájlokhoz való hozzáférések szabályozása érdekében a fájlokhoz tulajdonost, csoportot
Polinomok, Lagrange interpoláció
Közelítő és szimbolikus számítások 8. gyakorlat Polinomok, Lagrange interpoláció Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor Vinkó Tamás London András Deák Gábor jegyzetei alapján 1. Polinomok
Aromo Szöveges értékelés normál tantárggyal
Aromo Szöveges értékelés normál tantárggyal Aromo Iskolaadminisztrációs Szoftver Felhasználói kézikönyv -- Szöveges értékelés 1 Tartalomjegyzék Aromo Szöveges értékelés normál tantárggyal 1 Bevezetés 3
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.
Permutáció n = 3 esetében: Eredmény: permutációk száma: P n = n! romámul: permutări, angolul: permutation
Visszalépéses módszer (Backtracking) folytatás Permutáció n = 3 esetében: 1 2 3 2 3 1 3 1 2 Eredmény: 3 2 3 1 2 1 123 132 213 231 312 321 permutációk száma: P n = n! romámul: permutări, angolul: permutation
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
Szövegfeldolgozás II.
Szövegfeldolgozás II. Szövegfeldolgozási alapfeladatok Tömörítés: egy szöveget vagy szövegfájlt alakítsunk át úgy, hogy kevesebb helyet foglaljon (valamint alakítsuk vissza)! Keresés: egy szövegben vagy
Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:
1. Tétel Az állomány két sort tartalmaz. Az első sorában egy nem nulla természetes szám van, n-el jelöljük (5
5. Előadás. (5. előadás) Mátrixegyenlet, Mátrix inverze március 6. 1 / 39
5. Előadás (5. előadás) Mátrixegyenlet, Mátrix inverze 2019. március 6. 1 / 39 AX = B (5. előadás) Mátrixegyenlet, Mátrix inverze 2019. március 6. 2 / 39 AX = B Probléma. Legyen A (m n)-es és B (m l)-es
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,
Készítette: Nagy Tibor István
Készítette: Nagy Tibor István A változó Egy memóriában elhelyezkedő rekesz Egy értéket tárol Van azonosítója (vagyis neve) Van típusa (milyen értéket tárolhat) Az értéke értékadással módosítható Az értéke
Műveletek mátrixokkal. Kalkulus. 2018/2019 ősz
2018/2019 ősz Elérhetőségek Előadó: (safaro@math.bme.hu) Fogadóóra: hétfő 9-10 (H épület 3. emelet 310-es ajtó) A pontos tárgykövetelmények a www.math.bme.hu/~safaro/kalkulus oldalon találhatóak. A mátrix
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Elemi programozási tételek 1 TÁMOP-4.2.3.-12/1/KONV-2012-0018 Feladataink egy jelentős csoportjában egyetlen bemenő sorozat alapján
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
8. Előadás. Megyesi László: Lineáris algebra, , oldal. 8. előadás Mátrix rangja, Homogén lineáris egyenletrendszer
8. Előadás Megyesi László: Lineáris algebra, 51. 56., 70. 74. oldal. Gondolkodnivalók Elemi bázistranszformáció 1. Gondolkodnivaló Most ne vegyük figyelembe, hogy az elemi bázistranszformáció során ez
Nemes Tihamér Nemzetközi Informatikai Tanulmányi Verseny 2-3. korcsoport. Maximális növekedés
Maximális növekedés N napon keresztül naponta feljegyeztük az eladott mobiltelefonok számát. Készíts programot, amely megadja két olyan nap sorszámát, amelyek közötti napokon az első napon volt a legkevesebb,
1.1.1 Dátum és idő függvények
1.1.1 Dátum és idő függvények Azt már tudjuk, hogy két dátum különbsége az eltelt napok számát adja meg, köszönhetően a dátum tárolási módjának az Excel-ben. Azt is tudjuk a korábbiakból, hogy a MA() függvény
Programozási segédlet
Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen
Lineáris algebra. (közgazdászoknak)
Lineáris algebra (közgazdászoknak) 10A103 FELADATOK A GYAKORLATRA (3.) 2018/2019. tavaszi félév Lineáris egyenletrendszerek 3.1. Feladat. Oldjuk meg az alábbi lineáris egyenletrendszereket Gauss-eliminációval
A 2008/2009 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 2008/2009 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
Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008
Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008 Az Előadások Témái Bevezető: mi a mesterséges intelligencia... Tudás reprezentáció Gráfkeresési stratégiák Szemantikus hálók
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
Oktatási Hivatal. A 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának feladatai. II. (programozás) kategória
Oktatási Hivatal A 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának feladatai II. (programozás) kategória Kedves Versenyző! A megoldások értékelése automatikusan, online módon
Bevezetés a programozásba I.
Elágazás Bevezetés a programozásba I. 2. gyakorlat, tömbök Surányi Márton PPKE-ITK 2010.09.14. Elágazás Elágazás Eddigi programjaink egyszer ek voltak, egy beolvasás (BE: a), esetleg valami m velet (a
Iktatás modul. Kezelői leírás
Iktatás modul Kezelői leírás 1 C.) Iktatás modul A modul kezelése történhet a menürendszerből, illetve az Iktatás modul fülén lévő ikonok segítségével. Az Iktatás modul önállóan vagy más modulok törzsadatait
Oktatási Hivatal. A 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai. II. (programozás) kategória
Oktatási Hivatal A 201/2015 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai II. (programozás) kategória 1. feladat: Sorminta (3 pont) Fordítsuk meg: a mintából kell kitalálni
Bevezetés az informatikába
Bevezetés az informatikába 6. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.
A 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny második forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal A 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny második forduló javítási-értékelési útmutató INFORMATIKA II. (programozás) kategória Kérjük a tisztelt kollégákat, hogy az egységes
Algoritmizálás, adatmodellezés tanítása 2. előadás
Algoritmizálás, adatmodellezés tanítása 2. előadás Programozási tételek Mi az, hogy programozási tétel? Típusfeladat általános megoldása. Sorozat érték Sorozat sorozat Sorozat sorozatok Sorozatok sorozat
Aromo Szöveges értékelés kódolt tantárggyal
Aromo Szöveges értékelés kódolt tantárggyal AROMO Iskolaadminisztrációs Szoftver - Felhasználói kézikönyv - Szöveges értékelés 1 Tartalomjegyzék Aromo Szöveges értékelés kódolt tantárggyal 1 Bevezetés
Mesterséges Intelligencia MI
Mesterséges Intelligencia MI Problémamegoldás kereséssel ha sötétben tapogatózunk Dobrowiecki Tadeusz Eredics Péter, és mások BME I.E. 437, 463-28-99 dobrowiecki@mit.bme.hu, http://www.mit.bme.hu/general/staff/tade
OKTV 2007/2008 Informatika II. kategória döntő forduló Feladatlap. Oktatási Hivatal
Feladatlap Kedves Versenyző! A megoldások értékelésénél csak a programok futási eredményeit vesszük tekintetbe. Ezért igen fontos a specifikáció pontos betartása. Ha például a feladat szövege adatok valamilyen
Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu
Programozás I. 3. előadás Tömbök a C#-ban Metódusok C#-ban Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Szoftvertechnológia
C programozási nyelv
C programozási nyelv Előfeldolgozó utasítások Dr Schuster György 2011 május 3 Dr Schuster György () C programozási nyelv Előfeldolgozó utasítások 2011 május 3 1 / 15 A fordítás menete Dr Schuster György
Adatmanipuláció, transzformáció, szelekció SPSS-ben
Adatmanipuláció, transzformáció, szelekció SPSS-ben Statisztikai szoftver alkalmazás Géczi-Papp Renáta Számított változó A már meglévő adatokból (változókból) további adatokat származtathatunk. munkavállalók.sav
11. Előadás. 11. előadás Bevezetés a lineáris programozásba
11. Előadás Gondolkodnivalók Sajátérték, Kvadratikus alak 1. Gondolkodnivaló Adjuk meg, hogy az alábbi A mátrixnak mely α értékekre lesz sajátértéke a 5. Ezen α-ák esetén határozzuk meg a 5 sajátértékhez
O k t a t á si Hivatal
O k t a t á si Hivatal A 2012/201 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának feladatlapja INFORMATIKÁBÓL II. (programozás) kategóriában Munkaidő: 300 perc Elérhető pontszám: 150
A 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny második forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal A 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny második forduló javítási-értékelési útmutató INFORMATIKA II. (programozás) kategória Kérjük a tisztelt kollégákat, hogy az egységes
Döntéselőkészítés. I. előadás. Döntéselőkészítés. Előadó: Dr. Égertné dr. Molnár Éva. Informatika Tanszék A 602 szoba
I. előadás Előadó: Dr. Égertné dr. Molnár Éva Informatika Tanszék A 602 szoba Tárggyal kapcsolatos anyagok megtalálhatók: http://www.sze.hu/~egertne Konzultációs idő: (páros tan. hét) csütörtök 10-11 30
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
Adatszerkezetek I. 8. előadás. (Horváth Gyula anyagai felhasználásával)
Adatszerkezetek I. 8. előadás (Horváth Gyula anyagai felhasználásával) Kereső- és rendezőfák Közös tulajdonságok: A gyökérelem (vagy kulcsértéke) nagyobb vagy egyenlő minden tőle balra levő elemnél. A
Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008
Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 007/008 Az Előadások Témái Bevezető: mi a mesterséges intelligencia... Tudás reprezentáció i stratégiák Szemantikus hálók / Keretrendszerek
Bevezetés a programozásba I.
Bevezetés a programozásba I. 6. gyakorlat C++ alapok, szövegkezelés Surányi Márton PPKE-ITK 2010.10.12. Forrásfájlok: *.cpp fájlok Fordítás: a folyamat, amikor a forrásfájlból futtatható állományt állítunk
PROGRAMOZÁSMÓDSZERTAN
PROGRAMOZÁSMÓDSZERTAN 4. ELŐADÁS 2004 (VÁZLAT). A TÉTELEK SZIGNATÚRÁJÁRÓL.. Formája és célja Induljunk ki egy ismert tételből: Megszámolás(H *,F(H, )): Be: N N, X H *, T:H L Ki: Ef: Db N ez most nem érdekes