1. Bevezetés A programozásba 2015/2016. ősz
Adatlap Oktató : Kaszó Márk Email: mkaszo@aut.bme.hu Szoba: QB 227 Előadás: QBF15 terem szerda 10-12 Labor 2 csoport: QB 237 terem péntek 10-12 (kéthetente)
Célok Alapvető programozási ismeretek szerzése Fogalmak ismerete Algoritmizálás problematikája Vezérlési szerkezetek Adatszerkezetek OO megközelítés Fogalmak ismerete Strukturális gondolkodás fejlesztése Kis építőkövekből nagy egész összerakása Önállóan egyszerű programok írása Szoftverfejlesztési projektben Megrendelői oldal
Elvárások, számonkérés Papíron kell tudni egyszerű feladatokat megoldani 3 kis zh megírása előadáson 10 pont/ zh: összesen 30 pont Aláírás feltétele a 3 ZH ból minimum 15 pont!! HF megírása bemutatása plusz pontért 10 pont Vizsgadolgozat megírása 70 pont Az elégséges feltétele a vizsgán 35 pont Összesen 100 + 10 pont 0 - 50 1 51- 60 2 61- 70 3 71- 80 4 81- 5 Hivatalos puska használható!!!! Kiegészíteni nem lehet!!! Csalás szigorúan büntetendő
Tanév tematikája Hét Előadás Labor 1 Bevezetés, Számítógép bemutatása, 2 számrendszer, folyamatábra eszközök 1 Egyszerű algoritmus példák gyakorlása 2 Algoritmizálás problémája, primitív műveletek, egyszerű algoritmusok, algoritmusok vizualizációja folyamatábrával 3 Python bevezetés, programnyelvek áttekintése, adattípusok, változók fogalma, használata, példa kódok, if, while, for 2 python példa program, input, output, változók, adattípusok, if, while 4 Ciklusok gyakorlása, függvények 5 zh 1 (input, output, ciklus) Adattípusok: lista, ennesek, szekvenciák, dictionary 3 lista, ennesek, szekvenciák, dictionary 6 String, File kezelés, kivételkezelés 7 Python összefoglalás 4 függvények, file kezelés, stringek 8 OO 1 9 zh2 (lista, ennes, szekvencia, dictionary, string) OO 2 öröklés, property-k, gyakorlás 5 OO 10 komplex program összeállítása az eddig ismeretek alapján, beszélünk a HF feladatról, minta HF bemutatása 11 OO összefoglalás, teljes példa 6 OO 12 ZV Tételek összefoglalása 13 zh 3 (OO), ZV Tételek összefoglalása 7 Minta vizsgasor megoldása 14
Mit tegyünk a sikeres teljesítéshez? Előadások látogatás (rengeteg példa lesz magyarázattal) Laborok látogatás létfontosságú GYAKORLÁS, GYAKORLÁS, GYAKORLÁS …
Segítség a felkészüléshez https://www.aut.bme.hu/Course/programozas Előadások felkerülnek Érdemes figyelni rendszeresen Minta vizsgasor!!!
Laborbeosztás 2 csoport kell QB 237 terem péntek 10-12 (kéthetente) A félév sikeres teljesítéséhez létfontosságú a laborok látogatása Minden második héten van labor
A számítógép fő elemei
A számítógép fő elemei Processzor (Central Processing Unit, CPU): Végrehajtja az utasításokat, amiket adunk Azaz végrehajtja, futtatja a programokat E nélkül nem létezne a szoftver Memória: A számítógép itt tárolja a programot a végrehajtás közben (2- es számrendszer) Itt tárolja az adatot, amin dolgozik a processzor Van felejtő/nem felejtő változata Ideiglenes tároló (ha kikapcsoljuk a gépet, elveszik a benne lévő adat) Gyorsan el lehet érni a benne tárolt adatot!!!!!
A számítógép fő elemei Tároló eszközök: Adatok tárolása hosszú időn keresztül (akkor is, ha a gépet kikapcsoljuk) Lassabb elérés Input: az az adat, amit a számítógép emberektől, vagy más eszközöktől beolvas Beviteli eszköz: amin keresztül az adat eljut a számítógéphez Pl: egér, billentyűzet Output: az az adat, amit a számítógép embereknek, vagy más eszközöknek előállít Kiviteli eszköz: amin keresztül az adatot eljuttatja a számítógép Pl: monitor, nyomtató
2-es számrendszer Helyiértékek 2 hatványok 1,2,4,8,16,32,64,128,256,512,1024 Az egyes helyiértékekben lévő számok megmondják, hogy az adott helyiértékből mennyi van a számban Néhány példa: 8 4 2 1 7 0 1 1 1 9 1 0 0 1 12 1 1 0 0 14 1 1 1 0
Adattárolás Minden adatot, amit tárol a számítógép 0-k és 1- esek sorozatává alakít (Bit) A tárolók elemi tároló helyekre vannak osztva, minden helyen állhat 0, vagy 1: bit (binary digit) Az adat tárolás egysége: Byte 1 byte = 8 bitből álló tároló helyek, ez elég arra, hogy pl. egy karaktert tároljunk
Adattárolás Egész számok Szövegek tárolása Egyéb típusú adatok is tárolása 2-es számrendszerbeli számként Szövegek tárolása 1 byte = 1 karakter, minden karakternek van kódja. Sok byte egymás után, sok karakter (ASCII = American Standard Code for Information Interchange) Egyéb típusú adatok is Pl: képek, filmek, zenék stb.. 0-k és 1-esek sorozatává alakulnak
Hogyan működik a számítógép? A számítógépes program megmondja a számítógépnek, hogy mit csináljon: adatbevitel, feldolgozás, visszajelzés Programozás: Utasítások rendezett gyűjteménye: Lépésenként megmondani a számítógépnek, hogy mikor mit csináljon Egzakt utasítások kellenek – ezért lassú a programozás Programozási nyelv - a számítógép nyelve, amin az utasításokat közölhetjük Forráskód: az utasítások egy speciális program nyelvű leirata A program megmondja a számítógépnek, hogy mit csináljon Mit kezdjen az input-tal Milyen visszajelzést adjon A kettő között milyen műveletet végezzen (hogyan dolgozza fel az információt) Programozás: Lépésenként megmondani a számítógépnek, hogy mikor mit csináljon Egzakt utasítások kellenek – ezért lassú a programozás Programozási nyelvet kell használni, mivel nem ért magyarul A program: utasítások rendezett gyűjteménye Forráskód: az utasítások egy speciális program nyelvű leirata
Folyamatábra
Folyamatábra Leírja a folyamatainkat egy megfelelően magas nyelven Algoritmikus gondolkodás elsajátítására remekül használható Egyszerű feladatokat szinte program szinten lehet vele kezelni A programozó a folyamatábra alapján egyszerűen meg tudja írni a programot
Folyamatábra elemei Program kezdete Input / Output Általános művelet Elágazás
Programozási szerkezetek Szekvencia Elöl tesztelős ciklus Hátul tesztelős ciklus Igazságértékre alapozott választás Többszörös választás
Szekvencia Egymás után következő lépések sorozata A program ezt hatja végre lépésről lépésre
Elöl tesztelős ciklus Első lépés feltétel vizsgálata Döntés függvényében NEM BIZTOS, HOGY a ciklusmag végrehajtódik
Hátul tesztelős ciklus Első lépés ciklusmag végrehajtása Feltétel vizsgálata A ciklusmag legalább egyszer végrehajtódik
Igazságértékre alapozott vizsgálat Feltétel vizsgálata. Eredménye lehet: Igaz Hamis A vizsgálat eredményének függvényében elágazik a program
Többszörös választás Feltétel vizsgálata. Eredménye több értékből is választható A választás függvényében ágazik el a program