A SystemC programok adattípusai

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "A SystemC programok adattípusai"

Átírás

1 A SystemC programok adattípusai A negyedik fejezetben bemutatott félösszeadó áramköri példában semmilyen SystemC típus sem szerepelt. Viszont összetettebb áramköri feladatok esetén elengedhetetlen a különböző a digitális áramkörök modellezéséhez jobban illeszkedő típusok bevezetése. Ebben a fejezetben bemutatásra kerülnek a SystemC adattípusai és mind azok a műveletek is, amelyek az egyes típusokon értelmezhetőek, illetve használhatóak. 1

2 VI.1. Numerikus értéket hordozó típusok Három alapvetően különböző csoportra bonthatóak azok a SystemC-ben definiálható elemek, amelyek valamilyen numerikus értéket tárolhatnak, illetve továbbíthatnak. Változók Jelek Portok 2

3 Változók A változók deklarálása a C++ programnyelvben megszokott szintaktikai szerkezetnek megfelelően kell elvégezni. A változó típusát és nevét kell megadni. A deklaráció szintaktikai alakja a következő. típus_neve valtozo_nev1, valtozo_nev2,...; Például: long x,y; int a,b,c; 3

4 Változókat deklarálhatunk egy-egy osztály metódusain (tagfüggvények) belül, amelyekre nézve a változók lokálisak lesznek, azaz mind hivatkozási szempontból, mind pedig a tartalmazott érték szempontjából csak az adott függvényben használhatjuk azt. Valamint egy-egy osztály tulajdonságainak leírására is deklarálhatunk változókat, de azok a folyamatok közötti kommunikációban nem vehetnek részt. 4

5 Portok Portok deklarálására a következő három kulcsszó használható, attól függően, hogy az adott modulhoz tartozó porton milyen irányú az információáramlás, sc_in, sc_out, sc_inout. 5

6 A port deklaráció szintaktikai alakja a következő. sc_out<tipus_nev> kimenet_1, kimenet_2; sc_in< tipus_nev> bemenet_1, bemenet_2; sc_inout<tipus_nev> ki_bemenet_1, be_kimenet_2; például sc_out<bool> x,y; sc_in<sc_uint> a,b; sc_inout<sc_bit> m,n; 6

7 Jelek A jeleket az sc_signal kulcsszó segítségével tudjuk deklarálni, ami meg kell, előzze a jelet azonosító nevet. A jelek elsődleges feladata a folyamatok közötti kommunikáció biztosítása. A deklaráció szintaktikai alakja a következő. sc_signal<tipus_neve> jel_nev1, jel_nev2,...; például sc_signal<bool> x; sc_signal<sc_bit> b; 7

8 Példák tömbök deklarálására A következő részben különböző típusú tömbök deklarációira láthatunk példákat. A szabványos C/C++ nyelvben megszokott szintaktikai szerkezetben lehet egy és több dimenziós tömböket létrehozni. long tomb_1d[20]; int tomb_2d[5][10]; sc_in<sc_bv<8> > byte_tomb[5]; sc_signal<bool> jelek[4][8]; 8

9 A tömböknek és pláne a több dimenziós tömböknek nem lehet egyetlen értékadó utasítással a tömb egyes elemeit egy adott értékre beállítani, vagy az egyik tömbből a másikba az egyes értékeket átmásolni. Azokon valamilyen ciklus szervező utasítás segítségével elemről elemre végig kell menni, és egyenként az egyes elemeknek értékeket kell adni. Tehát itt nem működik az a megoldás, ami például C++ban a string típusú változókra igen, hogy a karakterek egy sorozata egyetlen értékadással a string teljes tartalma átadható egy másik stringnek. 9

10 VI.2. SystemC környezetben használható C/C++ típusok A következő táblázatban látható adattípusok mindegyike használható változók, portok és jelek deklarálására. 10

11 típus neve A típus rövid leírása bool Egyetlen bit, értéke lehet true, vagy false int Előjeles egész (32/16 bites oper. rendszerfüggő) unsigned int Előjelnélküli egész (32/16 bites oper. rendszerfüggő) long Előjeles egész (32 bites) unsigned long Előjelnélküli egész (32 bites) signed char Előjeles egész (8 bites ) unsigned char Előjelnélküli egész (8 bites ) short Előjeles egész (16 bites oper. rendszerfüggő) unsigned short Előjelnélküli egész (16 bites oper. rendszerfüggő) enum Felsorolási típus a felhasználó által definiált halmazra 11

12 VI.3. SystemC specifikus típusok A következő táblázatban látható adattípusok mindegyike használható változók, portok és jelek deklarálására. 12

13 típus neve A típus rövid leírása sc_bit Egyetlen bit két értékkel 1 és 0 sc_bv<n> Tetszőleges szélességű n darab bitből álló tömb sc_logic Egyetlen bit négyértékű logikara 0, 1, X, Z sc_lv<n> Tetszőleges szélességű n elemű logikai tömb (vektor) sc_int<n> Előjeles egész, a mérete 1-től 64 bitig param. sc_uint<n> Előjelnélküli egész, a mérete 1-től 64 bitig param. sc_bigint<n> Tetszőleges méretű (bitek száma) előjeles egész sc_biguint<n> Tetszőleges méretű (bitek száma) előjelnélküli egész 13

14 Bit típus Az egyszerű bit típus deklarációját az sc_bit kulcsszóval lehet végrehajtani. Az sc_bit típusú lehet változó, port vagy jel. Az értéke 0 és 1 ahol a 0 jelenti egyben a logikai hamis, az 1 a logikai igaz értéket. Az sc_bit típusú operandusok (változó, port, jel) szabadon keverhetőek a különböző műveletekben a C++ logikai (bool) típusú operandusaival. Az alábbiakban egy példát láthatunk erre. 14

15 sc_out<bool> egyes_lab; // Egy logikai típusú kimeneti portot deklarál. sc_bit kapcsolo; // Egy sc_bit típusú változót deklarál. egyes_lab=1; // Értékadás a kimeneti portra kapcsolo=sc_bit( 0 ); // Értékadás ilyen formátumú is lehet. egyes_lab= egyes_lab & kapcsolo; // A művelet érvényes és végrehajtódik if(egyes_lab!= kapcsolo) // Ez az összehasonlító művelet is működik. 15

16 Tetszőleges méretű bit típus Tetszőleges hosszúságú bitvektorokat hozhatunk létre az sc_bv azonosító segítségével, ahol a bitvektor egyes elemeinek értéke 0 és 1 lehet. Ez azt is jelenti, hogy az sc_bv-vel létrehozott bittömb (vektor), az sc_bit típusú elemek egy tömbjének is tekinthető egyben. A tömb hosszát a típusazonosító után kell megadni a < > jelek között. A tömb jobboldalról kezdődő első elemének indexe 0 és egyben ez a bit a helyérték sorrendben is a legalacsonyabb helyen szerepel, azaz például ezt kell a 0 pozíciónak tekinteni. Az n-edik bit pedig az n-1-edik helyen található. Az általános szintaktikai szerkezet és néhány példa látható az alábbiakban. 16

17 Általános szintaktikai szerkezet sc_bv<elemek_szama> bit_tomb; Példák sc_bv<16> szo; sc_in<sc_bv<8> > input_port; 17

18 Az első utasítás egy 16 bites szo elnevezésű bitvektort deklarál, amelynek indexe 0-tól 15-ig terjed, ahol a szo[0] a legalacsonyabb helyértékű bit. A második utasítás egy input_port nevű bemeneti portot deklarál, amelynek 8 bemenete lehet ebben a példában. Amikor portokat vagy jeleket használunk tetszőleges szélességű típusokkal, nem szabad elfelejteni egy járulékos szóközt kitenni a szélességet lezáró jel > és a port vagy jel szintaktikus formáját lezáró > jel közé, azaz 8>> nem helyes alak szintaktikai szempontból, hanem a következő alak a megfelelő 8> >. 18

19 A bitvektorok az értékadások során kezelhetőek, mint közönséges string konstansok, amellyel megkönnyítik az értékadást egy-egy bitvektornak, azaz nem szükséges nekünk saját kezűleg egy for ciklussal például a kezdeti értékek beállítását leprogramozni, vagy egyesével, értékadó utasításokkal az egyes elemeket elérve értéket adni a bitvektor elemeinek, hanem egyetlen utasítással az megtehető. 19

20 Nyilvánvalóan az egyenlőségjel operátor túlterhelésével oldják meg ezt a problémát. A bitet vagy bitek sorozatát idézőjelek között kell megadni, mint például Példák bitvektorok értékadására. szo= ; input_port= ; 20

21 Ha az értékadás során a karakter konstansként megadott bitsorozat értéke (a bitek száma) nem egyezik meg a bitvektor előre definiált méretével, akkor attól függően, hogy több vagy kevesebb a megadott bitek száma a felsőhelyértékeken nullákkal egészíti, ki a megadott bitsorozatot vagy lecsonkolja azt. Az alábbiakban erre is látható egy példa. szo= ; Ennek az utasításnak az eredményeként a 16 bit hosszúságú bitvektor felső nyolc bitjén nulla fog állni, azaz szo=

22 Művelet jele Rövid leírása Az operátor használata & Bitenkénti és kifejezés1 & kifejezés2 Bitenkénti vagy kifejezés1 kifejezés2 ^ Bitenkénti kizáróvagy ~ Bitenkénti negálás ~ kifejezés << Bitenkénti eltolás balra >> Bitenkénti eltolás jobbra kifejezés1 ^ kifejezés2 kifejezés << konstans kifejezés >> konstans 22

23 Művelet jele Rövid leírása Az op. használata = Értékadó egyenlőség bitvektor = kifejezés == Egyenlőséget tesztelő egyenlőség!= Nem egyenlőséget tesztelő logikai op. [] Tetszőleges indexű elem kiválasztása (,) Bitsorozatok összefűzése kifejezés1 == kifejezés2 kifejezés1!= kifejezés2 bitvektor[index] (kif1, kif2,..., kifn) 23

24 A táblázatban felsorolt operátorok közül az összefűzési operátort érdemes külön kiemelni, mivel a többi használata a C/C++ nyelvekből már ismert kell legyen. Fontos megjegyezni viszont, hogy a bitkiválasztó operátor [] portokra és jelekre nem alkalmazható művelet. sc_bv<8> byte; sc_bv<4> fel_byte; byte= ; fel_byte=( byte[6], byte[4], byte[2], byte[0]); cout << Az összefűzés műveletének eredménye: << fel_byte << endl; 24

25 Az első két utasítás sorban egy 8 és egy 4 bites bittömböt hozunk létre, majd a harmadik sorban a byte bittömb egyes elemei értékeket kapnak. A negyedik programsor mutatja be a bitkiválasztó és az összefűző (konkatenáló) műveleteket, aminek eredménye fel_byte= A bitvektorok tartalma a cout függvény segítségével a képernyőn megjeleníthetőek, amelyre példát a fenti kódrészlet utolsó sorában lát az olvasó, ahol a fel_byte bitvektor tartalmát íratjuk ki a képernyőre. 25

26 Metódus neve range() and_reduce() or_reduce() xor_reduce() A metódus funkciója A metódus használata Bitsorozat kiválasztása valtozo.range (index_tol, index_ig) 26

27 A range() metódus segítségével egy bitvektor elemeit tudjuk elérni egy megadott elemtől kezdődően egy második megadott elemig. A range() függvény paraméterként két egész számot vár, amelyek érvényes indexei a valtozo nevű bitvektornak. Nem szükségszerű, hogy az első index kisebb kell legyen mint a második, azaz lehet használni egyrészt a megszokottabb alakban például valtozo.range(2,5) vagy ilyen formában is valtozo.range(6,3), a range() függvényt. 27

28 sc_bv<8> byte; byte= ; byte.range(4,7)=byte.range(3,0); cout << A művelet eredménye : endl; cout << byte= << byte << endl; byte= ; byte.range(4,7)=byte.range(0,3); cout << A művelet eredménye : endl; cout << byte= << byte << endl; 28

29 A minta program harmadik sorában látható a range() függvény alkalmazása a byte nevű bitvektoron, ahol az alsó négy helyértékű bit kerül átmásolásra a felső négy helyérték pozícióba. A másolás egészen pontosan úgy zajlik, hogy a 4. bit helyére a 3. bit értéke a 5. bit helyére a 2. bit, a 6. bit helyére az 1. bit és a 7. bit helyére a 0. bit értéke másolódik. Tehát a cout művelet hatására a következő bitsorozat jelenik meg a képernyőn: byte= Azaz mint egy tükröztük az alsó négy bitet a felső négybites helyérték pozíciókra. 29

30 A következő esetben, ami a programrészlet 7. sorában látható, a range() függvény alkalmazása teljesen más eredményre vezet, mivel ebben az esetben a 4. bit helyére a 0. bit értéke az 5. bit helyére az 1. bit, a 6. bit helyére a 2. bit és a 7. bit helyére a 3. bit értéke másolódik, valamint a következő bitsorozat jelenik meg a képernyőn: byte=

31 Amint az röviden már az előzőekben megemlítésre került, a bitkiválasztó művelet és a range() metódus nem alkalmazható portokra és jelekre, felmerül a kérdés, hogy akkor mégis miként lehetne ezeket a hatékony eszközöket a portok és jelek vektoraira (tömbjeire) alkalmazni. A probléma megoldása különféle segédváltozók bevezetése. Az alábbiakban erre láthatunk pár programsort. 31

32 sc_signal<sc_bv<8> > jelek; sc_in<sc_bv<4> > portok; sc_bv<8> jel_valtozo; sc_bv<4> port_valtozo; port_valtozo= portok.read(); cout << A második bit a bemeneti porton: << port_valtozo[1] << endl; jel_valtozo = ; jel_valtozo.range(0,3)= 1011 ; jelek= jel_valtozo; cout << A jelek: << jel_valtozo <<endl; 32

33 Logikai típus A SystemC-ben definiált logikai típus alapvetően tér el a C ++ fejlesztőrendszerben megszokott logikai típustól, mivel a SystemC logikai típusa négyértékű és nem a megszokott kétértékű logikai típus. A típus azonosító neve sc_logic. A logikai típus az alábbi négy különböző értéket veheti fel: 33

34 0, SC_LOGIC_0: false azaz hamis 1, SC_LOGIC_1: true azaz igaz X, x, SC_LOGIC_X: unknown azaz ismeretlen, nem meghatározott érték Z, z, SC_LOGIC_Z: high-impedance 34

35 A bitenkénti logikai és művelet igazságtáblája, négyértékű logikai értékek esetén. & (and) 0 1 X Z X X X 0 X X X Z 0 X X X 35

36 Tetszőleges méretű/hosszúságú logikai típus Tetszőleges hosszúságú négyértékű logikát használó logikai vektorok deklarálhatóak az sc_lv <elemszam> típus azonosító segítségével. A logikai bitek értékei, itt is négy különböző értéket vehetnek fel, amelyek a 0, 1, X, Z. 36

37 Általános szintaktikai szerkezet sc_lv<elemek_szama> logikai_vektor; Példák sc_lv<16> adatok; sc_in<sc_lv<8> > input_port; Az első deklaráció létrehoz egy 16 elemű logikai vektort, amelynek első eleme adatok[0] szintén a legalsó helyértékű bitpozíciónak tekinthető. A második deklaráció egy 8 elemű bementi portot határoz meg. Fontos megjegyezni itt is a szóköz karaktert a két > > zárótag között. 37

38 Előjeles egész típus Az előjeles egész típusú változókat, portokat, jeleket az sc_int típus azonosító segítségével hozhatunk létre. Az sc_int típusnak a maximális számábrázolási tartománya 64 bit. A típus számábrázolási tartománya tetszőlegesen, direkt módon megadható. A típus által ábrázolt bináris számot kettes komplemenses szám alakjában tárolják, mint az a C/C++ nyelvekben is szokványos. Egy sc_int típusú változó, port, jel deklarációja során meg kell adni, hogy hány darab bitből álljon az. Ha a bitek száma n akkor a legfelső helyértékű bit az n-1-es pozíción az előjel bit. 38

39 Az aritmetikai műveletek minden esetben 64 biten kerülnek végrehajtásra függetlenül attól, hogy az adott műveletben szereplő változók, portok, jelek mekkora számábrázolási tartománnyal kerültek deklarálásra. Tehát megállapítható, azaz általános érvényű állítás a SystemC-beli egész típusok kapcsán, hogy az egész típusok számábrázolási tartomány nem kötött mint az a szokványos program nyelvekben (C, C++, Pascal, Basic,...) megszokott, hanem előre definiálható egy rögzített értéktartományon belül, itt például 1-64 bitig. 39

40 Az sc_int típuson számos olyan művelet van definiálva, ami a szokványos szoftver fejlesztő nyelvekben használt integer típusok esetén nem működik. Ilyen például az index operátor [], aminek segítségével az előjeles egész típusú változó tetszőleges bitje elérhető. Ezen felül a range() metódus tetszőleges számú bit tartomány elérésére az sc_int típus esetében is használható. Használható továbbá az összefűzési (konkatenálás) operátor () tetszőlegesen választott bitsorozatok összefűzésére. Az alábbiakban számos példa látható a típus deklarálására és annak használatára, különböző körülmények között. 40

41 Rövid áttekintésként a bináris számok kettes komplemenses alakját az a változó értékének (-72) esetére részletesen ismertetjük. Lényegében egyetlen fontos dolgot kell ismerni, még pedig azt, hogy a kettes komplemenses alakú bináris számok legfelső helyértéke mindig negatív súllyal szerepel a bináris szám numerikus értékének meghatározásában

42 sc_int<8> a, b; sc_int<16> c; c=-18; // c=-18 d = b a = c << 2; // a= b =-72 d Az első két utasítás sorban három darab változót hozunk létre, az első kettő 8 bites a harmadik, pedig 16 bites. A harmadik sorban egy szokványos értékadás látható a 16 bites változónak c, amelynek bináris értéke megjegyzésben az utasítás mellett látható. A változó numerikus értékét -18d bináris kettes komplemenses alakban kell értelmezni. 42

43 A negyedik sorban a bal oldali irányú eltolás (shift) operátor << alkalmazására látható egy példa, valamint arra is, hogy miként értelmezi a SystemC azt a körülményt, ha egy nagyobb számábrázolású változó tartalmát adjuk át egy kisebb számábrázolási tartományú változónak. A shift operátor hatására két bittel baloldali irányba tolódik minden bit a 16 bites c változóban. A két jobb oldalon üresen maradt helyre nulla értékek íródnak. 43

44 Mivel a balérték, azaz a nevű változó 8 bites, a kifejezés jobb oldalán, pedig egy 16 bites változó áll, ezért egy vágásra is sor kerül, még pedig olyan módon, hogy a legalsó helyértékű bitektől kiindulva tartja meg az értékadás a biteket, azaz most a felső nyolc bit értéke nem kerül/ kerülhet át az a nevű változóba. 44

45 a=12; b=-5; // a=12 d = b // b=-5 d = b b= a ^ b // b= b =-9 d A következő három sorban egy bitenkénti kizáró-vagy művelet látható a két 8 bites változón. Az eredményt a b nevű változó tartalmazza. 45

46 c=300; // c=300 d = b a=c.range(7,0); // a=12 d = b b=c.range(15,8); // b=1 d = b a=0; a.range(3,0)=(c[8],c[5],c.range(3,2)); // a=15 d = b 46

47 Az ezután következő három sorban a range() metódus használatára lehet látni egy példát. A példában a 16 bites változó c alsó 8 bitje az a nevű, a felső 8 bitje, pedig a b nevű változóba kerül. Az utolsó példa, pedig az összefűző operátor használatára mutat be egy példát. 47

48 VI.4. Portok és jelek írása, olvasása Az eddigi példákban a jelek és a portok értékeit közvetlenül a port vagy a jel nevére való hivatkozással lehetett elérni, azaz adtunk neki, vagy kaptunk tőle értéket. Vannak esetek, amikor ez nem működik, például akkor, amikor az egyik port a másiknak értéket kíván átadni és a portok típusai, eltérnek egymástól. A C/C++ban megismert implicit típus konverzió itt nem működik. Ebben az esetben a portok és jelek read() és a write() metódusaival lehet értéket adni (írni) és kapni (olvasni) az egyes portokról és jelekről. 48

Java II. I A Java programozási nyelv alapelemei

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

Részletesebben

Java II. I A Java programozási nyelv alapelemei

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

Részletesebben

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI 5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI 1 Kombinációs hálózatok leírását végezhetjük mind adatfolyam-, mind viselkedési szinten. Az adatfolyam szintű leírásokhoz az assign kulcsszót használjuk, a

Részletesebben

Készítette: Nagy Tibor István

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

Részletesebben

Programozás alapjai. 5. előadás

Programozás alapjai. 5. előadás 5. előadás Wagner György Általános Informatikai Tanszék Cserélve kiválasztásos rendezés (1) A minimum-maximum keresés elvére épül. Ismétlés: minimum keresés A halmazból egy tetszőleges elemet kinevezünk

Részletesebben

IV. A SystemC alapelemei

IV. A SystemC alapelemei IV. A SystemC alapelemei Ennek a bevezető előadásnak a célja, hogy röviden és mindenekelőtt érthetően bemutassa a SystemC alkalmazását elektronikai eszközök tervezésére. Részletesen ismertetésre kerül

Részletesebben

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS 2.ELŐADÁS A VB programozási nyelv Az Excel programozása 2 A VB programozási nyelv Adattípusok Adatok kezelése Vezérlőszerkezetek Adattípusok és műveletek Egész adattípusok

Részletesebben

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

Programozá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észletesebben

Occam 1. Készítette: Szabó Éva

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

Részletesebben

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! 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észletesebben

Programozá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 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észletesebben

A C programozási nyelv I. Bevezetés

A 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észletesebben

Szá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 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észletesebben

A C programozási nyelv I. Bevezetés

A 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észletesebben

Mintavételes szabályozás mikrovezérlő segítségével

Mintavé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észletesebben

Programozás II. 2. Dr. Iványi Péter

Programozás II. 2. Dr. Iványi Péter Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c

Részletesebben

7. fejezet: Mutatók és tömbök

7. fejezet: Mutatók és tömbök 7. fejezet: Mutatók és tömbök Minden komolyabb programozási nyelvben vannak tömbök, amelyek gondos kezekben komoly fegyvert jelenthetnek. Először is tanuljunk meg tömböt deklarálni! //Tömbök használata

Részletesebben

Kifejezések. Kozsik Tamás. December 11, 2016

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észletesebben

Bevezetés a C++ programozásba

Bevezetés a C++ programozásba Bevezetés a C++ programozásba A program fogalma: A program nem más, mint számítógép által végrehajtható utasítások sorozata. A számítógépes programokat különféle programnyelveken írhatjuk. Ilyen nyelvek

Részletesebben

Szoftvertervezés és -fejlesztés I.

Szoftvertervezé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észletesebben

C++ programozási nyelv Konstruktorok-destruktorok

C++ programozási nyelv Konstruktorok-destruktorok C++ programozási nyelv Konstruktorok-destruktorok Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. szeptember A C++ programozási nyelv Soós Sándor 1/20 Tartalomjegyzék

Részletesebben

Programozá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. 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észletesebben

Bevezeté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 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észletesebben

Programozás C és C++ -ban

Programozás C és C++ -ban Programozás C és C++ -ban 2. További különbségek a C és C++ között 2.1 Igaz és hamis A C++ programozási nyelv a C-hez hasonlóan definiál néhány alap adattípust: char int float double Ugyanakkor egy új

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 9. gyakorlat Intelligens tömbök, mátrixok, függvények Surányi Márton PPKE-ITK 2010.11.09. C++-ban van lehetőség (statikus) tömbök használatára ezeknek a méretét fordítási időben

Részletesebben

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2019. augusztus 29. Feladat: írjuk ki az els 10 természetes szám négyzetét! #i n c l u d e i n t main ( v o i d ) { p r

Részletesebben

Informatika terméktervezőknek

Informatika 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észletesebben

Programozá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) 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

Verilog HDL ismertető 2. hét : 1. hét dia

Verilog HDL ismertető 2. hét : 1. hét dia BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Verilog HDL ismertető 2. hét : 1. hét + 15 25 dia Fehér Béla, Raikovich

Részletesebben

C programozási nyelv Pointerek, tömbök, pointer aritmetika

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

Részletesebben

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Mit 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észletesebben

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 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ő

Részletesebben

Készítette: Nagy Tibor István

Ké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észletesebben

Hardver leíró nyelvek (HDL)

Hardver leíró nyelvek (HDL) Hardver leíró nyelvek (HDL) Benesóczky Zoltán 2004 A jegyzetet a szerzıi jog védi. Azt a BME hallgatói használhatják, nyomtathatják tanulás céljából. Minden egyéb felhasználáshoz a szerzı belegyezése szükséges.

Részletesebben

Algoritmizálás + kódolás C++ nyelven és Pascalban

Algoritmizálás + kódolás C++ nyelven és Pascalban Algoritmizálás + kódolás nyelven és ban Motiváció A Programozási alapismeretek tárgyban az algoritmizáláshoz struktogramot, a kódoláshoz nyelvet használunk, a Közismereti informatikában (a közoktatásban

Részletesebben

Bevezetés az informatikába gyakorló feladatok Utoljára módosítva:

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... 12 3.1. Megoldások... 14 A gyakorlósor lektorálatlan,

Részletesebben

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 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észletesebben

Já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 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észletesebben

SZÁMÉRTÉKEK (ÁT)KÓDOLÁSA

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.

Részletesebben

Operációs rendszerek gyak.

Operációs rendszerek gyak. Operációs rendszerek gyak. AWK programozás Hirling Dominik Szegedi Tudományegyetem AWK AWK: a pattern scanning and processing language mintaelemző-és feldolgozó nyelv bármilyen szövegből minták alapján

Részletesebben

Digitális rendszerek. Utasításarchitektúra szintje

Digitális rendszerek. Utasításarchitektúra szintje Digitális rendszerek Utasításarchitektúra szintje Utasításarchitektúra Jellemzők Mikroarchitektúra és az operációs rendszer közötti réteg Eredetileg ez jelent meg először Sokszor az assembly nyelvvel keverik

Részletesebben

A C# programozási nyelv alapjai

A 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észletesebben

INFORMATIKA javítókulcs 2016

INFORMATIKA javítókulcs 2016 INFORMATIKA javítókulcs 2016 ELMÉLETI TÉTEL: Járd körbe a tömb fogalmát (Pascal vagy C/C++): definíció, egy-, két-, több-dimenziós tömbök, kezdőértékadás definíciókor, tömb típusú paraméterek átadása alprogramoknak.

Részletesebben

Bevezetés a programozásba. 5. Előadás: Tömbök

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

Részletesebben

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 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észletesebben

4. Fejezet : Az egész számok (integer) ábrázolása

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

Részletesebben

1. Egyszerű (primitív) típusok. 2. Referencia típusok

1. 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észletesebben

Digitális technika (VIMIAA02) Laboratórium 1

Digitális technika (VIMIAA02) Laboratórium 1 BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 1 Fehér Béla Raikovich Tamás,

Részletesebben

2. Fejezet : Számrendszerek

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

Részletesebben

Kifejezések. Kozsik Tamás. December 11, 2016

Kifejezé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észletesebben

Digitális technika (VIMIAA02) Laboratórium 1

Digitális technika (VIMIAA02) Laboratórium 1 BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 1 Fehér Béla Raikovich Tamás,

Részletesebben

Pénzügyi algoritmusok

Pénzügyi algoritmusok Pénzügyi algoritmusok A C++ programozás alapjai Folyamok kezelése Fájlok írása/olvasása Folyamok kezelése Szabvány folyamok Eddig Kiírás a szöveges konzolra:

Részletesebben

A 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 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észletesebben

The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003

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,

Részletesebben

Kifejezések. A programozás alapjai előadás. Operátorok. Kifejezések. Operátorok precedenciája. Operátorok precedenciája

Kifejezések. A programozás alapjai előadás. Operátorok. Kifejezések. Operátorok precedenciája. Operátorok precedenciája A programozás alapjai 1 Kifejezések 5. előadás Híradástechnikai Tanszék Operandusok Literál Azonosító Kifejezés Kifejezések Precedencia Melyik hajtódik először végre? Asszociativitás Balról jobbra vagy

Részletesebben

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 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

Részletesebben

LEGO robotok. XII. rész

LEGO robotok. XII. rész LEGO robotok XII. rész III.1.22. Változók és konstansok A változó fogalma a matematikában egy értelmezési tartománnyal rendelkező, ebből bármilyen értéket felvehető objektum, melynek értéke logikailag

Részletesebben

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED AWK - szintaxis, vezérlési szerkezetek Operációs rendszerek 11. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik

Részletesebben

3 A C programozási nyelv szintaktikai egységei

3 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észletesebben

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós szeptember 27. Széchenyi István Egyetem, Gy r

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós szeptember 27. Széchenyi István Egyetem, Gy r Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. szeptember 27. Háromszög szerkeszthet ségének ellen rzése ANSI C (C89) megvalósítás #i n c l u d e i n t main ( v

Részletesebben

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva!

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva! A PL/SQL alapelemei Karakterkészlet Az angol ABC kis- és nagybetűi: a-z, A-Z Számjegyek: 0-9 Egyéb karakterek: ( ) + - * / < > =! ~ ^ ; :. ' @ %, " # $ & _ { }? [ ] Szóköz, tabulátor, kocsivissza A kis-

Részletesebben

Bevezetés a programozásba

Bevezetés a programozásba Bevezetés a programozásba 1. Előadás Bevezetés, kifejezések http://digitus.itk.ppke.hu/~flugi/ Egyre precízebb A programozás természete Hozzál krumplit! Hozzál egy kiló krumplit! Hozzál egy kiló krumplit

Részletesebben

Programozás 3. Dr. Iványi Péter

Programozás 3. Dr. Iványi Péter Programozás 3. Dr. Iványi Péter 1 Egy operandus művelet operandus operandus művelet Operátorok Két operandus operandus1 művelet operandus2 2 Aritmetikai műveletek + : összeadás -: kivonás * : szorzás /

Részletesebben

Aritmetikai utasítások I.

Aritmetikai 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észletesebben

Bevezetés az informatikába gyakorló feladatok Utoljára módosítva:

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,

Részletesebben

Struktúra nélküli adatszerkezetek

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

Részletesebben

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3 Darvay Zsolt Típusok és nevek a forráskódban Állandók és változók Hatókörök és az előfeldolgozó Bevitel és kivitel Kifejezések Utasítások Mutatók Függvények Struktúrák és típusok Állománykezelés C programozás

Részletesebben

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport 10-es Keressünk egy egész számokat tartalmazó négyzetes mátrixban olyan oszlopot, ahol a főátló alatti elemek mind nullák! Megolda si terv: Specifika cio : A = (mat: Z n m,ind: N, l: L) Ef =(mat = mat`)

Részletesebben

1. Alapok. #!/bin/bash

1. Alapok. #!/bin/bash 1. oldal 1.1. A programfájlok szerkezete 1. Alapok A bash programok tulajnképpen egyszerű szöveges fájlok, amelyeket bármely szövegszerkesztő programmal megírhatunk. Alapvetően ugyanazokat a at használhatjuk

Részletesebben

1. Gyakorlat. Rövid elméleti összefoglaló. <tárolási osztály>típus <típus > változónév <= kezdőérték><, >;

1. Gyakorlat. Rövid elméleti összefoglaló. <tárolási osztály>típus <típus > változónév <= kezdőérték><, >; Rövid elméleti összefoglaló 1. Gyakorlat A C++ nyelv hatékony, általános célú programozási nyelv, amely hagyományos fejlesztőeszközként és objektum-orientált programozási nyelvként egyaránt használható.

Részletesebben

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Bevezetés A laborgyakorlatok alapvető célja a tárgy későbbi laborgyakorlataihoz szükséges ismeretek átadása, az azokban szereplő

Részletesebben

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Összeadó áramkör A legegyszerűbb összeadó két bitet ad össze, és az egy bites eredményt és az átvitelt adja ki a kimenetén, ez a

Részletesebben

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek Programozás alapjai gyakorlat 4. gyakorlat Konstansok, tömbök, stringek Házi ellenőrzés (f0069) Valósítsd meg a linuxos seq parancs egy egyszerűbb változatát, ami beolvas két egész számot, majd a kettő

Részletesebben

tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is

tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is A tétel (record) tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is A tétel elemei mezők. Például tétel: személy elemei: név, lakcím, születési

Részletesebben

Máté: Számítógép architektúrák

Máté: Számítógép architektúrák Bit: egy bináris számjegy, vagy olyan áramkör, amely egy bináris számjegy ábrázolására alkalmas. Bájt (Byte): 8 bites egység, 8 bites szám. Előjeles fixpontok számok: 2 8 = 256 különböző 8 bites szám lehetséges.

Részletesebben

BASH script programozás II. Vezérlési szerkezetek

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

Részletesebben

Az MSP430 mikrovezérlők digitális I/O programozása

Az MSP430 mikrovezérlők digitális I/O programozása 10.2.1. Az MSP430 mikrovezérlők digitális I/O programozása Az MSP430 mikrovezérlők esetében minden kimeneti / bemeneti (I/O) vonal önállóan konfigurálható, az P1. és P2. csoportnak van megszakítás létrehozó

Részletesebben

Bevezetés a C++ programozási nyelvbe

Bevezeté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észletesebben

Feladat: Hogyan tudunk létrehozni egy olyan vector nevű tömb típust, amely egy háromdimenziós térbeli vektort reprezentál?

Feladat: Hogyan tudunk létrehozni egy olyan vector nevű tömb típust, amely egy háromdimenziós térbeli vektort reprezentál? Típus definiálás Ennek általános alakja: typedef típus név Feladat: Hogyan tudunk létrehozni egy olyan vector nevű tömb típust, amely egy háromdimenziós térbeli vektort reprezentál? typedef double vector[3];

Részletesebben

Labor gyakorlat Mikrovezérlők

Labor gyakorlat Mikrovezérlők Labor gyakorlat Mikrovezérlők ATMEL AVR ARDUINO 1. ELŐADÁS BUDAI TAMÁS 2015. 09. 06. 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:

Részletesebben

Bevezetés A SystemC célja A SystemC alapjai SystemC típusok Modulok Rendszerek Csatornák. Budapesti Műszaki és Gazdaságtudományi Egyetem

Bevezetés A SystemC célja A SystemC alapjai SystemC típusok Modulok Rendszerek Csatornák. Budapesti Műszaki és Gazdaságtudományi Egyetem Budapesti Műszaki és Gazdaságtudományi Egyetem SystemC áttekintés Dr. Czirkos Zoltán, Horváth Péter Elektronikus Eszközök Tanszéke 2014. augusztus 18. Dr. Czirkos Zoltán, Horváth Péter SystemC áttekintés

Részletesebben

Programozás II. Segédlet az első dolgozathoz

Programozás II. Segédlet az első dolgozathoz Programozás II. Segédlet az első dolgozathoz 1 Tartalomjegyzék 1. Bevezető 4 2. Számrendszerek közötti átváltások 5 2.1 Tízes számrendszerből tetszőleges számrendszerbe................. 5 2.1.1 Példa.....................................

Részletesebben

Programozott soros szinkron adatátvitel

Programozott soros szinkron adatátvitel Programozott soros szinkron adatátvitel 1. Feladat Név:... Irjon programot, mely a P1.0 kimenet egy lefutó élének időpontjában a P1.1 kimeneten egy adatbitet ad ki. A bájt legalacsonyabb helyiértéke 1.

Részletesebben

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 15. Széchenyi István Egyetem, Gy r

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 15. Széchenyi István Egyetem, Gy r Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. október 15. Leghosszabb 3D vektorok kikeresése 1 #i n c l u d e 2 #i n c l u d e 3 #d e f i n e MAX 1000

Részletesebben

Felvételi tematika INFORMATIKA

Felvételi tematika INFORMATIKA Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.

Részletesebben

III. Alapfogalmak és tervezési módszertan SystemC-ben

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ő

Részletesebben

Máté: Számítógép architektúrák

Má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észletesebben

Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk

Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk Elméleti anyag: Processzoros vezérlés általános tulajdonságai o z induló készletben

Részletesebben

Számítógépes Hálózatok. 7. gyakorlat

Számítógépes Hálózatok. 7. gyakorlat Számítógépes Hálózatok 7. gyakorlat Gyakorlat tematika Hibajelző kód: CRC számítás Órai / házi feladat Számítógépes Hálózatok Gyakorlat 7. 2 CRC hibajelző kód emlékeztető Forrás: Dr. Lukovszki Tamás fóliái

Részletesebben

A C# PROGRAMOZÁSI NYELV

A 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észletesebben

Pénzügyi algoritmusok

Pé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észletesebben

GYAKORLATIAS JAVA MINTA

GYAKORLATIAS JAVA MINTA Java SE programozási alapok - alapelemek viszont a Javadoc-ban nem fog megjelenni. */ 4.2. Egyszerű és összetett típusok A programozás során az adatainkat (legyen az csak átmeneti is) ún. változókban tárolunk.

Részletesebben

2019/02/11 10:01 1/10 Logika

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

Részletesebben

Labor gyakorlat Mikrovezérlők

Labor 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észletesebben

Segédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez

Segédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez Segédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez Sándor Tamás, sandor.tamas@kvk.bmf.hu Takács Gergely, takacs.gergo@kvk.bmf.hu Lektorálta: dr. Schuster György PhD, hal@k2.jozsef.kando.hu

Részletesebben

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

Bá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észletesebben

Digitális technika VIMIAA01

Digitális technika VIMIAA01 BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 Fehér Béla BME MIT Digitális Rendszerek Számítógépek

Részletesebben

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Bánsághi Anna 2014 Bánsághi Anna 1 of 68 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 3. ELŐADÁS - PROGRAMOZÁSI TÉTELEK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív

Részletesebben

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >> I. Alapok Interaktív shell-ben vagy shell-scriptben megadott karaktersorozat feldolgozásakor az első lépés a szavakra tördelés. A szavakra tördelés a következő metakarakterek mentén zajlik: & ; ( ) < >

Részletesebben

8. gyakorlat Pointerek, dinamikus memóriakezelés

8. gyakorlat Pointerek, dinamikus memóriakezelés 8. gyakorlat Pointerek, dinamikus memóriakezelés Házi ellenőrzés Egy számtani sorozat első két tagja A1 és A2. Számítsa ki a sorozat N- dik tagját! (f0051) Egy mértani sorozat első két tagja A1 és A2.

Részletesebben