Főmenü

Egy dimenziós tömbök

A tömbökkel kapcsolatos fogalmak megértése és használata az első igazi buktató.

A tömbök használata során azt az alapszabályt kell besulykolni, hogy egy tömb feldolgozása szinte mindig ciklussal történik. Persze ez nem mindig igaz, de az indexek helyes használata csak így rögzül. Rengeteg olyan gyakorló feladatot kell elkészíteni, amely a tömbök használatát kívánja meg.

Az egy dimenziós tömb még csak hagyján, de a két és több dimenziós tömbök feldolgozása a nem kimondottan programozó tehetségű diákok számára óriási ugrás.

Én azt a gyakorlatot követem, hogy az 1D-s tömböket azonosítom kis dobozokkal, amelyeket megsorszámozom, majd azokba töltöm az elemeket.

A két dimenziós tömböt egy mátrixként szoktam azonosítani. Sajnos ez sem mindnekit juttat el a megértésig,

Gyakorló alapfeladatok 1D-s tömbre:

  • Alapfeladat a tömb feltöltése egyesével egyesével. Az adat feltöltése mehet kézzel és mehet véletlen értékekkel. Mind a két változatot megtanítom. Kezdők esetén egy ilyen feladat elvégeztetése akár két órát is elvehet.
  • Hasonlóképpen egy tömb adatainak kiíratása alapfeladat. Ehhez szükséges a formázott kiírás és a pozícionált kiírás használata. Console.SetPosition() és Console.WrilteLine() használata. Célszerű a színeket is megismertetni velük. (ConsoleColor.Szín elnevezés)

A feladatokban a tömb elemszáma dinamikus legyen, azaz hacsak lehet kérjük be a billentyűzetről.

További feladatok 1D-s tömbökre

  • Számtani sorozat bevitele a tömbbe és kiíratása.
  • Programozási tételek 1D-s tömbre (Kiválasztás, maximumkeresés, minimumkeresés stb, ...)
    • Eldöntés:
      • Egy osztályban a tanulók jegyeit visszük be. Van-e elégtelen az osztályzatok között?
      • Egy versenyen egy versenyző köridejét visszük be. Volt-e olyan kör, amikor kisebb sebességgel ment, mint egy adott érték?
    • Összegzés és megszámlálás tételek
      • Egy osztály tanulóinak magasságát visszük be. Hányan vannak az áltagnál magasabbak?
    • Minimum, maximum keresés
      • Egy versenyen a versenyző köridőit írjuk be egy tömbbe. Mikor ment leggyorsabban a versenyző?
  • Erasztothenészi szita (Prímszámkeresés)
  • Speciális feltöltési módszerek, például fibonacci számok
  • Egy versenyző köridő adatait visszük be egy tömbbe. Hozzunk létre másik tömböt és állapítsuk meg, hogy a versenyző a verseny melyik szakaszában gyorsult, illetve lassult? (Itt asz a trükk, hogy két tömbelem különbségét kell áttenni a másik tömbbe!)
  • Egy repülő indulási helyétől számított pillanatnyi pozícióját másodpercenként lerögzítjük. Számítsuk ki a pillanatnyi sebességét és gyorsulását és az eredményeket írjuk tömbbe (Fizika óra ).

A fenti feladatok arra valók hogy készség szinten elsajátítsák az indexek használatát, a tömbök közötti értékadást. annyi feladatot kell elkészíttetni velük, amennyi elegendő ennek a célnak a megvalósítására. Természetesen lesznek olyanok, akik az újabb feladatokat villámgyorsan elvégzik és lesznek olyanok, akik a végére sem értik meg a lényeget és elvesznek a részletekben.

Valid XHTML 1.0 Transitional Valid CSS file Link firefox.hu  Del.icio.us bookmarkokat megosztó hálózat pagerank

Design: © 2007-2010 Fábián Zoltán