A Lineáris Keresés Buktatói

Slides:



Advertisements
Hasonló előadás
A felhasználói interfész A felhasználói interfész az a felület, amellyel a szoftver az ember felé „fordul”; amellyel a felhasználó nap mint nap találkozik.
Advertisements

A kártyanyomtatás fortélyai Csákvári Krisztián Kártya és címke gyártás
Bevezetés a C# nyelvbe Az alapok összefoglalása Farkas Csaba.
Nyitó szakértői találkozó. "C" komponens-informatika Készítette: Farkas László január.28.
 Alap tudnivalók Alap tudnivalók  Az If és a While folyamatábrák Az If és a While folyamatábrák  Probléma Probléma  A while ciklus (általános alak,
A MINŐSÉGFEJLESZTÉSI TERÜLET 2007 Menner Ákos. A minőségfejlesztés intézményi ritmusa Önértékelés 2006 Önértékelésből származó fejlesztési célkitűzések.
TARTALOM BREVIÁRIUM – RÖVID MAGYARÁZATOK NÉGY ESZKÖZ BERUHÁZÁSTERVEZÉS ÉS -MENEDZSMENT Bevezetés Főszereplők Az eszközök Tanulság ESZKÖZÖK és ERŐFORRÁSOK.
A KÖNYVTÁRELLÁTÁSI SZOLGÁLTATÓ RENDSZER HATÉKONY MŰKÖDTETÉSE ÉS A SZOLGÁLTATÁS NÉPSZERŰSÍTÉSE VI. KSZR MŰHELYNAP – ZALAEGERSZEG NOVEMBER 11. A KSZR.
Oktatói elvárások, oktatói vélemények a hallgatókról Cserné dr. Adermann Gizella egyetemi docens DUE.
A vállalatok marketingtevékenysége és a Magyar Marketing Szövetség megítélése Kutatási eredmények az MMSZ részére (2008. július)
Forrás: Reiter István C_Sharp programozás lépésről lépésre (frissített tartalommal )
A Magyarországon működő iskolai drogprevenciós programok leírása Paksi Borbála, Demetrovics Zsolt, Nyírády Adrienn, Nádas Eszter, Buda Béla, Felvinczi.
Gazdasági informatika - bevezető
Fájlkezelés.
Számítógépes szimuláció
PL/SQL gyakorlás Kalmár György.
A kérdőívek, a kérdőívszerkesztés szabályai
SmartCard protokoll formális verifikációja
Logo Országos Számítástechnikai Tanulmányi Verseny
Dr. Kovács László Főtitkár
Alhálózat számítás Osztályok Kezdő Kezdete Vége Alapértelmezett CIDR bitek alhálózati maszk megfelelője A /8 B
Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat
AWK ismétlés AWK: adatvezérelt nyelv:
Program utasítássorozat
Scilab programozás alapjai
Fraktálok a tőzsdén Szegedi Tudományegyetem
videós team Team vezetője: Tariné Péter Judit Tagok:
Sz&p prof.
Észlelés és egyéni döntéshozatal, tanulás
Kockázat és megbízhatóság
Algoritmusok és Adatszerkezetek I.
Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök
Vasas Lívia 2015 A folyóiratok minősége, InCite – JCR Journal Citation Reports Vasas Lívia
Lexikális elemző: lex (flex)
Hipotézisvizsgálat.
PHP-SQL adatbáziskezelő parancsai
VEREM.
Gazdaságstatisztika Korreláció- és regressziószámítás II.
Algebrai specifikációk
2. Bevezetés A programozásba
VB ADATTÍPUSOK.
Script nyelvek előadás
Business Mathematics
Programozástudás hit vs. valóság
Természettudományi kiselőadás címe
„Mindegy, hogy képességeid mekkorák, fő, hogy a tőled telhető legjobbat formáld belőlük és általuk.” (Weöres Sándor)
Reftantár bemutatása Merényi László.
Hőmérsékleti Excel táblázat „előállítása”
STRUKTURÁLT SERVEZETEK: funkció, teljesítmény és megbízhatóság
Rendszerfejlesztés gyakorlat
Tantárgyfelosztás Mint az intézményi költségvetés alapdokumentuma
AGRION Vállalkozásfejlesztő Iroda
Készítette: Sinkovics Ferenc
Informatikai gyakorlatok 11. évfolyam
B M Java Programozás 4. Gy: Java GUI IT A N Tipper, MVC kalkulátor
TÁMOP A pályaorientáció rendszerének tartalmi és módszertani fejlesztése – Regionális workshop Zétényi Ákos.
B M Java Programozás 9. Gy: Java alapok IT A N Adatkezelő 5.rész
Természetismereti kirándulásra való felkészüléshez javaslat
A kutatási projekt címe Név Oktató neve Tanulmányi intézmény neve
A Magyarországon működő iskolai drogprevenciós programok leírása
További rendező és kereső algoritmusok
A szállítási probléma.
I. HELYZETFELMÉRÉSI SZINT FOLYAMATA 3. FEJLESZTÉSI FÁZIS 10. előadás
Fogalomépítés a valószínűségszámításban
Kimeneti mérés – OKJ rendszerű szakmai vizsgák
B M Java Programozás 2. Gy: Java alapok IT A N Adatszerkezetek
Matematika II. 5. előadás Geodézia szakmérnöki szak 2015/2016. tanév
Mintaillesztés Knuth-Morris-Pratt (KMP) algoritmus
Algoritmusok.
A tehetséggondozás kihívásai
Előadás másolata:

A Lineáris Keresés Buktatói Szalayné Tahy Zsuzsa ELTE IK sztzs@infokatedra.hu Czirkos Zoltán BME VIK czirkos@eet.bme.hu 1/1/2019 INFODIDACT 2016

A „keresés” kognitív szintjei Megkérdezem Kulcsszavas, tematikus (online) Alkalmazás függvénye, eljárása Programozásban metódus Algoritmikus Közvetlen elérés Lineáris Explicit Implicit Logaritmikus, struktúra specifikus Mikor játszották először? Melyik kosárban van? 1/1/2019 INFODIDACT 2016

Keresésre adott megoldások Elvárt megoldás: „while()” Feladat: Megtalálni egy adott tulajdonságú elemet Alkalmazás, pl. Excel Függvénykönyvtár for () { if () { break;}} Keresés függvény return-ök „break;” => ciklusfeltétel for() => while() Strukturált programozás vadhajtások hibás, pontatlan bool Megfelel() 1/1/2019 INFODIDACT 2016

Ötlet Feladat: Megtalálni egy adott tulajdonságú elemet Alkalmazás, pl. Excel 1/1/2019 INFODIDACT 2016

Ötlet Feladat: Megtalálni egy adott tulajdonságú elemet Függvénykönyvtár 1/1/2019 INFODIDACT 2016

Majdnem Feladat: Megtalálni egy adott tulajdonságú elemet Kiválogatás: for (int i = 0; i < list.Count; i++ ) if («logikai kif.»)list2.Add(elem); Megszámlálás: for (int i = 0; i < list.Count; i++) if («logikai kif.») jo++; Utolsó találat: for (int i = 0; i < list.Count; i++) if («logical_expr») jo = i; hibás, pontatlan 1/1/2019 INFODIDACT 2016

Működik int i; for (i = 0; i < list.Count; i++) if («logikai kif.») Feladat: Megtalálni egy adott tulajdonságú elemet int i; for (i = 0; i < list.Count; i++) if («logikai kif.») break; for () { if () { break;}} 1/1/2019 INFODIDACT 2016

És Nem Jó int i; for (i = 0; i < list.Count; i++) if («logikai kif.») break; for () { if () { break;}} „break;” => ciklusfeltétel int i; for (i = 0; i < list.Count && !(«logikai kif.»); i++) ; 1/1/2019 INFODIDACT 2016

Keresés függvény return-ök break return int i; for (i = 0; i < list.Count; i++) if («logikai kif.») break; for () { if () { break;}} Keresés függvény return-ök int Holvan(…) { for (int i = 0; i < list.Count; i++) if («logikai kif.») return i; return -1; } 1/1/2019 INFODIDACT 2016

Eredmény meghatározása … for (int i = 0; i < list.Count; i++) if («logikai kif.») return i; else return -1; for () { if () { break;}} … for (int i = 0; i < list.Count; i++) if («logikai kif.») ez = i; return ez; Eredmény elemzése Ha van, akkor … egyébként Ha van, akkor … Ha nincs, akkor vadhajtások hibás, pontatlan 1/1/2019 INFODIDACT 2016

Üres ciklus? int i; for (i = 0; i < list.Count && !(«logikai kif.»); i++) ; <<eredmény>> „break;” => ciklusfeltétel int i=0; while (i < list.Count && !(«logikai kif.»)) i++; <<eredmény>> for() => while() 1/1/2019 INFODIDACT 2016

Mindent bele egy ciklusba… for (int i = 0; i < items.size() or items.push_back(make_pair(item, 1)), false); i++){ if (items[i].first == item){ items[i].second++; break; } } „break;” => ciklusfeltétel vadhajtások 1/1/2019 INFODIDACT 2016

Tervezés Keresés Keresés tétel algoritmusa Fejben: rövidzár I≤N I:=1 Ciklus amíg I≤N és nem T(X[I]) I:=I+1 Ciklus vége VAN:=(I≤N) Ha VAN akkor SORSZ:=I Eljárás vége. Fejben: rövidzár I≤N T(X[I])… ööö és nem T(X[I])…??? T(X[I]) ⇒ I≤N Elvárt megoldás: „while()” Matematikai logika: ciklus amíg A ∧ ¬B kilépett, mert ¬A ∨ B B ⇒ A, „A”-t ellenőrzöm 1/1/2019 INFODIDACT 2016

Probléma részekre bontása Keresés Feltételre függvény bool Megfelel() Keresés tétel algoritmusa … Elvárt megoldás: „while()” 1/1/2019 INFODIDACT 2016

Megoldási utak Elmélet, tervezés Gyakorlatias, tesztelés Tévutak Elvárt megoldás: „while()” for() => while() Strukturált programozás 1/1/2019 INFODIDACT 2016

Javasolt tanulási utak bool Megfelel() for () { if () { break;}} Keresés függvény return-ök „break;” => ciklusfeltétel Elvárt megoldás: „while()” for() => while() Strukturált programozás 1/1/2019 INFODIDACT 2016