KURZUS: Számítási módszerek

MODUL: Excel programozás

Bevezetés

A számítógépes szoftverfejlesztés az ember-gép kommunikáció legmélyebb, legnehezebben elsajátítható, de leginkább intellektuális szintjét képviseli. Az ehhez szükséges programozási ismeretek elsajátítása sok tanulást és még több önálló gyakorlást igényel.

Ez az időmennyiség általában több féléves képzést jelent, amelynek tükrében bizony igen szerény időkeretnek tűnik az Excel programozásra szánt néhány (5) lecke. Ennyi idő alatt természetesen nem lehet szoftverfejlesztő szakembereket képezni, de megpróbálunk olyan alapozást adni, amelyre a későbbi tanulmányok, illetve a mérnöki munka során már építkezni lehet.

Miért pont Excel programozás?! Joggal kérdezheti ezt egy mérnökhallgató, akinek a Számítási módszerek (Informatika II.) tantárgyat teljesítenie kell. Választásunkat elsősorban az alábbi szempontok indokolták:

  • Az MS Excel nemcsak a mérnöki munkában, de az élet szinte minden területén használatos. Elterjedt, könnyen hozzáférhető szoftver.
  • Olyan programfejlesztő környezetet tartalmaz, amely alkalmas a programozási alapismeretek oktatására.
  • Könnyen tanulható, magas szintű programozási nyelvet (Visual Basic) használ.
  • Vizuális tervezést, eseményvezérelt programozást biztosít.
  • Az automatikusan ismétlődő feladatok programozásával segíthető, megkönnyíthető a táblázatkezelővel végzett munka.

Ha egy feladat megoldására számítógépes programot készítünk, akkor azt általában nem úgy tesszük, hogy elkezdjük begépelni a program utasításait. Minél nagyobb, összetettebb a megoldandó feladat, annál inkább szükséges a következő megoldási lépések végrehajtása:

1.A feladat megfogalmazása, pontosítás, általánosítás.
2.Matematikai (vagy egyéb) modell kiválasztása, megadása (ha szükséges, illetve lehetséges).
3.Az adatszerkezet definiálása, az input-output specifikálása.
4.A megoldást megvalósító algoritmus megtervezése, elkészítése.
5.Programírás, kódolás (az adatszerkezet és az algoritmus alapján).
6.Tesztelés, hibakeresés.
7.Dokumentálás (felhasználóknak, fejlesztőknek).

Természetesen az adott feladat (vagy munka) jellegéből adódóan bizonyos lépések el is maradhatnak (pl. 2., 7.), illetve javítás, módosítás esetén szükség lehet egy korábbi szintre való visszalépésre is. A program tényleges megírása (5.) csak a már elkészített megoldó algoritmus (4.) ismeretében lehetséges, ami viszont nem készülhet el anélkül, hogy tisztáznánk, milyen bemenő és milyen eredmény adataink lesznek (3.). Az önálló programozási feladatok fejezetekben kitűzött feladatok megoldását (az érdemi részt jelentő 3-4. lépések megtételét) egy-egy tippel (lehetséges megoldási javaslattal) segítjük.

Az Excel programozásról szóló modulunkat (a gyakorlati munkát elősegítendő) a programok végrehajtásához szükséges ismeretekkel kezdjük (1. lecke), amit a programíráshoz szükséges (rövidített) nyelvi ismertető követ (2-4. leckék), végül az Excel objektumairól, azok programból történő használatáról lesz szó (5. lecke).

Az egyes leckék a feldolgozott témakörnek csak a legalapvetőbb ismereteit tartalmazzák (az önálló tanulást segítő tevékenységekkel, ellenőrző kérdésekkel és gyakorló feladatokkal együtt), a tárgyhoz tartozó jegyzet (Kallós-Pusztai 2016) már bővebb, részletesebb leírást tartalmaz. Mindkét oktatási anyag összeállításánál szem előtt tartottuk a témakör tananyagbeli időkeretét és a terjedelmi korlátokat, így noha egyik leírás sem teljes körű, de reményeink szerint a legfontosabb, legszükségesebb dolgok kellő részletességgel tárgyalásra kerülnek. Itt jegyeznénk meg, hogy pl. a lentebb javasolt (Walkenbach 2013) angol nyelvű szakirodalom, amely szintén az Excel programozásról szól, könyvben meghaladja az 1000 oldalt, elektronikusan (pdf változat) pedig az 1500 oldalt.

A szakirodalom szerencsére bőségesen ellát minket programozásról szóló (különböző terjedelmű és minőségű) szakkönyvekkel. Az Excel programozás után érdeklődő olvasóknak a (Kovalcsik 2005), (Walkenbach 2013), a Visual Basic nyelvvel kapcsolatosan a (Kuzmina-Tamás-Tóth 2006), az algoritmusok tervezését illetően kezdőszinten a (Pusztai 2008), haladóbb szinten a (Cormen et al. 2003) szakirodalmat ajánljuk.