ISZAM III.évf. részére Bunkóczi László Programozás alapjai I. ISZAM III.évf. részére Bunkóczi László
Mi a programozás Bármilyen tevékenység mely az addig kézzel végrehajtott lépéseket automatizálja, azaz algoritmizálja Esetenként a fönti definíció sem igaz teljes mértékben… Valamilyen fejlesztő eszköz szükséges hozzá, lehet az az Excel is, de a táblázatkezelő felület alapvetően nem a klasszikus programozás eszköztára
Algoritmustervezés „vizuális” támogatása Folyamatábra fölrajzolása Klasszikus elemek: Input Elágazás Ciklus Output Tetszőleges jelölés ezekhez a pontokhoz, de konzekvensen kell használni őket…
Alkalmazásfejlesztés Tervezés Algoritmus(ok) felépítése (klassz.progr.) Ezek összekapcsolása GUI felépítése Kész alkalmazás tesztelése
Rendszerfejlesztési metodikák Sok módszertan létezik… Pl. SSADM… 4 „hosszú” fejezet melyből a 3. egy alfejezete a megvalósítás… Ebből érezhető, hogy a tervezés mekkora szerephez juthat…
Neumann-elv Digitális, elektronikus számítógép Memória Input-CPU-Output Háttértár Soros program végrehajtás,
Programnyelvek osztályozása Alacsony szintű „nyelvek” Gépi kód (ÉK{0-1}, bináris programozás) Assembly Magas szintű nyelvek DOS alapon Pascal, Turbo Pascal C, Turbo C, C++ Basic, qbasic Ablakos „Visual” (objektumorientált) eszközök C#, Java (J2EE), Delphi, Visual Basic
Egyéb osztályozás http://staff.kzs.hu/tamas/programozas/prgnyelv.htm
Alapvető programozás elemei I. Változók Szöveges Logikai (Boolean: True-False, 0-1) Numerikus (int, short, long, stb…., általában másként hívják őket szinte mindenütt…) Tömbök Azonos változótípusból álló egy vagy több dimenziós vektor vagy „tömb” pl. A(5,4) az A tömb, ami 5 sorból és 4 oszlopból áll, tehát 20 különálló értéket tartalmaz egyszerre Struktúrák (objektum kezdemény, ahol egy elemet írunk le, egy csokorba gyűjtött változóval)
Alapvető programozás elemei II. Ciklusok Számlálós (For…Next) – ha tudjuk mennyit kell „lépni” Tesztelős ciklusok – ha nem tudjuk mennyit kell lépni Elöltesztelős (Do While/Until…loop) Hátultesztelős (Do… loop While/Until) Elágazások If…then…else…endif Case…Case 1…Case2…endCase
Példaprogram I. Másodfokú egyenlet megoldása Adatbekérés (a,b,c) Elágazás (Diszkrimináns vizsgálata) D<0 Output: nincs megoldás D=0 Output: 1 megoldás: -b/2a D>0 Output: 1. megoldás: (-b+gyök(D))/2a 2. megoldás: (-b-gyök(D))/2a
Példaprogram II. Prímszám-e valamelyik érték: Adatbekérés (x) Ciklus i=2- int(x/2)+1-ig Elágazás ha x/i-int(x/i)=0 then Output: Nem prímszám Ciklus vége Output: prímszám
Példák http://www.jgytf.u-szeged.hu/~csallner/LevProg1/PROGFEL1.html