Adatok, műveletek és vezérlés
|
|
- Hanna Dobosné
- 5 évvel ezelőtt
- Látták:
Átírás
1 Adatok, műveletek és vezérlés Számábrázolás, alaptípusok. Típuskonstrukciók. Operátorok, kifejezések kiértékelése. Utasítások, vezérlési szerkezetek, rekurzió, kivételkezelés. Adatabsztrakció. Osztály, öröklődés, statikus és dinamikus kötés, altípusos polimorfizmus. Generikusok. Számábrázolás, alaptípusok. Logikai típusok ábrázolása: programnyelvenként eltérő. Példák: C++ : 0 (8 darab 0 bit) = false, minden más true Java : külön típus (Boolean) FALSE és TRUE értékekkel (nem konvertálható int-té!) C# : külön típus (System.Boolean), amely konvertálható int-té (de nem implicit, mint C++ esetén) (Előjeles) egész számok ábrázolása: úgynevezett kettes komplemens alakban történik. A kettes komplemens alak előállítása: vesszük a szám kettes számrendszerbeli reprezentációját, eléje írunk egy 0-t. Második lépésben a számsorozatot negáljuk (egyes komplemens), majd utolsó lépésben a negált számhoz hozzáadunk 1- et. A számítógépekben (nagyon ritka kivételektől eltekintve) csak egész byte-on tudunk tárolni, ennek következtében egy byte-on előjel nélkül [0, 255] közötti egészek tárolhatóak, előjelesen pedig [-128, +127] intervallumba esők (hiszen az első bit jelzi az előjelet: 0 esetén +, 1 esetén, és ezután marad 7 bitünk a számra). Figyeljük meg, hogy az intervallumok egymásnak kölcsönösen megfeleltethetőek! Megállapíthatjuk, hogy az alábbi egyenlőségek igazak, ha n a vett byte-ok száma: előjel nélküli esetben az ábrázolt számtartomány: [0, 2 n -1] előjeles esetben az ábrázolt számtartomány: [-2 n-1, +2 n-1-1] Törtszámok ábrázolása: úgynevezett fixpontos vagy lebegőpontos alakban történik. Fixpontos esetben a szám felépítése: 1 bit előjel n bit egészrész m bit törtrész Lebegőpontos esetben: kicsit bonyolultabb a felépítés. A számot normalizált alakban tároljuk (±M 2 ±E, M = mantissza, E = exponens/kitevő). Ennek lépései: A mantisszát törtekre vagy egészekre normalizáljuk (értéke legyen (0.5, 1) közötti vagy (1, 2) közötti). Az első bit mindenképpen 1. Ezért őt elhagyhatjuk (ún. implicit bit, számolás elött őt vissza kell tennünk!) Legyen a normalizált, implicit bitet elhagyott mantissza m. Karakterisztika eltolása (offszet karakterisztika): az exponenshez hozzáadunk egy d = 2 k-1 vagy d = 2 k-1-1 alakú számot, hogy mindenképp pozitív legyen a kitevő (c:= E + d). Legyen s 0 vagy 1. 0 ha a szám pozitív, 1 ha negatív. Ekkor a lebegőpontosan ábrázolt szám: N = (-1) s m 2 c-d Alaptípusok: nyelvenként különbözőek. Példának vegyük a C++, Java, C# nyelveket. Az egész számok mögött zárójelben olvasható, hogy az adott típus hány byte-on tárolódik (C++ esetén a 4/8 azt jelenti, hogy architektúra függő a tárolás (32 vs. 64 bites architektúra)). A törtszámok esetén zárójelben olvashatóak a következők: tároló byte-ok száma intervallum tizedespontosság
2 Egész számot ábrázoló alaptípusok: C++ char (1), wchar_t (2), short(2), int (4/8), long (4), long long (8) Java byte (1), short (2), int (4), long (8) C# byte (1), short (2), int (4), long (8) Törtszámot ábrázoló alaptípusok: C++ float (4 [3.4E-38, 3.8E+38] 6), double (8 [1.7E-308, 1.7E+308] 15), long double (10 [3.4E-4932, 3.4E+4932] 19) Java float (4 [2-149, ( ) ] 7), double (8 [2-1074, ( ) ] 16) C# float ( to ), double (8 ± to ± ), decimal (16 (-7.9 x to 7.9 x ) / (100 to 28), 28-29) Java és C# esetén van még egy 'char'-nak nevezett primitív típus is (karakterek ábrázolására). (Majdnem) mindegyik primitív típusból van unsigned és signed változat is. Little endian vs. Big endian: Architektúrája válogatja, hogy hogyan tárolja el a számokat. Little endian esetén a legkisebb memória címre kerül a legkisebb helyi értékű byte. Big endian esetén a legkisebb memória címre a legnagyobb helyi értékű byte kerül. (megjegyzés: a little endian fordított az írotthoz képest, amit mi 1024-nek írunk, azt egy little endian architektúra (ha tízes számrendszerben tárolna) 4201-ként tárolná) Típuskonstrukciók. Az alaptípusokon túl (de még az osztályok előtt) van lehetőségünk különböző típuskonstrukciókat használni. Ezek lehetnek iterált, direktszorzat és unió típusúak. A típuskonstrukciók összefoglalása a következő: tömb típus: Egy tömb egy olyan adatszerkezet, amely azonos típusú elemek sorozatait tartalmazza. gyakorlatilag leképezés egy diszkrét intervallum és az adott típus között (a diszkrét intervallum elemeit indexeknek hívjuk) indexek száma megadja a tömb méretét alapművelete az indexelés (az i. elemet gyorsan el tudjuk érni) léteznek programnyelvek, ahol különböző típusokat is tárolhatunk egy tömbben, de általában csak egyfélét direktszorzat típus: több különböző típust kell szinkron kezelnünk. Például: rekord típus (pl.: C++ esetén struct) komponensek a rekord ún. mezői alapművelete a komponenskiválasztás léteznek programnyelvek, ahol nincs ilyen típuskonstrukció, ezekben osztályokat kell használnunk unió típus: például több rekord közös kezelése (Férfiak, Nők külön rekordok, de a Népességet is kezelnünk kell valahogy) a modern programozási nyelvekben kiváltották feladatát az öröklődés és a polimorfizmus, így azok nem is támogatják (pl.: Java, Eiffel)
3 Operátorok, kifejezések kiértékelése. Az operátorok és a paraméterekből és operátorokból álló kifejezések kiértékelése programnyelvenként változó algoritmussal írható le, amely fontos sarokkő az egyes programozási nyelvek specifikációjában. Példának hasonlítsuk össze a C++ és a Java nyelveket: C++ forrás: wikipédia
4 Java forrás: java.sun.com Fontos az első táblázatban látható asszociativitás kérdésköre (hiszen ha például az = balasszociatív lenne, akkor értelmetlen lenne az a = b = c = 0; sor). Fontos ezen kívül a túlterhelés (C++ esetén léteznek túlterhelhető operátorok, Java-ban egyik sem az). Operátor: a különféle műveleti jelek, melyek öszekapcsolják a kifejezésekben szereplő operandusokat. Operandus: változók, konstansok, függvény- és eljáráshívások. Kifejezés: operátorok és operandusok sorozatából álló nyelvi elem. Művelet: tevékenység(sorozat), amit az operátorok előírnak. Kifejezés kiértékelése: a benne szereplő összes művelet elvégzése. Elsőbbségi (precedencia) szabályok: a műveletek során a kifejezések kiértékelési sorrendjét meghatározó szabályok. Ezáltal precedenciaszintenként csoportosíthatóak a műveletek. A sorrend zárójelezés segítségével testreszabható, mert először mindig a zárójelben lévő műveletek hajtódnak végre. Asszociativitás: az azonos precedencia szinten lévők kiértékelési sorrendje (balról-jobbra vagy jobbról-balra). Minden művelet balról-jobbra értékelődik ki, kivéve az alábbiakat, amik jobbrólbalra: Egyoperandusú műveletek Értékadással egybekötött kétoperandusú műveletek Háromoperandusú művelet Mellékhatás (side effect): bizonyos műveletek függvényhívás, többszörös értékadás, léptetés (+
5 +, --) feldolgozásakor jelentkező jelenség, melynek során a kifejezés értékének megjelenése mellett bizonyos változók is megváltoztathatják értékeiket. Kiértékelésük sorrendjét nem határozza meg a C szabvány, így ügyeli kell rájuk, el kell kerülni az olyan utasításokat, melyek kiértékelése függ a precedenciától. Rövidzár (short circuit, lusta kiértékelés): az a kiértékelési mód, amely során nem szükséges kiértékelni a teljes kifejezést ahhoz, hogy egyértelműen meghatározzuk az értékét. Pl. ha egy && bal oldali operandusa 0, a jobb oldalit már szükségtelen kiértékelni, a kifejezés értéke egyértelműen 0 lesz. A műveleteket operandusuk száma és típusa szerint csoportosítjuk, programozási nyelvtől függetlenül: Egyoperandusú (unáris) műveletek Kétoperandusú (bináris) műveletek Háromoperandusú (trináris) művelet Kiértékelés: Minden kifejezésből építhető ún. szintaxisfa, például: forrás: digitus.itk.ppke.hu A kifejezések kiértékelését rengeteg különféle módon el lehet végezni, egyik legismertebb a lengyelforma algoritmus. Ez először a kifejezést postfix alakra hozza, majd ezt kiértékeli. Az alábbi struktogrammokban x a kifejezés (sorként ábrázolva) s egy verem, y a postfix alak (sorként ábrázolva), v egy verem, z pedig a kifejezés értéke. Postfix alakra hozás:
6 Kiértékelés: struktogrammok forrása: digitus.itk.ppke.hu Utasítások, vezérlési szerkezetek, rekurzió, kivételkezelés. Utasítás: A program egy sora, a legkisebb építő eleme. Megfigyelhető a hierarchia: egy gépi kódú utasítás pontosan egy processzorművelet, az assembly ennek olvashatóbb formája, míg az egyre magasabb szintű programozási nyelvek egy utasítása általában egyre több gépi kódú utasításnak felel meg. Ezért cserébe kapjuk a jobb olvashatóságot, a kisebb hibázási lehetőséget, stb. Viszont végül mindig gépi kódú utasításokat futtatunk. Vezérlési szerkezet: Az utasításokat blokkokra tagolhatjuk. Speciális blokkok a vezérlési szerkezetek, amelyek bár programnyelvenként változhatnak a legáltalánosabbak majdnem minden nyelvben megtalálhatóak, ezek: elágazás (if-else): az utasításblokkok az úgynevezett ágak. Valamilyen kifejezés értékétől tesszük függővé, hogy az if ágba tartozó utasítok lefutnak-e (esetleg az else ágba tartozók, avagy semmi), ciklus (while): az utasításblokk az úgynevezett ciklusmag. Amíg az adott feltétel teljesül újra és újra végrehajtjuk a ciklusmagot, léptetős ciklus (for): egy ciklus, beépített változóval. Például ha valamit 10-szer akarunk végrehajtani. (C++ esetén használható teljesen másképp is például!), hátultesztelős ciklus (do-while): a ciklusmag egyszer mindenképpen végrehajtódik, és ezután ameddig a kifejezés a ciklusmag végén igaz, addig újra és újra végrehajtjuk azt, kapcsoló (switch-case): többágú elágazás, amely egy adott kifejezés adott értékei szerint ágazik szét. (Figyeljünk rá, hogy a legtöbb megvalósításban minden eset (case) után ki kell ugranunk a switch-ből (break), és általában adunk alapesetet is (default)), iterációs ciklus (foreach, enchanced for, stb.): olyan ciklus, amely egy adott adatszerkezet minden elemére lefuttatja a ciklusmagot. Rekurzió: Előfordul, hogy egy-egy programblokkot (például függvényt) rekurzívan akarunk használni, vagyis a függvényből meghívjuk ismét a függvényt. A rekurziót általában idő- és tárpazarlónak tartják (imperatív nyelvekben), de vannak esetek, amikor gyakorlatilag kikerülhetetlen (funkcionális nyelvekben) ( A rekurzivitás jelenségét az újraírhatóság vagy láncszabály kifejezésekkel is le szokták írni. A rekurzivitás valójában olyan eljárásokat jelent, melyek nyitott végűek, és azáltal
7 vezetnek eredményre, hogy saját magukra alkalmazódnak. Így válnak képessé véges elemből és véges szabály által végtelen elemű rendszert létrehozni. ). Léteznek olyan függvények, amelyekre bár létezik iteratív megoldás (például faktoriális számítás, Fibonacci-sorozat n-edik elemére még explicit képlet is van), de könnyebb őket rekurzívan megadni (még ha így sokkal kevésbé hatékony is a megvalósító kód). Kivételkezelés: A kivételkezelés egy programozási mechanizmus, melynek célja a program futását szándékosan vagy nem szándékolt módon megszakító esemény (hiba) vagy utasítás kezelése. Az eseményt magát kivételnek hívjuk. A hagyományos, szekvenciális és struktúrált programozási kereteken túlmutató hibakezelésre, valamint magasabb szintű hibadetekcióra, esetleg korrigálásra használható. Régen, az alapvető utasításkészlettel ezek a hibák nem voltak kezelhetőek. A magas szintű programozási nyelvekben elterjedt egy módszer ezek kezelésére, mely általánosan így írható le: try {blokk} catch (mit) {blokk} finally {blokk} A szerkezet lényege: A try-blokkban lévő utasítások során kiváltódott hibákat a catch (mit) ágban/ágakban kaphatjuk el, és az ebben a blokkban kiadott utasítások hajtódnak végre a kivétel kiváltódása után. A finally-blokk lényege, hogy a megelőző blokkok után mindenképpen végrehajtódik, ha történt kivétel, ha nem. A kivételeket alapvetően két csoportra oszthatjuk: Operációs rendszerszintű kivételek: például memória elfogyása, rendszererőforrás problémák, fájlhibák, 0-val osztás stb. Nyelvi szintű kivételek: általános kivételek, jelzések, eseményjelzők, kódblokk megszakítások, erőforrás felszabadító szakaszok. Adatabsztrakció. Az adatabsztrakció lényege: összetett adatokkal dolgozó programjainkat úgy építjük föl, hogy az adatokat felhasználó programrészek az adatok szerkezetéről ne tételezzenek fel semmit, csak az előre definiált műveleteket használják, az adatokat definiáló programrészek az adatokat felhasználó programrészektől függetlenek legyenek. Osztály, öröklődés, statikus és dinamikus kötés, altípusos polimorfizmus. Osztály: Egy osztályban általában egy feladat elvégzéséhez szükséges kódrészleteket gyűjtik össze funkciójuk szerint, tagfüggvényekbe rendezve. Ezen kívül az osztályhoz tartozhatnak változók (osztály ill. példányszintűek), amelyeket ez esetben mezőknek (field) hívunk. Az osztály tekinthető a való világ egy részéből kreált adatabsztrakciós megvalósításnak is. Az osztály által megkapjuk az OOP legfőbb vívmányait, ezek a(z): encapsulation (egységbe zárás együtt kezeljük, ami egybe való, függvények, változók); information hiding (információ elrejtés a külvilág nem tudja, az objektum mit is csinál belül, nem ismeri a függvénytörzset); code reuse (kód újrafelhasználás példányosítás, osztály továbbörökítése, stb.).
8 Objektum: Az osztály egy konkrét példányát nevezzük objektumnak. Öröklődés: Egy osztály definiálása után előfordulhat, hogy az osztályban szereplő kódokat más osztályokban is használni szeretnénk. Ehhez csak arra van szükség, hogy egy adott osztályt amiből a másik osztály tagfüggvényeit el akarjuk érni, abból származtassunk. Ezt nevezzük öröklődésnek. Öröklődés során csak a public és protected nyilvánossági szintű mezők és függvények lesznek elérhetőek az utódban. Az öröklődések mentén az osztályokat gráfba rendezhetjük, ezt nevezzük öröklődési gráfnak. Ez a gráf mindenképp körmentes kell, hogy legyen, a többi tulajdonsága programnyelvenként eltérő lehet (például C++ esetén megengedett a többszörös öröklődés, míg Java esetén a gráf mindenképpen fa kell, hogy legyen). Ugyanígy programnyelvenként eltérőek az utódban lévő felüldefiniálás (override) és túlterhelés (overload) szabályai. Ezek mind konzekvensen kell, hogy kövessék a nyelv specifikációját (lásd C+ + csak virtual esetén enged felüldefiniálni, Java minden esetben, kivéve, ha final a függvény). Interface, absztrakt osztály: Bizonyos programnyelvekben (pl.: Java) megjelenik ez a két speciális osztály, amely bár más nyelvekben is megvalósítható tulajdonságokkal bír, mégsem kaptak külön jelzőt nyelvi szinten. Az interface az ún. teljesen absztrakt osztály (csak függvényszignatúrákat és osztály szintű mezőket tartalmazhat), míg az absztrakt osztály tartalmazhat konkrét megvalósításokat is. Azonban példányosítani közvetlenül egyiket sem lehet, csak egy olyan utódon keresztül, ami megvalósítja az összes meg nem valósított függvényt. Statikus és dinamikus kötés: Statikus kötés esetén a változón értelmezett műveleteket objektum-változó esetében a metódusokat a változó típusa határozza meg. Ez történik a hagyományos programnyelvekben. A fordítóprogram a változó típusának ismeretében ellenőrzi, hogy a kijelölt művelet az adott változón végrehajtható-e, és ha igen, generálja a megfelelő kódot. Dinamikus kötés esetén a műveletet meghatározó tényező a változó által hordozott érték. Az objektum-változók esetén ez azt jelenti, hogy értékadáskor a műveleteket végrehajtó metódusok is cserélődnek. A változóval végzendő művelethez tehát most, futási időben rendelődik hozzá a műveletet végrehajtó eljárás (metódus) kódja. Ha korrekt módon akarunk eljárni, akkor bármiféle, a változóra kijelölt művelet végrehajtása előtt meg kell kérdeznünk a változót, hogy éppen milyen értéket tárol. Hiszen az sem biztos, hogy a végrehajtani kívánt művelet egyáltalán értelmezett a változóban éppen tárolt értékre (megérti-e a változóban tárolt objektum az üzenetet). Így érthető, hogy a dinamikus kötés implementálása lényegesen bonyolultabb a statikusnál. Polimorfizmus: A polimorfizmus és a dinamikus kötés különböző fogalmak! Polimorfizmusnak (többalakúságnak) azt a jelenséget hívjuk, hogy egy változó nem csak egyfajta típusú objektumra hivatkozhat. Altípusos polimorfizmus: Altípusos polimorfizmus esetén a dinamikus típus mindig a statikus típus vagy annak valamely leszármazottja (Ha B altípusa A-nak, akkor egy A típusú referenciának A vagy B típusú értéket adhatunk). Generikusok. Parametrikus polimorfizmus: Egy adott osztályt egy adott típussal tudunk paraméterezni. Szinte minden modern nyelvben fellelhető lehetőség (funkcionális nyelvekben is, C++, Java, stb.).
9 Generikus programozás (generic, template): Algoritmusok és adatszerkezetek általános, típusfüggetlen programozása. Bizonyos nyelvekben (pl.: Ada, C++) ez egy sablon, csak példányosításra használható. Más nyelvekben (pl.: Java, funkcionális nyelvek) ez egy kód, amely végrehajtódhat a megfelelő típusokkal. Generatív programozás: Program készítése programmal. A generikus programozás azért lehet generatív, mert egy bizonyos kód alapján a program elkészít egy másik kódot, amely már nem sablon, hanem igazi, futtatható programrészlet ( generic -ek mellett ilyen még a C++ esetén alkalmazott template metaprogramming ). Lusta példányosítás: (pl.: C++ esetén) csak a valóban használt programrészek gyártódnak le. Sablonszerződés: A sablon specifikációja megmondja, hogyan lehet a sablont használni. Ha ezt a szerződést a példányosítás betartja, akkor a generált kód helyes lesz. Ehhez: a sablon törzse nem használhat mást, csak amit a szerződés megenged, illetve a példányosításnak biztosítani kell mindent, amit a sablon specifikációja megkövetel.
Kifejezések. Kozsik Tamás. December 11, 2016
Kifejezések Kozsik Tamás December 11, 2016 Kifejezések Lexika Szintaktika Szemantika Lexika azonosítók (változó-, metódus-, típus- és csomagnevek) literálok operátorok, pl. + zárójelek: (), [], {},
RészletesebbenJava 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
RészletesebbenA C# programozási nyelv alapjai
A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet
RészletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 2. előadás Szintaktikai alapok Alapvető típusok, ismétlés C# típus.net típus Méret (byte) Leírás byte System.Byte 1Előjel nélküli 8 bites egész szám (0..255) char
RészletesebbenProgramozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double
Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.10.. -1- Mit tudunk már? Típus fogalma char, int, float,
RészletesebbenKészítette: Nagy Tibor István
Készítette: Nagy Tibor István Operátorok Műveletek Egy (vagy több) műveleti jellel írhatók le A műveletet operandusaikkal végzik Operátorok fajtái operandusok száma szerint: egyoperandusú operátorok (pl.:
RészletesebbenMit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)
Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Mit tudunk már? Típus fogalma char, int, float, double változók deklarációja operátorok (aritmetikai, relációs, logikai,
RészletesebbenProgramozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit
RészletesebbenJava 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
RészletesebbenJárműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás
Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás A tárgy órái Előadás hetente (St101) csüt. 8:15 Bécsi Tamás C elmélet Ajánlott irodalom Dennis Ritchie: A C programozási nyelv Gyakorlat hetente
RészletesebbenSzámítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 2. előadás
Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás 2. előadás Console I/O bővebben Lásd mintaprogram 2015.09.21. Számítástechnika I. 2. Előadás 2 Számábrázolásról
RészletesebbenAssembly programozás: 2. gyakorlat
Assembly programozás: 2. gyakorlat Számrendszerek: Kettes (bináris) számrendszer: {0, 1} Nyolcas (oktális) számrendszer: {0,..., 7} Tízes (decimális) számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális
RészletesebbenSzoftvertervezés és -fejlesztés I.
Szoftvertervezés és -fejlesztés I. Operátorok Vezérlési szerkezetek Gyakorlás 1 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.
RészletesebbenKifejezések. Kozsik Tamás. December 11, 2016
Kifejezések Kozsik Tamás December 11, 2016 Kifejezés versus utasítás C/C++: kifejezés plusz pontosvessző: utasítás kiértékeli a kifejezést jellemzően: mellékhatása is van például: értékadás Ada: n = 5;
RészletesebbenBánsághi Anna 2014 Bánsághi Anna 1 of 33
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 7. ELŐADÁS - ABSZTRAKT ADATTÍPUS 2014 Bánsághi Anna 1 of 33 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
RészletesebbenMá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
Részletesebben3. gyakorlat. Kettes számrendszer: {0, 1} Tízes számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális számrendszer): {0, 1, 2,..., 9, A, B, C, D, E, F}
3. gyakorlat Számrendszerek: Kettes számrendszer: {0, 1} Tízes számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális számrendszer): {0, 1, 2,..., 9, A, B, C, D, E, F} Alaki érték: 0, 1, 2,..., 9,... Helyi
RészletesebbenOOP 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
RészletesebbenA C programozási nyelv I. Bevezetés
A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,
RészletesebbenSzámábrázolás, adatábrázolás
Számábrázolás, adatábrázolás A számítógépek memóriájában a számokat binárisan (kettes számrendszerben) ábrázoljuk. A bináris alakban felírt szám egy számjegye 0 vagy 1 lehet. (Ezt hívjuk bit-nek.) Egy
RészletesebbenProgramozási nyelvek (ADA)
Programozási nyelvek (ADA) Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 1. előadás Hasznos weboldal http://kto.web.elte.hu Program felépítése Programegységek (program unit) eljárások (procedure)
RészletesebbenImperatív és procedurális programozás a Javában
Imperatív és procedurális programozás a Javában Kozsik Tamás kto@elte.hu http://kto.web.elte.hu/ Eötvös Loránd Tudományegyetem Programozási Nyelvek és Fordítóprogramok Tanszék 2008. Kozsik Tamás (ELTE)
RészletesebbenA C programozási nyelv I. Bevezetés
A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,
RészletesebbenAdatszerkezetek 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
RészletesebbenA szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok
A szemantikus elemzés helye Forrásprogram Forrás-kezelő (source handler) Lexikális elemző (scanner) A szemantikus elemzés feladatai Fordítóprogramok előadás (A, C, T szakirány) Szintaktikus elemző (parser)
RészletesebbenC# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem
C# nyelv alapjai Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Lokális változó Utasítások Szójáték Why do all real
RészletesebbenA programozás alapjai előadás. A C nyelv típusai. Egész típusok. C típusok. Előjeles egészek kettes komplemens kódú ábrázolása
A programozás alapjai 1 A C nyelv típusai 4. előadás Híradástechnikai Tanszék C típusok -void - skalár: - aritmetikai: - egész: - eger - karakter - felsorolás - lebegőpontos - mutató - függvény - union
Részletesebben1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?
1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 3. Ismertesse a névtér fogalmát! 4. Mit értünk a "változó hatóköre"
RészletesebbenProgramozási technológia I 1. gyakorlat. A Java nyelvi alapjai, a NetBeans környezet
Eötvös Loránd Tudományegyetem Informatikai Kar Programozási technológia I 1. gyakorlat A Java nyelvi alapjai, a NetBeans környezet 2012.02.16. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Részletesebbensallang 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ó?
RészletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 1. Előadás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási Tanszék www.kjit.bme.hu Programozás
RészletesebbenStruktú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
RészletesebbenSzoftvertechnológia alapjai Java előadások
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html A mai előadás tartalma: Miért pont Java?
RészletesebbenGlobális operátor overloading
Programozás II. 9. gyakorlat Operátor overloading 2: Unáris operátorok, globálisan megvalósított operátorok, > operátorok Kivételkezelés, IO library Globális operátor overloading Előző alkalommal
RészletesebbenBevezeté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... 12 3.1. Megoldások... 14 A gyakorlósor lektorálatlan,
RészletesebbenKé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
RészletesebbenVezé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
RészletesebbenBevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok
Bevezetés a programozásba II 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Emlékeztető struct Vektor { int meret, *mut; Vektor(int meret); int szamlal(int mit); }; int Vektor::szamlal(int mit)
RészletesebbenInterfészek. PPT 2007/2008 tavasz.
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 2 Már megismert fogalmak áttekintése Objektumorientált
RészletesebbenSzámítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás
Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási
RészletesebbenBevezeté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,
RészletesebbenMintavételes szabályozás mikrovezérlő segítségével
Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés
RészletesebbenOOP: Java 8.Gy: Abstract osztályok, interfészek
OOP: Java 8.Gy: Abstract osztályok, interfészek 26/1 B ITv: MAN 2019.04.03 Abszrakt metódus és absztrakt osztály. Gyakran előfordul a tervezés során, hogy egy osztály szintjén tudjuk, hogy valamilyen metódus
RészletesebbenBevezetés a C++ programozási nyelvbe
Bevezetés a C++ programozási nyelvbe Miskolci Egyetem Általános Informatikai Tanszék CPP0 / 1 Története A C++ programozási nyelv a C programozási nyelv objektum orientált kiterjesztése. Az ANSI-C nyelvet
RészletesebbenJAVA PROGRAMOZÁS 2.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 2.ELŐADÁS 2014-2015 tavasz Tömbök, osztályok, objektumok, konstruktorok Tömbök 2 Referencia típusú változó Elemtípus Primitív Referencia: osztály,
RészletesebbenJava 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
RészletesebbenA 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,
RészletesebbenAritmetikai kifejezések lengyelformára hozása
Aritmetikai kifejezések lengyelformára hozása Készítették: Santák Csaba és Kovács Péter, 2005 ELTE IK programtervező matematikus szak Aritmetikai kifejezések kiértékelése - Gyakran felmerülő programozási
RészletesebbenObjektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015
Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 9. ELİADÁS Kivételkezelés (Exception handling) 2 Mi a kivétel (exception)? A kivétel, olyan hibás állapot vagy esemény, amely
RészletesebbenProgramozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r
Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. február 18. Minimum és maximumkeresés u s i n g n a m e s p a c e s t d ; i n t main ( ) { c o u t
RészletesebbenOccam 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
Részletesebben5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix
2. Adattípusonként különböző regisztertér Célja: az adatfeldolgozás gyorsítása - különös tekintettel a lebegőpontos adatábrázolásra. Szorzás esetén karakterisztika összeadódik, mantissza összeszorzódik.
RészletesebbenLEBEGŐPONTOS SZÁMÁBRÁZOLÁS
LEBEGŐPONTOS SZÁMÁBRÁZOLÁS A fixpontos operandusoknak azt a hátrányát, hogy az ábrázolás adott hossza miatt csak korlátozott nagyságú és csak egész számok ábrázolhatók, a lebegőpontos számábrázolás küszöböli
RészletesebbenAdatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája
Adatszerkezetek Összetett adattípus Meghatározói: A felvehető értékek halmaza Az értékhalmaz struktúrája Az ábrázolás módja Műveletei Adatszerkezet fogalma Direkt szorzat Minden eleme a T i halmazokból
RészletesebbenProgramozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 8. előadás Öröklődés - megnyitunk egy osztályt egy másik előtt zárt egységeket szeretünk készíteni (láthatósági kérdés:
Részletesebbenés az instanceof operátor
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
Részletesebben2. 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
RészletesebbenInformatika terméktervezőknek
Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások
Részletesebben1. 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
RészletesebbenJava VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
RészletesebbenWebprogramozá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
RészletesebbenALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK
ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK 1. ELÁGAZÁSOK ÉS CIKLUSOK SZERVEZÉSE Az adatszerkezetek mellett a programok másik alapvető fontosságú építőkövei az ún. algoritmikus szerkezetek.
RészletesebbenObjektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése
Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése Készítette: Gregorics Tibor Szabóné Nacsa Rozália Alakítsunk át egy infix formájú aritmetikai kifejezést postfix
RészletesebbenOBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek
OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN vizsgatételek 1. Az objektumorientált programozás szemlélete, az objektum fogalma 2. Az objektumorientált programozás alapelvei 3. A Java nyelv története, alapvető
Részletesebben1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon
1. Template (sablon) 1.1. Függvénysablon Maximum függvény megvalósítása függvénynév túlterheléssel. i n l i n e f l o a t Max ( f l o a t a, f l o a t b ) { return a>b? a : b ; i n l i n e double Max (
RészletesebbenAritmetikai utasítások I.
Aritmetikai utasítások I. Az értékadó és aritmetikai utasítások során a címzési módok különböző típusaira látunk példákat. A 8086/8088-as mikroprocesszor memóriája és regiszterei a little endian tárolást
RészletesebbenA C# PROGRAMOZÁSI NYELV
A C# PROGRAMOZÁSI NYELV 2010.02.23. Bevezetés C# nyelv jellemzői 2 Kis és NAGY betű érzékeny Minden utasítást pontos vessző zár. Utasítás zárójel a:,. .NET Framework keretrendszerek 3 Microsoft.NET Framework
RészletesebbenProgramozás I gyakorlat
Programozás I. - 3. gyakorlat Operátorok, típuskonverziók, matematikai függvények Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 24,
Részletesebben1. Egyszerű (primitív) típusok. 2. Referencia típusok
II. A Java nyelv eszközei 1. Milyen eszközöket nyújt a Java a programozóknak Korábban már említettük, hogy a Java a C nyelvből alakult ki, ezért a C, C++ nyelvben járatos programozóknak nem fog nehézséget
RészletesebbenProgramozá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
RészletesebbenC# gyorstalpaló. Készítette: Major Péter
C# gyorstalpaló Készítette: Major Péter Adattípusok Logikai változó Egész szám (*: előjel nélküli) Lebegőponto s szám Típus Típusnév másképpen (egyenértékű) Helyigény (bit) Példa bool Boolean 8 (!) true,
RészletesebbenProgramozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r
Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. március 3. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja Miért
RészletesebbenOOP. Alapelvek Elek Tibor
OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós
RészletesebbenProgramozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 9. előadás Interface - típust vezet be, de osztálypéldány nem készíthető belőle (statikus típust ad) - több osztály is
RészletesebbenKivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat
Kivételkezelés, beágyazott osztályok Nyolcadik gyakorlat Kivételkezelés Nem minden hibát lehet fordítási időben megtalálni Korábban (pl. C-ben) a hibakezelést úgy oldották meg, hogy a függvény hibakódot
RészletesebbenOOP #14 (referencia-elv)
OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet
RészletesebbenSorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK
Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK Sorozat fogalma Definíció: Számsorozaton olyan függvényt értünk, amelynek értelmezési tartománya a pozitív egész
RészletesebbenPá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
RészletesebbenLabor gyakorlat Mikrovezérlők
Labor gyakorlat Mikrovezérlők ATMEL AVR ARDUINO 1. ELŐADÁS BUDAI TAMÁS Tartalom Labor 2 mikrovezérlők modul 2 alkalom 1 mikrovezérlők felépítése, elmélet 2 programozás, mintaprogramok Értékelés: a 2. alkalom
RészletesebbenOktatási segédlet 2014
Oktatási segédlet 2014 A kutatás a TÁMOP 4.2.4.A/2-11-1-2012- 0001 azonosító számú Nemzeti Kiválóság Program Hazai hallgatói, illetve kutatói személyi támogatást biztosító rendszer kidolgozása és működtetése
RészletesebbenPénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Az Integrált Fejlesztői Környezet C++ alapok Az Integrált Fejlesztői Környezet Visual Studio 2013 Community Edition Kitekintés: fordítás Preprocesszor Fordító
RészletesebbenSzéchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu
Programozás III. Varjasi Norbert varjasin@sze.hu 1 A java virtuális gép (JVM) Képzeletbei, ideális számítógép. Szoftveresen megvalósított működési környezet. (az op. rendszer egy folyamata). Feladata:
RészletesebbenProgramozá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.)
Részletesebben1. 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.
RészletesebbenSzámítógép architektúra
Budapesti Műszaki Főiskola Regionális Oktatási és Innovációs Központ Székesfehérvár Számítógép architektúra Dr. Seebauer Márta főiskolai tanár seebauer.marta@roik.bmf.hu Irodalmi források Cserny L.: Számítógépek
RészletesebbenProgramozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r
Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. október 11. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja
RészletesebbenAlgoritmizálás és adatmodellezés tanítása 4. előadás
Algoritmizálás és adatmodellezés tanítása 4. előadás Típusok osztályozása Összetettség (strukturáltság) szempontjából: skalár (más szóval elemi vagy strukturálatlan) összetett (más szóval strukturált)
RészletesebbenInformatikai Rendszerek Alapjai
Informatikai Rendszerek Alapjai Egész és törtszámok bináris ábrázolása http://uni-obuda.hu/users/kutor/ IRA 5/1 A mintavételezett (egész) számok bináris ábrázolása 2 n-1 2 0 1 1 0 1 0 n Most Significant
RészletesebbenA programozás alapjai 1 Rekurzió
A programozás alapjai Rekurzió. előadás Híradástechnikai Tanszék - preorder (gyökér bal gyerek jobb gyerek) mentés - visszaállítás - inorder (bal gyerek gyökér jobb gyerek) rendezés 4 5 6 4 6 7 5 7 - posztorder
RészletesebbenProgramozási nyelvek II. JAVA EA+GY 1. gyakolat
Programozási nyelvek II. JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2017/2018. őszi félév Tartalom 1 Amit tudni kell a félévről
RészletesebbenProgramozási nyelvek JAVA EA+GY 1. gyakolat
Programozási nyelvek JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2018/2019. tavaszi félév Tartalom 1 A Java alapjai 2 Java program
RészletesebbenSzámítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 5. Előadás Dr. Bécsi Tamás Kivételkezelés try Azon utasítások kerülnek ide, melyek hibát okozhatnak, kivételkezelést igényelnek catch( típus [név]) Adott kivételtípus esetén
RészletesebbenBevezeté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
RészletesebbenProgramozá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
RészletesebbenProgramozás alapjai gyakorlat. 2. gyakorlat C alapok
Programozás alapjai gyakorlat 2. gyakorlat C alapok 2016-2017 Bordé Sándor 2 Forráskód, fordító, futtatható állomány Először megírjuk a programunk kódját (forráskód) Egyszerű szövegszerkesztőben vagy fejlesztőkörnyezettel
RészletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 3. előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 3. előadás Vezérlési szerkezetek Elágazás Gyakran előfordul, hogy meg kell vizsgálnunk egy állítást, és attól függően, hogy igaz vagy hamis, a programnak más-más
RészletesebbenMáté: Számítógép architektúrák
Fixpontos számok Pl.: előjeles kétjegyű decimális számok : Ábrázolási tartomány: [-99, +99]. Pontosság (két szomszédos szám különbsége): 1. Maximális hiba: (az ábrázolási tartományba eső) tetszőleges valós
RészletesebbenAdatok á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
Részletesebben3 A C programozási nyelv szintaktikai egységei
3 A C programozási nyelv szintaktikai egységei 3.1 Azonosítók Betűk és számjegyek sorozata, betűvel vagy _ (aláhúzás) karakterrel kell kezdődnie. A nagy- és kisbetűk különbözőek. Az azonosítók tetszőleges
RészletesebbenProgramozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)
Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával) I. A nyelv története C++ C (ős: B???) 1972 Ritchie AT&T Bell laboratórium UNIX 1978 Kernighan & Ritchie az első tankönyv,
Részletesebben