250 likes | 370 Views
2012. február 25. Paulik Áron. Prog szakkör. Felmérő. tinyurl.com /8xvbbe9. Kezdetek, történet. Lyukkártyás szövőgép Jacquard , 18. század. Kezdetek, történet. Charles Babbage (19. század első fele) Programozható gép ötlete Mechanikus Hajózási számítások
E N D
2012. február 25. Paulik Áron Prog szakkör
Felmérő tinyurl.com/8xvbbe9
Kezdetek, történet • Lyukkártyás szövőgép • Jacquard, 18. század
Kezdetek, történet Charles Babbage (19. század első fele) • Programozhatógép ötlete • Mechanikus • Hajózási számítások • Differenciálgép:1991-ben építik meg
Kezdetek, történet • Turing-gép:elméletben létező automata még a számítógépek megjelenése előtt • Szalag • Vezérlés • Olvasófej
Kezdetek, történet • 1940-es évek: Neumann Jánosék • Szobányi gépek,durva árak • Elektroncsövek • Neumann-elvek • Gépi kód
Kezdetek, történet • 20. század 2. fele: rohamos fejlődés a technológiában • Egyre összetettebb számítógépek • Igény a könnyebb használhatóságra • Prognyelvek megjelenése és elszaporodása(ma kb. 2500 féle van)
Mai állapotok • IDE: jól érthető, kényelmes, grafikus programozó felületek • Magas szintű nyelv: amiben kódolunk • Assembly: adott processzorhoz tartozik • Gépi kód: 10011011110010001
Mit takar a programozás? • A folyamat elemei: • Teendők lépésről lépésre • A gép által érthető nyelven • Ha nincs általa érthető parancs, a meglévőkből kell összerakni • Matematikai műveletek használata • Tervezőmunka: több napos-hetes-hónapos is akár
Mi kell hozzá? • Absztrakció: modellekben gondolkodás, elvonatkoztatás • pl. a földfelszín modellje a térkép • Fogalmazás a számítógép nyelvén • Kissé hasonlít az idegen nyelvek tanulására • Türelem
Programozás alapvető fogalmai • Kifejezések: mit ért meg a gép? • Vezérlőszerkezetek: hogy fogjuk össze a kifejezéseket? • Változók: adatok, amikkel dolgozik a program • Függvények: eljárások és módszerek
Tehát a program… • Utasítások sorozata, amelyek műveleteket végeznek adatokon • Matematikai háttér: egyelőre hagyjuk • Programkód: maga az utasítássorozat, a processzor hajtja végre • Adott nyelven megírva: forráskód
Programozás folyamata • Tervezés, elkészítés • Fordítás, tesztelés • Hibakeresés • Hibakeresés • Hibakeresés
Hibalehetőségek • Szintaktika: forma • Csinájjunkkexet oké. • Prog: hiányzó sorlezárás, rossz zárójelezés • Szemantika: jelentés • Csináljunk fából vaskarikát! • Nullával osztás, nem létező adat használata
Hibalehetőségek • Fordítási hiba • A program így nem is fut le • Futási hiba • Lefut, de rosszul működik,vagy elszáll • Bug – debugging
Bug példa • http://www.youtube.com/watch?v=E_WxsCOpFfo
Specifikáció/implementáció • Specifikáció • Mit csináljon a program: • Milyen adatokra lesz szüksége • Milyen eredményt kell, hogy adjon • Tisztán elméleti kérdés • Helyesség • Implementáció • Hogyan csinálja • Ehhez már kell egy programnyelv
PLanG • Pázmányos fejlesztésű (Lövei László) oktatónyelv • Igen egyszerű, az alapokhoz kiváló • Másra viszont nem alkalmas, nem is ez a célja
PLanG szabályok Alap szintaxis: PROGRAM programnév VÁLTOZÓK: ... ** változók deklarációja ... ** programtörzs PROGRAM_VÉGE
PLanG szabályok • A program és a változók nevében lehetnek ékezetes betűk és számok, de számmal nem kezdődhetnek • Helyes: PROGRAM program1 • Helytelen: PROGRAM 1program
PLanG szabályok • Nagy- és kisbetűk NEM számítanak • Más nyelvekben majd fognak • Megjegyzések • ** után a sor végéig • Ezt a szövegrészt a fordító nem értelmezi PROGRAM példaprogram ** ez a program bemutatja a megjegyzéseket
PLanG szabályok • Szöveg megadása: ”…” • Pl. ”szöveg” • Karakter megadása: ’.’ • Pl. ’a’
Hello, World! PLanG nyelven • Legáltalánosabb, legegyszerűbb tesztprogram: egyszerű kiíratás • Nem kell hozzá se változó, se függvény stb. • Ha lefut, azt jelzi: működik a fordító • Specifikáció: • Bemenet: nincs • Kimenet: „Helló, világ” felirat
PLanG ablak Eszköztár Kódfelület Nyomkövető Fordítóablak Be- és kimeneti panel