Programozás Alapjai I.
|
|
- Ilona Fehérné
- 6 évvel ezelőtt
- Látták:
Átírás
1 Programozás Alapjai I. Számítógép felépítése, Logikai és matematikai alapok, programnyelvek, alapfogalmak, programozási technikák Kis Balázs
2 A számítógép felépítése A számítógép alapvető felépítése, részegységei. Kis Balázs 2
3 Számítógép felépítése I. A mai számítógép, felépítését tekintve 3 fő elemre épít, mely elengedhetetlen a működéséhez: Alaplap Processzor Memória Ezek az alapelemek minden számítógépben megtalálhatóak. Természetesen a számítógép használatához még szükség van más eszközökre is, illetve a multimédiás PC ezen felül sok más eszközt is tartalmaz. Kis Balázs 3
4 Számítógép felépítése II. Az alaplap elsődleges feladata, hogy a processzor és a memória között fenntartsa az úgynevezett sínt, vagy buszt mely összeköti a processzort a memóriával, illetve egyéb eszközökkel. Maga a sín vagy busz egy adatvezeték köteg. Régebben a processzor órajelét és a memória címzését is az alaplap oldotta meg. Természetesen egy multimédiás PC alaplapja nagyon sok más feladatot is ellát. Kis Balázs 4
5 Számítógép felépítése III. A memória feladata, hogy a futtatandó programokat, és az éppen futó programokhoz tartozó szükséges adatokat tárolja a futás idejére. A memória mérete tehát nagyban befolyásolja a számítógép teljesítményét, hiszen, amennyiben kevés áll rendelkezésre belőle, sokkal többször kell a háttértárakról információt betölteni, amik viszont nagyon lassúak. Kis Balázs 5
6 Számítógép felépítése IV. A processzor feladata, hogy aritmetikai és logikai számításokat hajtson végre megadott operandusokon. A számítás elvégzése után a processzor a buszra küldi az eredményt, melyet már újra az alaplap feladata a megfelelő helyre eljuttatni (képernyőre, memóriába, stb.). Amennyiben az eredménnyel még további számításokat kell végezni, nem kell kiküldeni a processzorból. Kis Balázs 6
7 Logika és Számrendszerek Fontos megállapítások a logikában és a számrendszerek felépítése. Kis Balázs 7
8 Programozás logikai alapjai A programozás alapvetően a matematikai logikára épül, így az ott alkalmazott szabályok érvényesülnek a programozásban is. Az informatika és így a programozás egyik legfontosabb logikai alaptétele, mely megalapozza a mai elektronikai eszközök működési elvét, George Boole megállapítása volt. Kis Balázs 8
9 George Boole megállapítása Az 1800-as években leírt két munkája alapján, minden komplex művelet levezethető igazak és hamisak sorozatából. Ami alapján bármilyen matematikai művelet, komplexitásától függetlenül levezethető kettes számrendszerben is. E matematikai bizonyítás alapján Neumann János ajánlotta a kettes számrendszer használatát. Kis Balázs 9
10 Továbbvezetés I. Az elmélet természetesen alapjában nem alkalmas a mai informatika problémáinak megoldására. Komplex logikát kell felépíteni az elmélet alapján, melyben értelmezettek a matematikai és logikai műveletek. Kis Balázs 10
11 Számrendszerek I. Az informatika története során a fejlesztők több számrendszer alapján is elindultak a fejlesztéssel, így például: 2-es számrendszer 3-mas számrendszer 10-es számrendszer Természetesen a projektek nagy része sikertelen volt, így a 2-es számrendszer az alapja a mai informatikának. Kis Balázs 11
12 Számrendszerek II. A 2-es számrendszer az alapja ugyan a mai informatikának, de emellett használnak segédszámrendszereket is: 10-es számrendszer A felhasználókkal való eredményközlésre 16-os számrendszer Minden olyan kettes számrendszerbeli számot melyet már túl sok lenne leírni, ebbe a számrendszerbe konvertálják Kis Balázs 12
13 Számrendszerek III. A segéd számrendszerek természetesen szoftveres szinten jelennek meg, tehát maga a számítógép továbbra is csak 2- es számrendszer segítségével dolgozik. Ugyanakkor a segéd számrendszerek ismerete is elengedhetetlen, hiszen manapság hardver közeli fejlesztést is szoftver közeli szinten oldják meg, a 2-es számrendszer pedig egyre inkább csak a logika alapjaként jelenik meg a programozásban. Kis Balázs 13
14 Számrendszerek IV. A az egyes számrendszerekre a következő állítások igazak: Minden esetben 0-tól, a számrendszer 1-ig tartó értékek szerepelnek az adott számrendszerben, mivel a számrendszer száma, már egy következő hatványt jelöl. Minden egyes leírt szám, jobbról-balra, 0-tól egyesével emelkedő hatványértékeket takar. Kis Balázs 14
15 A tízes számrendszer I. A tízes számrendszer az a számrendszer melyet mi magunk is a hétköznapokban alkalmazunk. Az informatikában, mint segéd számrendszer jelenik meg, hiszen az embernek ezzel a számrendszerrel a legegyszerűbb dolgoznia. Az informatikában a szabályok melyeket a matematika felállított a 10-es számrendszeren belül ugyancsak érvényesek. Kis Balázs 15
16 A tízes számrendszer II. A tízes számrendszerben a 0-9-ig terjedő számok szerepelnek. És ily módon, minden egyes hatványérték ezeket a számokat veheti fel: * *1000 3*100 5*10 4*1 Így látható, hogy ha 10-et felvenné bármelyik szám, az pont a következő hatvány érték lenne Kis Balázs 16
17 A tizenhatos számrendszer I. Más néven hexadecimális számrendszer. Ez a számrendszer is segéd számrendszerként szerepel az informatikában. Felhasználása nagy jelentőséggel bír a következő területeken: Memória címek jelölésében. Színek keverésében. Az IPv6 címekben. MAC address címekben. Kis Balázs 17
18 A tizenhatos számrendszer II. A 16-os számrendszer felépítését tekintve a számokat 0-9-ig illetve a betűket A-F-ig tartalmazza. Az A-F betűk sorrendben ig jelölik a számokat, ezzel elkerülve, hogy egy-egy tag akár 2 szám is lehessen. A számrendszer azért is oly kedvelt mint segédszámrendszer, mert a kettes számrendszer egyes hatványaival megegyezik a 16-os számrendszer össze hatványa. Kis Balázs 18
19 A tizenhatos számrendszer III. A tizenhatos számrendszerben tehát egy szám ábrázolása így néz ki: f 2 9 b a * *4096 9*256 11*16 10*1 Mint látható a 10-es számrendszerhez hasonlóan a 16-os számrendszerben az egyes tagok, a 16, 0-tól induló hatványait jelölik. Kis Balázs 19
20 A kettes számrendszer I. A kettes számrendszer valójában az informatika alapja. A számrendszerben mindösszesen 2 szám található 0 és 1. A számrendszer azért a legalkalmasabb elektronikai eszközökön való számítások végzésére, és működtetésére, mivel az elektronikában könnyen reprodukálható a számrendszer. Kis Balázs 20
21 A kettes számrendszer II. Hiszen a számrendszer elektronikai eszközökön a feszültség van/nincs segítségével felépíthető. A magas, azaz igaz jel mindig az 1-es, az alacsony, azaz hamis jel a 0-ás értéket jelöli. A programozásban is nagy szerepet játszik a kettes számrendszer, hiszen a matematikai logika, mely erre a számrendszerre alapoz, a programozás alapja. Kis Balázs 21
22 A kettes számrendszer III. A kettes számrendszer felépítése tehát a következők szerint alakul: *16 0*8 1*4 1*2 0*1 A kettes számrendszer is ugyan azon elveken épül fel mint az előzőekben látott két számrendszer. Kis Balázs 22
23 Logika I. A kettes számrendszer mint azt George Bool megállapításai alapján is láthattunk a logika alapjának is tekinthető, hiszen az 1 mint igaz, a 0 mint hamis érték tekinthető. Ezáltal a matematikai logika (kijelentés logika és következtetés logika, illetve bool algebra) alapvető megállapításokat, axiómákat tart rajta értelmezve. Kis Balázs 23
24 Logika II. A kettes számrendszerben, a logikai kapcsolatok a követkőképpen alakulnak: És kapcsolat (AND) A végeredmény akkor igaz, ha minden érték igaz. Vagy kapcsolat (OR) A végeredmény akkor igaz, ha bármely érték igaz. Kizáró vagy kapcsolat (XOR) A végeredmény akkor igaz, ha bármely érték igaz, azonban az összes érték egyszerre nem igaz. Kis Balázs 24
25 Logika III. És kapcsolat igazságtáblája: Vagy kapcsolat igazságtáblája: A B A ÉS B A B A VAGY B Kis Balázs 25
26 Logika IV. Kizáró vagy kapcsolat igazságtáblája: A B A XOR B A programozásban is a matematikában felírt szabályok érvényesek. Kis Balázs 26
27 Logika V. Az eddigiekben átvett logikai műveletek mindegyike két operandusos művelet volt, ami azt jelenti, hogy a művelet két logikai érték között hajt végre műveletet. A formátum: B Azonban létezik olyan művelet is, ami egy operanduson hajt végre műveletet: A Nem A Negáló művelet (NOT): 0 1 Negálja egy megadott operandus értékét. 1 0 Kis Balázs 27
28 Logika VI. A logikában további nagyon fontos törvényszerűség, a De Morgan azonosság: Nem(A ÉS B) = Nem A VAGY Nem B Nem(A VAGY B) = Nem A ÉS Nem B Így tehát a két formula megegyezik tehát konvertálható az egyik a másikba. Kis Balázs 28
29 Feladat I. Határozzuk meg a következő számok 10-es számrendszerbeli értékét: D3F Írjuk fel a 234 számot kettes számrendszerbeli alakjában! Kis Balázs 29
30 A Program és generációi Program fogalma és Programnyelvek generációi. Kis Balázs 30
31 A program avagy alkalmazás Programnak vagy alkalmazásnak nevezzük azokat a speciális adatállományokat, amelyek futtathatók bizonyos célkörnyezetben és valamilyen célfaladat érdekében utasítások sorát hajtatják végre a céleszközzel. A program, futása során különböző erőforrásokat használhat, illetve beavatkozásokra reagálhat, melyek módosíthatják működését. Kis Balázs 31
32 Programnyelv generációk A programnyelveket csak úgy mint a számítógépeket generációkba oszthatjuk, melyek egyfajta fejlettségi szintet jelölnek: 1. Gépi kódú programozás 2. Assembly 3. Procedurális nyelvek 4. OOP 5. Specializált nyelvek 6. Mesterséges intelligencia Kis Balázs 32
33 Gépi kódú programozás A számítógépek hőskorszakában használatos programozási módszer, mely teljesen hardver közeli programozást valósít meg. Semmilyen mai programozásban megszokott elem nincs benne, kizárólagosan processzor utasítások sora binárisan, mely így igen nagy programkódot eredményezett. Lyukkártyán és lyukszalagon láthattunk ilyet élőben utoljára. Kis Balázs 33
34 Assembly Olyan programnyelv, mely még mindig processzor közeli, azonban itt már rövidítések, illetve értelmes utasítások is megjelennek, így a megjegyzése, tanulása lényegesen egyszerűbb. Ilyen nyelveket manapság még mikroprocesszoros áramkörök vezérlésére használnak. Minden program amit megírunk végül assembly-re fordul le. Kis Balázs 34
35 Procedurális nyelvek Olyan programnyelvek, melyek már különböző parancsokkal rendelkeznek, melyek valójában mini alprogramok. Ezekben a nyelvekben lehetőségünk van magunknak is létrehozni új alprogramokat. Ezekben a nyelvekben jelentek meg először a manapság ismeretes szerkezetek. Ilyen például a Pascal nyelv. Kis Balázs 35
36 OOP Objektum-Orientált programozásnak nevezzük a procedurális programozás egyfajta továbbfejlesztését. Az OOP alapú nyelvekben elsődleges eltérés a Procedurális nyelvekhez képest, hogy nagy hangsúly van azon, hogy a kezelendő adat, és az azon értelmezett feladatok, alprogramok egymás mellé legyenek zárva, így adat egységeket képezve. További fontos átalakulás, hogy nagyobb hangsúly lett fektetve a program továbbfejleszthetőségre, illetve a csapatmunkára. Kis Balázs 36
37 Specializált nyelvek Olyan programozási nyelvek, melyek egy bizonyos specifikus feladatra lettek kifejlesztve. Ezeket a nyelveket, globális feladatok megoldására nem lehet, vagy nem érdemes alkalmazni, azonban a célterületen amire kifejlesztették sokkal optimálisabbak mint más programnyelvek az adott területen. Ilyen például az SQL. (Standard Query Language) Kis Balázs 37
38 Mesterséges Intelligencia A mesterséges intelligencia is egyfajta programozási generáció. Itt olyan nyelvek jönnek szóba, amik különböző, géptől megszokott intelligencián túlmutató, képességekkel rendelkező programok fejlesztésében használatosak. Ilyenek jelenleg főként az adathalász, adatbányászatban használatos rendszerek. Kis Balázs 38
39 Programnyelvek Programnyelvek típusai, csoportosítása. Kis Balázs 39
40 Programnyelvek I. A programnyelveket több csoportosítási rendszer szerint is csoportosíthatjuk. Elsődleges csoportosítási elv a programnyelv programozási elve alapján történik: Funkcionális programozás Strukturált programozás Kis Balázs 40
41 Funkcionális programnyelvek Ezek a programnyelvek alapvetően a Specializált nyelvek alapjait adják. Ezen nyelveknek az elsődleges feladata, hogy a matematikai logika alapján felépített program készüljön el, mely nem kifejezetten felhasználói rendszert alkot, hanem egyes programok kiszolgálását végzik el. Ilyen nyelv például az Microsoft Visual F# Kis Balázs 41
42 Strukturált programnyelvek Ezek azok a programnyelvek, melyek a köztudatban mint programozási nyelvek élnek. Ezek a nyelvek szolgálnak különböző felhasználói, webes, szerverkiszolgáló programok összerakására. A tanfolyamon mi ezeknek a programozási nyelveknek alapjaival fogunk megismerkedni. Kis Balázs 42
43 Programnyelvek II. A programnyelvek további csoportosítási elve lehet a felhasználás területe is. Ebben az esetben ugyancsak két nagy csoportra bonthatjuk őket: Webfejlesztő programnyelvek. Lokális fejlesztést lehetővé tevő nyelvek. Természetesen ez a csoportosítás egyre jobban összemosódik. Kis Balázs 43
44 Programnyelvek III. Lokális fejlesztés Pascal C# (nem minden része) Java (nem minden része) C / C++ Delphi Objective C Webfejlesztés Java script (Ecma script) PHP ASP Java Flash (Action Script) Silverlight Kis Balázs 44
45 Webprogramozási nyelvek I. Ezek a nyelvek, melyeket előzőekben már láthattunk, az webre szánt programok fejlesztésében használatosak. Ez nem feltétlenül jelenti azt, hogy másra nem alkalmasak, azonban erre optimalizáltak. Ezek a nyelvek általában script nyelvek, mely azt jelenti, hogy a program végrehajtja a kívánt feladatokat, visszaadja az eredményt és kilép. Kis Balázs 45
46 Webprogramozási nyelvek II. Természetesen a weben ezek a programnyelvek tökéletesen megfelelnek, hiszen egy HTML alapú kimenetet adnak vissza legtöbbször (kivéve ha külön program értelmezi a visszaadott kódot). A weben jelenleg üzemelő weboldalak legnagyobb része már nem statikus, hanem egy program generálja a kimenetet. Kis Balázs 46
47 Lokális programozási nyelvek I. Ezek a programnyelvek régebben hasonlóak voltak mint a manapság már csak weben alkalmazott nyelvek. Mára már szinte kivétel nélkül mindegyik lokális programozásra szánt, legalább 4. generációs, nyelv rendelkezik GUI-val (Graphical User Interface) is, melynek segítségével a program vizuálisan jelenik meg. Kis Balázs 47
48 Lokális programozási nyelvek II. A vizuálisan megjelenő programok, azonban már nem lehetnek lefutás alapúak, hiszen a program működése a különböző vezérlőkön (gomb, címke, beviteli mező, stb.) keresztül történik, mely így nem egy bizonyos vonalat követve fut. Természetesen a programnyelvek nagy részének továbbra is megmaradt script nyelvekhez hasonló változata is. Kis Balázs 48
49 Programnyelvek IV. További lehetőség a csoportosításra, az ősök alapján való csoportosítás. Kis Balázs 49
50 Programnyelvek konklúzió A program nyelveket nagyon sok szempont szerint lehet csoportosítani. Alapvetően mi a működési célterület szerinti csoportosítást fogjuk alkalmazni, mivel eszerint lehet megkülönböztetni azt is, hogy milyen követelményei vannak az adott programnyelvnek. Kis Balázs 50
51 Programozási alapismeretek Programozási alapfogalmak, alapvető elemek Kis Balázs 51
52 Alapfogalmak I. Szintaktika Az a séma, melyet az adott programozási nyelv előír számunkra. Ezt a sémát kell követnünk ahhoz, hogy hibátlanul tudjuk futtatni a programunkat. Szintaktikai hiba: ha eltérünk ettől a sémától, pl.: for helyett fro-t írunk. Szemantika Az a séma, melyet a matematika és logika szab meg. Szemantikailag hibás program például egy végtelenségig futó program, vagy egy 0-val való osztás. Kis Balázs 52
53 Alapfogalmak II. Interpreter Lexikális értelmező, mely a fordítókörnyezetek, illetve manapság egyre inkább az IDE-k (Integrated Development Environment) részét képezi. Feladata, hogy a programozó által leírt programkódot értelmezze. Compiler Fordító egység, melynek feladata, hogy az Interpreter által feldolgozott kódot, a megadott helyre, az adott nyelvben értelmezett célkódban előállítsa. Kis Balázs 53
54 Alapfogalmak III. Konstans: Olyan név érték páros, mely a program futásához elengedhetetlen, de megváltoztatni a program futása közben nem lehet. Változó: Olyan név érték páros, mely a program futása alatt megváltozhat, ha a programban mi utasítást adunk rá. Ezek az értékek a memóriában tárolódnak, és onnan tudjuk őket feldolgozni. Kis Balázs 54
55 Változó és Konstans I. A változókat és konstansokat azért érjük el nevük szerint a memóriából, mert azt, hogy adott futásnál pontosan a memória melyik részén vagyunk nem tudjuk, mivel az Operációsrendszer dönti el, hova kerülünk minden induláskor. A memóriában az adatok és a programok egymás mellett szerepelnek (Neumann elv), így nehéz lenne kitalálni hol van adat, és hol van program. Kis Balázs 55
56 Alapfogalmak IV. Deklaráció: Az a folyamat, melynek során létrehozunk valamilyen változót, vagy konstanst. Egy definiálási folyamat, melyben megadjuk az értelmezőnek, hogy innentől valamilyen új adattárolót szeretnénk használni. Kezdőérték: A deklarációs folyamat részeként, az adott tároló létrejön ugyan, de ekkor még semmi nem szerepel benne. Az érték amit először töltünk az adott tárolóba. Kis Balázs 56
57 Alapfogalmak V. Adatszerkezet Olyan szerkezet, mely adatok, valamilyen rendszer szerinti tárolását, szervezését végzi el oly módon, hogy a szerkezetben lévő adatok valamilyen szempont szerint könnyen feldolgozhatóak legyenek. Az adatszerkezet megszabja a benne tárolt adatok elérhetőségét és tárolási módjukat is, tehát, hogy hogyan lesznek tárolva a memóriában. Kis Balázs 57
58 Alapfogalmak VI. Tömb (vektor, array) Adatszerkezet, melyben összetartozó, vagy legalább egyforma típusú elemek tárolhatók: A tömb tehát olyan mint összetartozó változók összessége. A tömb mindig egy irányú kiterjedéssel rendelkezik. A tömb indexelhető adatszerkezet, tehát az egyes elemeit közvetlen elérhetjük. Kis Balázs 58
59 Mátrix (multidimensional array) Többdimenziós tömb Alapfogalmak VII Ugyan azok a szabályok érvényesek rá mint a tömbre, tehát ugyancsak összetartozó vagy legalább egyforma típusú értékek találhatók benne. A mátrix, kiterjedését tekintve akármekkora lehet, tehát akárhány dimenziós kiterjedése lehet. Kis Balázs 59
60 Tömb adatszerkezet I. A tömb és a mátrix felépítését tekintve azonos adatszerkezetnek tekinthető Működésük arra épül, hogy az elemek nem csak használati szempontból következnek egymás után, hanem fizikailag is egymás után kell következzenek a memóriában. Ezért lehetséges index rendszer szerinti bejárásuk, hiszen ha ismerjük a típust, és tudjuk, hogy hányadik elemet keressük, egyszerűen kezdőcím + típusfoglalás * hányadik címre kell ugranunk. Kis Balázs 60
61 Tömb adatszerkezet II. Ez az elrendezés igen gyorssá teszi az adatszerkezet bejárását, használatát, de egyúttal helypazarlást is eredményez: X X X = Foglalt terület X X X X X X Az első, sematikus memóriában, nem tudunk egy 5 elemű tömböt létrehozni, habár lenne rá elegendő hely. A másodikban már lehetséges lenne. Kis Balázs 61
62 Alapfogalmak VIII. Elágazás: Olyan programrész, ahol a program futása szétágazik két, vagy több ágra. Iszik, vagy vezet Egyszerre mindig csak egy ágon folytathatja a program a futását. Az egyik legfontosabb program vezérlő elem, hiszen segítségével a program nem egyirányú, hanem megfelelő esetben más úton is folytathatja futását. Kis Balázs 62
63 Alapfogalmak IX. Az elágazásokhoz minden esetben szükség van egy feltételre, melynek igaz, hamis kimenetűnek kell lennie. Kivételt képez ez alól a többszörös elágazás. A logikai feltétel bonyolultságát tekintve korlátlan, és természetesen az előzőekben tanult logikai operátorok alkalmazhatók benne. Kis Balázs 63
64 Alapfogalmak X. Ciklus Olyan programrész, amely egy bizonyos logikai feltétel teljesüléséig ciklikusan lefut. Addig szárítom a hajam, amíg meg nem szárad Addig mosogatok, míg el nem mostam az összes edényt A ciklus feltételét nagyon figyelmesen kell megírni, mivel ha a feltétel mindig teljesül, pl.: 1<2, akkor a program végtelen ciklusba kerül. Kis Balázs 64
65 Alapfogalmak XI. A ciklusoknak nyelvtől függően 3-4 típusa létezik: Elöl tesztelős ciklus A feltételt a ciklus belépésekor teszteli, ezáltal, ha a feltétel elve nem teljesül, le sem fut. Minden esetben bennmaradási feltételt kell megadni, tehát, amíg teljesül a feltétel, addig fut le újra a ciklus. Hátul tesztelős ciklus A feltételt a ciklus végén teszteli, így ha a feltétel nem teljesül, akkor is minimum egyszer lefut a ciklus. C nyelvekben bennmaradási feltételt kell ide is megadni, Pascal alapú nyelvekben kilépési feltételt vár a nyelv. Kis Balázs 65
66 Alapfogalmak XII. Számlálós ciklus: Egy bizonyos szám szor fut le a ciklusmag. Valójában egy speciális elöl tesztelős ciklus, azonban ebben az esetben a feltétel az, hogy már elértük-e a kívánt lefutást. Bejáró ciklus: Egy speciális ciklusfajta, mely nem minden nyelvben található meg. Feladata, hogy tömböket, szekvenciálisan bejárható adatszerkezeteket a lehető legegyszerűbben lehessen bejárni. Kis Balázs 66
67 Alapfogalmak XIII. A változónál és konstansnál tudjuk, hogy névhez kötötten van egy memória címünk, amin keresztül elérjük az adatunkat. De a memóriában a legkisebb címezhető egység a Bájt, tehát 8 Bitnél kisebb egységet nem érünk el, és minden egyes bájtnak címe van. Azonban nem biztos, hogy csak 1 bájtnyi adatot akarunk tárolni 1 változóban lásd tömb Megoldás: Meg kell adni, hogy a változó pontosan mekkora területet foglal a memóriában, így ha tudjuk a kezdő címét, már tudjuk, hogy onnan még hány bájt tartozik hozzá. Kis Balázs 67
68 Alapfogalmak XIV. Típus: Az a jellemzője, egy változónak, konstansnak, tömbnek, mátrixnak, bármely adattárnak, mely azt szabja meg, hogy az adott tárolóban milyen érték / értékek tárolhatók el. Megszabja az értéktartományt, az értékkészletet, és az adaton értelmezhető műveleteket. Megadása azért fontos, mivel a memóriában nem mindegy, hogy mekkora helyet kell a számára fenntartani. A típus megadása manuálisan egyes nyelveken nem lehetséges, vagy nem kötelező. Kis Balázs 68
69 Alapfogalmak XV. Gyakori típusok: Egész számokat tárolni képes típusok: Egész 2^32 bit szélességű értékmező. Azaz ~ ig a számokat tárolni képes típus lenne, amennyiben nem tárolnánk benne negatív számokat, így ~ ~ ig a számokat tárolni képes típus. Bájt 2^8 bit szélességű értékmező ig a számokat képes tárolni. Logikai érték tárolására képes típus Logikai Igaz/hamis értékeket tud tárolni. Kis Balázs 69
70 Alapfogalmak XVI. Tört számokat tárolni képes típusok Valós 7-8 szám pontossággal a tört számokat tárolni képes típus. A Karakterisztika 32 bites egész szám (integer) A Mantissza 10-7/8 -ig terjedő szám Szöveges típusok: Karakter Egy karakter tárolására alkalmas típus. Szöveg Karakter lánc tárolására alkalmas típus. Kis Balázs 70
71 Operátorok I. Operátoroknak nevezzük azokat a matematikai, logikai jelölőket, melyek egyfajta műveletet jelölnek. A programozásban, sok egyedi operátor mellett, a matematikában használatos operátorok ugyancsak szerepelnek. Az operátorok jelölése, az egyes nyelvcsoportokban eltérő lehet. Alapvetően két nyelvcsoport operátorai az elterjedtek: Pascal alapú jelölés (verbose kifejtett, bő leírású) C alapú jelölés (terse tömör, jelölt leírású) Kis Balázs 71
72 Operátorok II. Operátorok: Értékadás: := Egy változó értéket kap, melyet ezután a memóriában fog tárolni a program végéig. Pl.: c := 2 Összeadás/Kivonás/Szorzás/Osztás + - * / Használata ugyan úgy működik mint a matematikában. Pl.: c := 2 + d e * 2 Kis Balázs 72
73 Operátorok III. Logikai operátorok: = Egyenlő-e a két érték. Pl.: b := a = c <> Nem egyenlő-e a két érték. Pl.: b := a <> c < > Kisebb, vagy nagyobb az adott érték mint az utána jövő Pl.: b := a < c <= >= Kisebb, vagy egyenlő, vagy nagyobb, vagy egyenlő az adott érték mint a következő. Pl.: b := a <= c Kis Balázs 73
74 Operátorok IV. AND OR XOR Olyan operátorok, melyek két logikai formula közti kapcsolatot jelenti. Pl.: b := a<c AND c<d OR e Példa: a := 2 c := a + 2 e := igaz b := a < c OR e Kis Balázs 74
75 Algoritmus Algoritmizálási technikák, algoritmusok típusai. Kis Balázs 75
76 Az algoritmus Olyan leíróeszköz, mely egy programot, vagy annak egy részét, tudja modellezni. Az algoritmus célja, hogy egy programnyelv független programunk legyen, melyet a megtervezés és leírás után akármelyik programnyelvbe lehet implementálni. Hasznos lehet, nagyobb projektek kisebb részeinek megtervezéséhez, illetve akkor, ha nekünk csak egy ötletünk van egy programra, de a célnyelvben nem tudjuk magunktól megírni azt. Kis Balázs 76
77 Algoritmus típusok Alapvetően 3 féle algoritmusról beszélhetünk: Szöveges (Pszeudó kód) Folyamatábrás Struktogrammos Mindhárom algoritmus alkalmas egy program megtervezésére. A legtöbbek által ismert a folyamatábrás, ám a szöveges áll a legközelebb a programozáshoz. Kis Balázs 77
78 Pszeudó kód I. A Pszeudó kód, egy programozás közeli algoritmus típus. Előnye ugyan az mint a hátránya, hogy szöveges, és valójában, ahogy mondjuk, úgy írjuk technológia, vagyis mindenki a saját nyelvén írja le Mégis ez a legelterjedtebb algoritmus típus, mivel könnyen, gyorsan értelmezhető, és gyorsan fordítható programnyelvre. Kis Balázs 78
79 Pszeudó kód II. Első példa: a, b : egész be a be b Ha a<b akkor ki b-a Különben ki a-b Elágazás vége Második példa: (Optimális?) a, i : egész be a i:=0 Ha a>0 akkor Ciklus amíg i<a ki i i:=i+1 Ciklus vége Elágazás vége Kis Balázs 79
80 Feladat II. Írjunk algoritmust, mely bekéri egy osztály jegyeit, majd kiszámolja az átlagukat. Kis Balázs 80
81 Folyamatábra I. Egy merőben vizuális algoritmizáló lehetőség. Ábrákkal szimbolizálja az egyes egységeket a programban. Előnye, hogy könnyű szerkeszteni. Hátránya, hogy bonyolult program esetén hatalmas ábrát igényel. Kis Balázs 81
82 Folyamatábra II. Első példa: Második példa: Kis Balázs 82
83 Feladat III. Írjunk folyamatábrás algoritmust egy összeadó, kivonó gépre, mely a felhasználó döntésétől függően összead vagy kivon. Kis Balázs 83
84 Struktogram I. Egy blokkosított kinézetű algoritmus. Egyetlen nagy négyzetbe írjuk meg az egész programot Előnye, hogy könnyen áttekinthető elkészülte után. Hátránya, hogy ha bővíteni kell a kódot, már igen nehézkesen férünk el benne. Kis Balázs 84
85 Struktogram II. Első példa: Második példa: Kis Balázs 85
86 Feladat IV. Készítsünk algoritmust egy olyan programra, amely bekér két számot és a két szám között lévő összes szám négyzetét kiírja! Kis Balázs 86
87 Algoritmus feltételei Egy algoritmus esetén nagyon fontos definiálni, hogy milyen elő és milyen utófeltétele van az algoritmusban foglalt programnak. Előfeltétel Meghatározza, hogy minek kell teljesülni a futás előtt. Utófeltétel Meghatározza, hogy mi fog történni az algoritmus futása után. Kis Balázs 87
88 Programozási technikák Programfejlesztési technikák fejlődése, fejlődésük oka, tulajdonságaik Kis Balázs 88
89 Programozási technikák Alapvetően 4 fajta programozási technikát különböztetünk meg: Monolitikus programozás Moduláris programozás Strukturált/Procedurális programozás Objektum Orientált Programozás Kis Balázs 89
90 Monolitikus Programozás Ez a technika manapság már szinte teljesen kihalt technika, még ritkán a script nyelvekben fordul elő. Line by Line programozás. Lényege, hogy valójában a parancsokat egymás után felsoroljuk, mindenfajta strukturálás nélkül. Hátrányai: Hosszú, átláthatatlan programkód. Újrahasznosíthatóság nincs. Továbbfejlesztés problémás. Kis Balázs 90
91 Moduláris Programozás A programozás a kezdetektől fogva hatalmas kódot eredményezett, azonban az ember képtelen hatalmas kódot áttekinteni, pláne módosítani, javítani. A moduláris programozás ebben segít, hiszen a programkódot nem egyben kezeljük, hanem modulonként (egy-egy modul, egy-egy funkcionális rész), így könnyen átlátható marad a program. A program továbbra is monolitikus. Előnye: A program személyiség független. Hátrányai: Nem strukturált felosztás. Integrációs bumm. Kis Balázs 91
92 Procedurális Programozás Procedurális programozás alatt azt értjük, mikor a programot, már nem egyszerű parancsok sokaságára építjük, hanem az elvégzendő feladatokat csoportosítjuk és alprogramokba szervezzük, majd ezeket a alprogramokat hívjuk meg egymás után. Valójában sok kisebb alprogramunk lesz, melyek egymástól függetlenül állnak. De egymástól nem függetlenül futnak. Előnyei: A kód átláthatóbb lesz, könnyen végigvezethető. A program könnyebben továbbfejleszthető. Hátránya: Túl sok alprogram esetén nehézkes az újrafelhasználhatóság. Kis Balázs 92
93 Objektum Orientált Programozás Jelenleg a legelterjedtebb programozási technika. OOP esetén már osztályokról és objektumokról beszélünk, melyek különféle kapcsolatokban állhatnak egymással. Előnyei: Kategorizált részegységek. Könnyű újrafelhasználhatóság. Valós világ könnyebb implementálása. Hátránya: Nagyobb memória igény. Kis Balázs 93
94 Programozás a gyakorlatban Szoftverfejlesztés lépései. Kis Balázs 94
95 Szoftverfejlesztés lépései A szoftverek fejlesztése a gyakorlatban lépésből áll: Analízis A probléma feltárása, elemzése. Tervezés A probléma körbejárása, a megoldás megtervezése. Fejlesztés A tervek alapján való lefejlesztés. Tesztelés A végtermék tesztelése. Követés Folyamatos bővítés, hibajavítás a szoftver használata során. Kis Balázs 95
96 Analízis Az analízis fázisban feltárjuk a probléma részleteit, illetve meghatározzuk, hogy a probléma megoldása egyáltalán megvalósítható-e Erre azért van szükség, mivel annak már a legelején ki kell derülnie, ha a projekt megvalósíthatatlan. Az elemzés során a megvalósíthatóságnál fontos a gazdasági kivitelezhetőség is, tehát, hogy anyagilag kivitelezhető-e a projekt. Kis Balázs 96
97 Tervezés I. A program tervezése alatt azt értjük, hogy a program egyes részeit specifikáljuk. Leírjuk, hogy mire lesz képes, és az hogy illeszkedik a végleges programba. Majd egységben véve végiggondoljuk, hogy az elgondolt terv, valóban életképes-e. Szükség esetén módosítjuk. Kis Balázs 97
98 Tervezés II. A gyakorlatban, a szoftverfejlesztő cégek, komoly előmunkálatok árán specifikálják a szoftverterméket. Ez szükséges a projekt biztosításához. A projekt lefutását is itt kell megtervezni, amit általánosan valamilyen modell alapján építenek fel. Pl.: Waterfall, Cleanroom, Scrum, RUP, stb. Kis Balázs 98
99 Fejlesztés Az elkészült tervezet alapján készülhet el maga a szoftver. A szoftvernek pontosan tükröznie kell terveket, mivel ezzel biztosítható, hogy a megtervezett szoftver is készül el. Az elkészült szoftver ezután verifikáción és validáción (V&V) esik át. Verifikáció: A szoftver megfelel a tervezetnek. Validáció: A szoftver megfelel a megrendelőnek. Optimális esetben a program sikeres verifikációja egyben a sikeres validációt is biztosítja. Kis Balázs 99
100 Tesztelés Az elkészült szoftvert teszteljük, hiszen a szemantikai hibákat csak tesztelés segítségével lehet feltárni. A tesztelésnek több típusa is létezik: Manuális tesztelés: A szoftvert manuálisan, valós felhasználókkal teszteltetjük. Automatikus tesztelés: A szoftvert egy szoftver segítségével teszteljük, mely megadott pontokon szándékosan próbál helytelen műveleteket véghezvinni és azt jegyzi, hogy mire mit reagált a program. Kis Balázs 100
101 Követés Miután a tesztek lementek, a szoftver éles környezetben lesz felhasználva, azonban a tesztelés sem szűrhet ki minden hibát, illetve a felhasználás során felmerülő újabb igényeket is implementálni kell a szoftverbe. A követés során a fejlesztő a már megírt és kiadott szoftvert javítja, fejleszti tovább a felhasználói igényeknek megfelelően. Kis Balázs 101
Programozási alapismeretek 4.
Programozási alapismeretek 4. Obejktum-Orientált Programozás Kis Balázs Bevezetés I. Az OO programozási szemlélet, egy merőben más szemlélet, az összes előző szemlélettel (strukturális, moduláris, stb.)
C# tanfolyam I. A.Net keretrendszer, programozási technikák és alapismeretek. Kis Balázs
C# tanfolyam I. A.Net keretrendszer, programozási technikák és alapismeretek .Net keretrendszer I. A.Net keretrendszer ötlete visszanyúlik egészen a Windows 2000 idejéig. Mikor is rájöttek, hogy az új
Java programozási nyelv
Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék
Széchenyi István Szakképző Iskola
A SZAKKÖZÉPISKOLAI SZAKMACSOPORTOS ALAPOZÓ OKTATÁS ISKOLAI PROGRAMJA 9 12. évfolyam Érvényes a 2003-2004-es tanévtől felmenő rendszerben Átdolgozva, utolsó módosítás: 2004. április 26. A szakmacsoportos
IT - Alapismeretek. Feladatgyűjtemény
IT - Alapismeretek Feladatgyűjtemény Feladatok PowerPoint 2000 1. FELADAT TÖRTÉNETI ÁTTEKINTÉS Pótolja a hiányzó neveket, kifejezéseket! Az első négyműveletes számológépet... készítette. A tárolt program
Webprogramozás szakkör
Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás
IT - Alapismeretek. Megoldások
IT - Alapismeretek Megoldások 1. Az első négyműveletes számológépet Leibniz és Schickard készítette. A tárolt program elve Neumann János nevéhez fűződik. Az első generációs számítógépek működése a/az
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és
Alapismeretek. Tanmenet
Alapismeretek Tanmenet Alapismeretek TANMENET-Alapismeretek Témakörök Javasolt óraszám 1. Történeti áttekintés 2. Számítógépes alapfogalmak 3. A számítógép felépítése, hardver A központi egység 4. Hardver
Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter
Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot
Programzás I. - 1. gyakorlat
Programzás I. - 1. gyakorlat Alapok Tar Péter 1 Pannon Egyetem Műszaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 15, 2007 1 tar@dcs.vein.hu Tar Péter (PE-MIK-DCS)
Széchenyi István Szakképző Iskola
A SZAKKÖZÉPISKOLAI SZAKMACSOPORTOS ALAPOZÓ OKTATÁS EMELT SZINTŰ ISKOLAI PROGRAMJA 11-12. évolyam Érvényes a 2003-2004-es tanévtől felmenő rendszerben Átdolgozva, utolsó módosítás: 2004. április 26. Az
2. Fejezet : Számrendszerek
2. Fejezet : Számrendszerek The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley College
B I T M A N B I v: T M A N
Műszaki informatika IPA Tesztek+Megoldások B I v: T 2014.02.15 M A N 1/41 Ellenőrző kérdések Alapfogalmi kitérő kérdéssor IPA kérdéssor 2/41 Ellenőrző kérdések 1. 1. Melyik Neumann elv következménye a
SZÁMÉRTÉKEK (ÁT)KÓDOLÁSA
1 ELSŐ GYAKORLAT SZÁMÉRTÉKEK (ÁT)KÓDOLÁSA A feladat elvégzése során a következőket fogjuk gyakorolni: Számrendszerek közti átváltás előjelesen és előjel nélkül. Bináris, decimális, hexadexcimális számrendszer.
Adatbázis-kezelő rendszerek. dr. Siki Zoltán
Adatbázis-kezelő rendszerek I. dr. Siki Zoltán Adatbázis fogalma adatok valamely célszerűen rendezett, szisztéma szerinti tárolása Az informatika elterjedése előtt is számos adatbázis létezett pl. Vállalati
Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?
Bevezetés Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések Forráskód Hibajegyzék p2p.wrox.com xiii xiii xiv xiv xvi xvii xviii
sallang avagy Fordítótervezés dióhéjban Sallai Gyula
sallang avagy Fordítótervezés dióhéjban Sallai Gyula Az előadás egy kis példaprogramon keresztül mutatja be fordítók belső lelki világát De mit is jelent, az hogy fordítóprogram? Mit csinál egy fordító?
OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos
OOP I. Egyszerő algoritmusok és leírásuk Készítette: Dr. Kotsis Domokos Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendı anyag vázlatát képezik. Ismeretük
Programtervezés. Dr. Iványi Péter
Programtervezés Dr. Iványi Péter 1 A programozás lépései 2 Feladat meghatározás Feladat kiírás Mik az input adatok A megoldáshoz szükséges idő és költség Gyorsan, jót, olcsón 3 Feladat megfogalmazása Egyértelmű
Programozás alapjai (ANSI C)
Programozás alapjai (ANSI C) 1. Előadás vázlat A számítógép és programozása Dr. Baksáné dr. Varga Erika adjunktus Miskolci Egyetem, Informatikai Intézet Általános Informatikai Intézeti Tanszék www.iit.uni-miskolc.hu
Adatbázis és szoftverfejlesztés elmélet
Adatbázis és szoftverfejlesztés elmélet Témakör 4. Összefoglalás 1. A kódolás eszközei Általános szövegszerkesztő Programozói szövegszerkesztő Fejlesztői környezet Vizuális fejlesztői környezet Általános
A programozás alapjai
A programozás alapjai Változók A számítógép az adatokat változókban tárolja A változókat alfanumerikus karakterlánc jelöli. A változóhoz tartozó adat tipikusan a számítógép memóriájában tárolódik, szekvenciálisan,
Szakmai program 2015
2015 Célok és feladatok a szakközépiskolai képzésben A szakközépiskolában folyó nevelés-oktatás továbbépíti, kiszélesíti és elmélyíti az általános iskolai tantárgyi követelményeket. A szakközépiskolában
Szoftver-technológia I.
Szoftver technológia I. Oktatók Sziray József B602 Heckenast Tamás B603 2 Tananyag Elektronikus segédletek www.sze.hu/~sziray/ www.sze.hu/~heckenas/okt/ (www.sze.hu/~orbang/) Nyomtatott könyv Ian Sommerville:
Adatbázis rendszerek. dr. Siki Zoltán
Adatbázis rendszerek I. dr. Siki Zoltán Adatbázis fogalma adatok valamely célszerűen rendezett, szisztéma szerinti tárolása Az informatika elterjedése előtt is számos adatbázis létezett pl. Vállalati személyzeti
Struktúra nélküli adatszerkezetek
Struktúra nélküli adatszerkezetek Homogén adatszerkezetek (minden adatelem azonos típusú) osztályozása Struktúra nélküli (Nincs kapcsolat az adatelemek között.) Halmaz Multihalmaz Asszociatív 20:24 1 A
Adatszerkezetek 1. Dr. Iványi Péter
Adatszerkezetek 1. Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot kódoltan tároljuk
Történeti áttekintés
Történeti áttekintés Előzmények A számítástechnika kezdetén elterjedt (egyeduralkodó) volt a mérnökpult használata, a gép és az ember kommunikációja bináris nyelven zajlott. A gépi kódú programozás nem
1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba
Hibaforrások Hiba A feladatok megoldása során különféle hibaforrásokkal találkozunk: Modellhiba, amikor a valóságnak egy közelítését használjuk a feladat matematikai alakjának felírásához. (Pl. egy fizikai
2019/02/11 10:01 1/10 Logika
2019/02/11 10:01 1/10 Logika < Számítástechnika Logika Szerző: Sallai András Copyright Sallai András, 2011, 2012, 2015 Licenc: GNU Free Documentation License 1.3 Web: http://szit.hu Boole-algebra A Boole-algebrát
INFORMATIKAI ALAPISMERETEK
Informatikai alapismeretek középszint 0621 ÉRETTSÉGI VIZSGA 2007. május 25. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI ÉS KULTURÁLIS MINISZTÉRIUM
The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003
. Fejezet : Számrendszerek The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach. kiadás, Irv Englander John Wiley and Sons Wilson Wong, Bentley College Linda Senne,
Kedves Diákok! A feladatok legtöbbször egy pontot érnek. Ahol ettől eltérés van, azt külön jelöljük.
Kedves Diákok! Szeretettel köszöntünk Benneteket abból az alkalomból, hogy a Ceglédi Közgazdasági és Informatikai Szakközépiskola informatika tehetséggondozásának első levelét olvassátok! A tehetséggondozással
INFORMATIKAI ALAPISMERETEK
Informatikai alapismeretek középszint 0721 ÉRETTSÉGI VIZSGA 2007. október 24. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI ÉS KULTURÁLIS MINISZTÉRIUM
Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása
Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző
Programozás alapjai Bevezetés
Programozás alapjai Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Programozás alapjai Bevezetés SWF1 / 1 Tartalom A gépi kódú programozás és hátrányai A magas szintÿ programozási nyelv fogalma
Bevezetés az informatikába
Bevezetés az informatikába 6. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.
Programozás alapjai. Wagner György Általános Informatikai Tanszék
Általános Informatikai Tanszék Hirdetmények (1) Jelenlevők: műsz. informatikusok progr. matematikusok A tantárgy célja: alapfogalmak adatszerkezetek algoritmusok ismertetése Követelményrendszer: Nincs:
ÁTVÁLTÁSOK SZÁMRENDSZEREK KÖZÖTT, SZÁMÁBRÁZOLÁS, BOOLE-ALGEBRA
1. Tízes (decimális) számrendszerből: a. Kettes (bináris) számrendszerbe: Vegyük a 2634 10 -es számot, és váltsuk át bináris (kettes) számrendszerbe! A legegyszerűbb módszer: írjuk fel a számot, és húzzunk
Programozási nyelvek 6. előadás
Programozási nyelvek 6. előadás Szempontok Programozási nyelvek osztályozása Felhasználói kör (amatőr, professzionális) Emberközelség (gépi nyelvektől a természetes nyelvekig) Számítási modell (hogyan
Occam 1. Készítette: Szabó Éva
Occam 1. Készítette: Szabó Éva Párhuzamos programozás Egyes folyamatok (processzek) párhuzamosan futnak. Több processzor -> tényleges párhuzamosság Egy processzor -> Időosztásos szimuláció Folyamatok közötti
C programozási nyelv Pointerek, tömbök, pointer aritmetika
C programozási nyelv Pointerek, tömbök, pointer aritmetika Dr. Schuster György 2011. június 16. C programozási nyelv Pointerek, tömbök, pointer aritmetika 2011. június 16. 1 / 15 Pointerek (mutatók) Pointerek
Programozási nyelvek a közoktatásban alapfogalmak I. előadás
Programozási nyelvek a közoktatásban alapfogalmak I. előadás Szempontok Programozási nyelvek osztályozása Felhasználói kör (amatőr, professzionális) Emberközelség (gépi nyelvektől a természetes nyelvekig)
Informatika érettségi vizsga
Informatika 11/L/BJ Informatika érettségi vizsga ÍRÁSBELI GYAKORLATI VIZSGA (180 PERC - 120 PONT) SZÓBELI SZÓBELI VIZSGA (30 PERC FELKÉSZÜLÉS 10 PERC FELELET - 30 PONT) Szövegszerkesztés (40 pont) Prezentáció-készítés
Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév
Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév Az informatika története (ebből a fejezetből csak a félkövér betűstílussal szedett részek kellenek) 1. Számítástechnika
Adatstruktúrák Algoritmusok Objektumok
Adatstruktúrák Algoritmusok Objektumok A számítógépes problémamegoldás modellezésének módszerei. Programozási elvek és módszerek: imperatív, strukturált, moduláris, objektumorientált programozás. Programozási
Java II. I A Java programozási nyelv alapelemei
Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak
AWK programozás, minták, vezérlési szerkezetek
10 AWK programozás, minták, vezérlési szerkezetek AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa
Tudásszint mérés feladatlap
Tudásszint mérés feladatlap 9. évfolyam Útmutató: Semmilyen segédeszköz nem használható! A feladatlap kitöltésére 40 perc áll rendelkezésedre! Gondold át válaszaidat! Név:... Dátum:... Iskola:... Osztály:...
BASH script programozás II. Vezérlési szerkezetek
06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van
Programozás alapjai. 10. előadás
10. előadás Wagner György Általános Informatikai Tanszék Pointerek, dinamikus memóriakezelés A PC-s Pascal (is) az IBM PC memóriáját 4 fő részre osztja: kódszegmens adatszegmens stackszegmens heap Alapja:
Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.
Programozás I. 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2012. szeptember 10. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 1 /
III. Alapfogalmak és tervezési módszertan SystemC-ben
III. Alapfogalmak és tervezési módszertan SystemC-ben A SystemC egy lehetséges válasz és egyben egyfajta tökéletesített, tovább fejlesztett tervezési módszertan az elektronikai tervezés területén felmerülő
Algoritmizálás és adatmodellezés tanítása 1. előadás
Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az
Számítógép felépítése
Alaplap, processzor Számítógép felépítése Az alaplap A számítógép teljesítményét alapvetően a CPU és belső busz sebessége (a belső kommunikáció sebessége), a memória mérete és típusa, a merevlemez sebessége
6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes.
6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes. Neumann elv: Külön vezérlő és végrehajtó egység van Kettes
Informatikus informatikus 54 481 04 0010 54 07 Térinformatikus Informatikus T 1/9
A 10/2007 (II. 27.) SzMM rendelettel módosított 1/2006 (II. 17.) OM rendelet Országos Képzési Jegyzékről és az Országos Képzési Jegyzékbe történő felvétel és törlés eljárási rendjéről alapján. Szakképesítés,
Verifikáció és validáció Általános bevezető
Verifikáció és validáció Általános bevezető Általános Verifikáció és validáció verification and validation - V&V: ellenőrző és elemző folyamatok amelyek biztosítják, hogy a szoftver megfelel a specifikációjának
Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez
Pásztor Attila Algoritmizálás és programozás tankönyv az emeltszintű érettségihez 3. ADATTÍPUSOK...26 3.1. AZ ADATOK LEGFONTOSABB JELLEMZŐI:...26 3.2. ELEMI ADATTÍPUSOK...27 3.3. ÖSSZETETT ADATTÍPUSOK...28
AWK programozás, minták, vezérlési szerkezetek
10 AWK programozás, minták, vezérlési szerkezetek AWK futtatási módok AWK parancs, közvetlen programkódmegadás: awk 'PROGRAMKÓD' FILE példa: ls -l awk '{print $1, $5}' a programkód helyére minden indentálás
elektronikus adattárolást memóriacím
MEMÓRIA Feladata A memória elektronikus adattárolást valósít meg. A számítógép csak olyan műveletek elvégzésére és csak olyan adatok feldolgozására képes, melyek a memóriájában vannak. Az információ tárolása
Gyakorló feladatok az 1. nagy zárthelyire
Gyakorló feladatok az 1. nagy zárthelyire 2012. október 7. 1. Egyszerű, bevezető feladatok 1. Kérjen be a felhasználótól egy sugarat. Írja ki az adott sugarú kör kerületét illetve területét! (Elegendő
Informatika. Magyar-angol két tanítási nyelvű osztály tanterve. 9. évfolyam
Informatika Magyar-angol két tanítási nyelvű osztály tanterve Óratervi táblázat: Évfolyam 9. 10. 11. 12. 13. Heti óraszám 2 1 2 - - Éves óraszám 74 37 74 - - Belépő tevékenységformák 9. évfolyam Hardver
Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }
Funkcionális és logikai programozás { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi ` 1 Jelenlét: Követelmények, osztályozás Az első 4 előadáson
INFORMATIKAI ALAPISMERETEK
Informatikai alapismeretek középszint 0811 ÉRETTSÉGI VIZSGA 2008. május 26. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI ÉS KULTURÁLIS MINISZTÉRIUM
Hardverközeli programozás 1 1. gyakorlat. Kocsis Gergely 2015.02.17.
Hardverközeli programozás 1 1. gyakorlat Kocsis Gergely 2015.02.17. Információk Kocsis Gergely http://irh.inf.unideb.hu/user/kocsisg 2 zh + 1 javító (a gyengébbikre) A zh sikeres, ha az elért eredmény
Irányítástechnika 1. 9. Elıadás. PLC-k programozása
Irányítástechnika 1 9. Elıadás PLC-k programozása Irodalom - Helmich József: Irányítástechnika I, 2005 - Zalotay Péter: PLC tanfolyam - Jancskárné Anweiler Ildikó: PLC programozás az IEC 1131-3 szabvány
Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu
Programozás I. 3. előadás Tömbök a C#-ban Metódusok C#-ban Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Szoftvertechnológia
Adatok ábrázolása, adattípusok
Adatok ábrázolása, adattípusok Összefoglalás Adatok ábrázolása, adattípusok Számítógépes rendszerek működés: információfeldolgozás IPO: input-process-output modell információ tárolása adatok formájában
Informatika ismeretek érettségi szóbeli témakörök
Informatika ismeretek érettségi szóbeli témakörök Szent Benedek Általános Iskola, Középiskola, Alapfokú Művészeti Iskola és Kollégium Kiskunfélegyházi PG Tagintézménye 2019. május-júniusi vizsgaidőszak
SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1
INFORMATIKAI RENDSZEREK ALAPJAI (INFORMATIKA I.) 1 NEUMANN ARCHITEKTÚRÁJÚ GÉPEK MŰKÖDÉSE SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1 Ebben a feladatban a következőket fogjuk áttekinteni: Neumann rendszerű számítógép
I. A DIGITÁLIS ÁRAMKÖRÖK ELMÉLETI ALAPJAI
I. A DIGITÁLIS ÁRAMKÖRÖK ELMÉLETI ALAPJAI 1 A digitális áramkörökre is érvényesek a villamosságtanból ismert Ohm törvény és a Kirchhoff törvények, de az elemzés és a tervezés rendszerint nem ezekre épül.
Algoritmizálás, adatmodellezés tanítása 6. előadás
Algoritmizálás, adatmodellezés tanítása 6. előadás Tesztelési módszerek statikus tesztelés kódellenőrzés szintaktikus ellenőrzés szemantikus ellenőrzés dinamikus tesztelés fekete doboz módszerek fehér
Fordítóprogramok. Aszalós László. 2009. szeptember 7.
Fordítóprogramok Aszalós László 2009. szeptember 7. 1. Bemelegítés Honlap: www.inf.unideb.hu/ aszalos/diak.html (Fordítóprogramok, 2009) Jegymegajánló: utolsó hét előadásán. PótZH (csak gyakorlat) vizsgaidőszak
Logikai áramkörök. Informatika alapjai-5 Logikai áramkörök 1/6
Informatika alapjai-5 Logikai áramkörök 1/6 Logikai áramkörök Az analóg rendszerekben például hangerősítő, TV, rádió analóg áramkörök, a digitális rendszerekben digitális vagy logikai áramkörök működnek.
Algoritmusok, adatszerkezetek, objektumok
Algoritmusok, adatszerkezetek, objektumok 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 14. Sergyán (OE NIK) AAO 01 2011.
Programozási nyelvek Java
statikus programszerkezet Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 2. előadás csomag könyvtárak könyvtárak forrásfájlok bájtkódok (.java) (.class) primitív osztály
C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi
C programozás Márton Gyöngyvér, 2009 Sapientia, Erdélyi Magyar Tudományegyetem http://www.ms.sapientia.ro/~mgyongyi 1 Könyvészet Kátai Z.: Programozás C nyelven Brian W. Kernighan, D.M. Ritchie: A C programozási
Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.
Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19. Programkészítés Megrendelői igények begyűjtése Megoldás megtervezése (algoritmuskészítés)
Java II. I A Java programozási nyelv alapelemei
Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve
A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai
A programozás alapjai 1 1. előadás Híradástechnikai Tanszék Amiről szólesz: A tárgy címe: A programozás alapjai A számítógép részegységei, alacsony- és magasszintű programnyelvek, az imperatív programozási
SZÁMRENDSZEREK KÉSZÍTETTE: JURÁNYINÉ BESENYEI GABRIELLA
SZÁMRENDSZEREK KÉSZÍTETTE: JURÁNYINÉ BESENYEI GABRIELLA BINÁRIS (kettes) ÉS HEXADECIMÁLIS (tizenhatos) SZÁMRENDSZEREK (HELYIÉRTÉK, ÁTVÁLTÁSOK, MŰVELETEK) A KETTES SZÁMRENDSZER A computerek világában a
1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje
1. Alapfogalmak 1.1. Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt
Bevezetés a programozásba. 5. Előadás: Tömbök
Bevezetés a programozásba 5. Előadás: Tömbök ISMÉTLÉS Specifikáció Előfeltétel: milyen körülmények között követelünk helyes működést Utófeltétel: mit várunk a kimenettől, mi az összefüggés a kimenet és
Rekurzió. Dr. Iványi Péter
Rekurzió Dr. Iványi Péter 1 Függvényhívás void f3(int a3) { printf( %d,a3); } void f2(int a2) { f3(a2); a2 = (a2+1); } void f1() { int a1 = 1; int b1; b1 = f2(a1); } 2 Függvényhívás void f3(int a3) { printf(
1. tétel. A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei. Informatika érettségi (diák)
1. tétel A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei Ismertesse a kommunikáció általános modelljét! Mutassa be egy példán a kommunikációs
Bevezetés az informatikába gyakorló feladatok Utoljára módosítva:
Tartalom 1. Számrendszerek közti átváltás... 2 1.1. Megoldások... 4 2. Műveletek (+, -, bitműveletek)... 7 2.1. Megoldások... 8 3. Számítógépes adatábrázolás... 10 3.1. Megoldások... 12 A gyakorlósor lektorálatlan,
Már megismert fogalmak áttekintése
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak
Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):
Python Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása alatt
Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):
Javascript Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása
1. Jelölje meg az összes igaz állítást a következők közül!
1. Jelölje meg az összes igaz állítást a következők közül! a) A while ciklusban a feltétel teljesülése esetén végrehajtódik a ciklusmag. b) A do while ciklusban a ciklusmag után egy kilépési feltétel van.
4. Fejezet : Az egész számok (integer) ábrázolása
4. Fejezet : Az egész számok (integer) ábrázolása The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson
Készítette: Nagy Tibor István
Készítette: Nagy Tibor István A változó Egy memóriában elhelyezkedő rekesz Egy értéket tárol Van azonosítója (vagyis neve) Van típusa (milyen értéket tárolhat) Az értéke értékadással módosítható Az értéke
Bevezetés. Dr. Iványi Péter
Bevezetés Dr. Iványi Péter Programozási készség Számos munka igényel valamilyen szintű programozási készséget Grafikus a képfeldolgozót, Zenész a szintetizátort, Programozó a számítógépet programozza.
2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés
. Számítógépek működési elve Bevezetés az informatikába. előadás Dudásné Nagy Marianna Az általánosan használt számítógépek a belső programvezérlés elvén működnek Külső programvezérlés... Vezérlés elve
Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs
Programozás I. 1. előadás: Algoritmusok alapjai Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember 7. Sergyán
Név: Neptun kód: Pontszám:
Név: Neptun kód: Pontszám: 1. Melyek a szoftver minőségi mutatói? Fejlesztési idő, architektúra, programozási paradigma. Fejlesztőcsapat összetétele, projekt mérföldkövek, fejlesztési modell. Karbantarthatóság,
Vezérlési szerkezetek
Vezérlési szerkezetek Szelekciós ok: if, else, switch If Segítségével valamely ok végrehajtását valamely feltétel teljesülése esetén végezzük el. Az if segítségével valamely tevékenység () végrehajtását
Webes alkalmazások fejlesztése
Webes alkalmazások fejlesztése 3. gyakorlat Authentikáció, adatok feltöltése Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu Authentikáció Manapság már elvárás, hogy a felhasználó regisztrálni