TÁMOP 2.2.3-07/1-2F-2008-0011 Informatikai gyakorlatok 11. évfolyam Alapvető programozási tételek megvalósítása Czigléczky Gábor 2009.

Slides:



Advertisements
Hasonló előadás
C# nyelvi áttekintő A „Programozás C# nyelven (Illés Zoltán)”
Advertisements

Koordináták, függvények
Eljaras linearis_kereses(adatok[],n)
Megszámlálás Elemi algoritmusok.
Kiválasztás (N,A,sorszam) i := 1 Ciklus amíg (A(i) nem T) i := i+1 Ciklus vége sorszam := i Eljárás vége Kiválasztás.
Sorozatszámítás Sorozatszámítás (N,A,s) s := kezdőérték
Programozási tételek, és „négyzetes” rendezések
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Programozási alapismeretek 5. előadás. ELTE Szlávi - Zsakó: Programozási alapismeretek 5.2/  Programozási tételek.
Gyűrűk Definíció. Az (R, +, ·) algebrai struktúra gyűrű, ha + és · R-en binér műveletek, valamint I. (R, +) Abel-csoport, II. (R, ·) félcsoport, és III.
Programozási alapismeretek 7. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 7. előadás2/  Sorozatszámítás.
Programozási alapismeretek 13. előadás. ELTE Érdekességek - kombinatorika  Az iskola bejáratánál N lépcsőfok van. Egyszerre maximum K fokot tudunk lépni,
Programozási alapismeretek
Programozási alapismeretek 10. előadás
Programozási alapismeretek 5. előadás. ELTE 2/  Programozási tételek – a lényeglényeg  Sorozatszámítás Sorozatszámítás.
Programozási alapismeretek 8. előadás. ELTE 2/  További programozási tételek További programozási tételek 
Boole- féle algebra Készítette: Halász Rita I. István Szakképző Iskola szeptember 19.
Gombkötő Attila Lineáris egyenlet.
Készítette: Pető László
Programozás módszertan
ELTE Szlávi-Zsakó: Programozási alapismeretek 10.1/ Összegzés mátrixra Feladat: Egy mátrix elemeinek összege.
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
ISZAM III.évf. részére Bunkóczi László
További vektor, mátrix algoritmusok
Nevezetes algoritmusok Beszúrás Van egy n-1 elemű rendezett tömbünk. Be akarunk szúrni egy n-edik elemet. Egyik lehetőség, hogy végigszaladunk a tömbön,
Összetett adattípusok
VI. Konténerek 18. Tömbök 19. Rendezés, keresés, karbantartás
Egydimenziós tömbökön végezhető műveletek
Kifejezések. Algoritmus számol; Adott összeg; összeg:=0; Minden i:=1-től 5-ig végezd el Ha 2 | i akkor összeg:=összeg+2*i Ha vége Minden vége Algoritmus.
Ciklusok: 2. Előltesztelő ciklus
Félévi típus feladatok
Tömbök és programozási tételek
Ciklusok (iterációk).
Összetett adattípusok
Operátorok Értékadások
Programozási alapismeretek 11. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 11.2/ Tartalom  Rendezési.
Nevezetes algoritmusok
Programozási tételek.
Programozási tételek.
Programozás I. Típus algoritmusok
Feladatok (értékadás)
Többdimenziós valószínűségi eloszlások
Programozási alapismeretek 8. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 8.2/  További programozási.
Programozási alapismeretek 10. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 10.2/  Kiválogatás + összegzés.
Excel programozás (makró)
Informatikai gyakorlatok 11. évfolyam
TÁMOP /1-2F Felkészítés szakmai vizsgára, informatika területre modulhoz II/14. évfolyam Az interaktív vizsga jellegzetes feladattípusainak.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Programozási alapismeretek 4. előadás. ELTE  Programozási tételek – a lényeglényeg  Sorozatszámítás – összegzés… Sorozatszámítás  Megszámolás.
Informatikai gyakorlatok 11. évfolyam
Kifejezések C#-ban.
Nevezetes algoritmusok
Excel programozás (makró)
Tömbök és programozási tételek
Mediánok és rendezett minták
Programozási tételek Mik is ezek?
Halmazműveletek.
Eljaras linearis_kereses(adatok[],n)
Lineáris keresés Keresés (N,A,sorszam) i := 1
Informatikai gyakorlatok 11. évfolyam
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Programozási tételek.
2-3-fák A 2-3-fa egy gyökeres fa az alábbi tulajdonságokkal:
Informatikai gyakorlatok 11. évfolyam
Vektorok © Vidra Gábor,
Programozási tételek.
Cache példák 2019 (IMSC).
Előadás másolata:

TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Alapvető programozási tételek megvalósítása Czigléczky Gábor 2009

Programozási tételek (1.) Vannak olyan típusfeladatok, amelyeket igen hasonlóan kell megoldani. Például: ◦ átlagszámítás egy sorozat elemein ◦ bizonyos feltételnek megfelelő elemek megszámolása ◦ legkisebb / legnagyobb elem meghatározása ◦ adott elem megkeresése Ezen feladatok megoldására általános algoritmusokat adunk, amelyeket programozási tételeknek nevezünk.

Programozási tételek (2.) A továbbiakban legyen: ◦ v: tetszőleges elemtípusú vektor ◦ n: egész (a vektor tényleges, valódi elemszáma) ◦ adott tulajdonság: a feladat szövegéből következő logikai függvény (pl. egy adott szám páros, nagyobb mint 1000, egyenlő egy konkrét értékkel, stb.) A vektor elemtípusa lehet struktúra is, de a tételt mindig a rekord egy mezőjére kell felírni.

Összegzés tétele (algoritmus) Adott a v[1..n] vektor, amelynek elemein értelmezhető az összeadás művelete. Számítsuk ki a vektor elemeinek összegét (ossz változó)! Algoritmus: ossz := 0 ciklus i:=1-től n-ig ossz := ossz + v[i] ciklus vége. Mire kell figyelni a kódolásnál? ◦ A kezdőérték nem biztos, hogy 0. ◦ C# nyelvben a tömb indexelése 0-tól indul.

Összegzés tétele (kód) Kód: int ossz = 0; for (int i=0; i<n; i++) { ossz += v[i]; } Alkalmazás: átlagszámítás összegzés után double atl = ossz / (double)n;

Megszámlálás tétele (algoritmus) Adott a v[1..n] vektor, amelynek elemein értelmezhető az adott tulajdonságfüggvény. Számoljuk meg, hogy a vektorban hány darab, az adott tulajdonságnak megfelelő elem található (db változó)! Algoritmus: db := 0 ciklus i:=1-től n-ig ha v[i] adott tulajdonságú akkor db := db + 1 ciklus vége. Mire kell figyelni a kódolásnál? ◦ Mindig adjunk 0-t kezdőértéknek! ◦ C# nyelvben a tömb indexelése 0-tól indul.

Megszámlálás tétele (kód) Kód (például legyen a tulajdonságfüggvény, hogy az adott elem páros): int db = 0; for (int i=0; i<n; i++) { if (v[i]%2 == 0) { db++; } } Konkrét feladat esetén csak a pirossal jelölt feltételt kell másra kicserélni!

Minimum- és maximumkiválasztás tétele (algoritmus) Adott a v[1..n] vektor, amelynek elemein értelmezhető a kisebb / nagyobb reláció. Válasszuk ki a vektor legkisebb / legnagyobb elemét! A min változó jelentse a minimum helyét, azaz indexét! Algoritmus: min := 1 ciklus i:=2-től n-ig ha v[i]<v[min] akkor min := i ciklus vége. Mire kell figyelni a kódolásnál? ◦ C# esetén 0 kezdőértékkel kell indulnunk. ◦ Maximumkiválasztásnál a reláció megfordul.

Minimum- és maximumkiválasztás tétele (kód) Kód: int min = 0; for (int i=1; i<n; i++) { if (v[i]<v[min]) { min = i; } } Struktúrából álló tömb esetén a feltételvizsgálat például így nézhet ki: if (v[i].terulet<v[min].terulet)

Lineáris keresés tétele (algoritmus) Adott a v[1..n] vektor, amelynek elemein értelmezhető az adott tulajdonságfüggvény. Keressük meg a vektor első adott tulajdonságú elemét! Az l logikai változó legyen igaz, ha sikerült találni ilyen elemet, és ekkor az i tartalmazza az első adott tulajdonságú elem indexét. Algoritmus: i := 1 ciklus amíg i<=n és NEM(v[i] adott tulajdonságú) i := i+1 ciklus vége. l := (i<=n)

Lineáris keresés tétele (algoritmus) Mire kell figyelni a kódolásnál? ◦ C# esetén 0 kezdőértékkel kell indulnunk, és i<=n helyett mindenhol i<n szerepel. ◦ C# nyelvben a tagadás a ! operátor segítségével írható. ◦ Speciális esetben, ha a tulajdonság egyenlőségvizsgálat, akkor annak tagadását a != jellel vizsgálhatjuk.

Lineáris keresés tétele (kód) Kód (például legyen a tulajdonságfüggvény, hogy az adott elem páros): int i = 0; while (i<n && v[i]%2 != 0) { i++; } bool l = (i<n); Konkrét feladat esetén csak a pirossal jelölt feltételt kell másra kicserélni!