Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 2. előadás

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

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 3. előadás

Készítette: Nagy Tibor István

A C# PROGRAMOZÁSI NYELV

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

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

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

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

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Java II. I A Java programozási nyelv alapelemei

A C programozási nyelv I. Bevezetés

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

A C programozási nyelv I. Bevezetés

C# gyorstalpaló. Készítette: Major Péter

A C# programozási nyelv alapjai

Szoftvertervezés és -fejlesztés I.

Informatika terméktervezőknek

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

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

Programozás I gyakorlat

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

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

Java II. I A Java programozási nyelv alapelemei

Készítette: Nagy Tibor István

Információs Technológia

Objektumorientált Programozás II.

GYAKORLATIAS JAVA MINTA

Programozás I. C# bevezető. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 17.

Szoftvertechnológia alapjai Java előadások

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás

Aritmetikai kifejezések lengyelformára hozása

F1. Hasznos táblázatok

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r

Programozási technológia I 1. gyakorlat. A Java nyelvi alapjai, a NetBeans környezet

Vezérlési szerkezetek

Programozás 2., I. kötet Az objektumorientált paradigma alapjai

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

Raszteres elemzés végrehajtása QGIS GRASS moduljával 1.7 dr. Siki Zoltán

Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

Assembly programozás: 2. gyakorlat

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók

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

Bevezetés a C++ programozásba

Mit jelent a nyelvben az adattípus?

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

Operátorok, házi feladat adatszerkezetek

3. Gyakorlat Ismerkedés a Java nyelvvel

Imperatív és procedurális programozás a Javában

Bevezetés a C# programozásba

Szoftvertervezés és -fejlesztés I.

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

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

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

M veletek és kifejezések

Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

Bevezetés a programozásba I.

A Java programozási nyelv

Java programozási nyelv

Programozási nyelvek Java

A C# szintaktikája. a C programozási nyelv szintaxisát veszi alapul, ez három fontos szabályt von maga után:

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

Objektumorientált Programozás I.

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

Pénzügyi algoritmusok

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Mutatók. Dr. Bécsi Tamás 7. Előadás

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

Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás

Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév

A SystemC programok adattípusai

A C# nyelv alapelemei

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

PASzSz. Dr. Kotsis Domokos

OOP II. A C# nyelv alapelemei

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

Vezérlési szerkezetek. Szelekció Ciklusok

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba

Adatok, műveletek és vezérlés

3 A C programozási nyelv szintaktikai egységei

Feladat Nézzük meg a súgóban (help és doc) a sin parancs használatáról olvasható információt! Próbáljuk ki a kirajzoltató utasítást.

LEGO robotok. XII. rész

Gyakorló feladatok Gyakorló feladatok

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

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

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

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

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

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

Globális operátor overloading

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

C# osztályok. Krizsán Zoltán

Átírá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öviden Tábla, jegyzeteljetek, hátha jobban figyeltek :P 2015.09.21. Számítástechnika I. 2. Előadás 3

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 System.Char 2Egy Unicode karakter bool System.Boolean 1Logikai típus, értéke igaz(1) vagy hamis(0) sbyte System.SByte 1Előjeles 8 bites egész szám (-128..127) short System.Int16 2Előjeles 16 bites egész szám (-32768..32767) ushort System.UInt16 2Előjel nélküli 16 bites egész szám (0..65535) int System.Int32 4Előjeles 32 bites egész szám ( 2147483647.. 2147483647). uint System.UInt32 4Előjel nélküli 32 bites egész szám (0..4294967295) float System.Single 4Egyszeres pontosságú lebegőpontos szám double System.Double 8Kétszeres pontosság lebegőpontos szám decimal System.Decimal 8Fix pontosságú 28+1 jegyű szám long System.Int64 8Előjeles 64 bites egész szám ulong System.UInt64 8Előjel nélküli 64 bites egész szám string System.String N/A Unicode karakterek szekvenciája object System.Object N/A Minden más típus őse

Szám-Szöveg konverzió Típus statikus Parse függvénye: public static <típus> <típus>.parse(string s); int i=int.parse( 31 ); Típus statikus TryParse függvénye: public static bool TryParse( string s, out int result ) Convert osztály: k=convert.toint32("13"); ToString() metódus: string s = k.tostring(); 2015.09.21. Számítástechnika I. 2. Előadás 5

Szintaktikai alapok Alapvető operátorok és precedencia Kategória Operátor Asszociativitás Elsődleges () [] ->. ++ - - Left to right + -! ~ ++ - - (type)* & sizeof Right to left Multiplikatív * / % Left to right Additív + - Left to right Shift << >> Left to right Relációs és típusvizsgálat < <= > >= is as Left to right Egyenlőség ==!= Left to right Bitenkénti AND & Left to right Bitenkénti XOR ^ Left to right Bitenkénti OR Left to right Logikai AND && Left to right Logikai OR Left to right Feltételes?: Right to left Értékadás = += -= *= /= %=>>= <<= &= ^= = Right to left Vessző, Left to right 2015.09.21. Számítástechnika I. 2. Előadás 6

Értékadás operátor Az egyik legáltalánosabb művelet, amit elvégezhetünk az, hogy egy változónak értéket adunk. A C# nyelvben ezt az egyenlőségjel segítségével tehetjük meg: i=2; Az olyan kifejezések esetén, ahol a bal oldali érték megjelenik a jobb oldalon, pld.: i=i+2; tömörebb formában is írhatjuk: i+=2; Az értékadásnak van visszatérő értéke! 2015.09.21. Számítástechnika I. 2. Előadás 7

Aritmetikai operátotok A C# nyelv kétoperandusú aritmetikai operátorai a +, -, * és /, valamint a % modulus operátor. Az egészek osztásakor a törtrészt a rendszer levágja, ezért van szükség a % modulus operátorra. Az x % y kifejezés az x/y egészosztás (egész) maradékát adja, és értéke nulla, ha x osztható y-nal. A % operátor nem alkalmazható float és double típusú adatokra. Negatív operandusok esetén az egészosztás hányadosának csonkítása, valamint a modulus előjele gépfüggő, és ugyanez igaz az esetlegesen előforduló túlcsordulásra és alácsordulásra is. Az egyoperandusú (unáris) + és - operátorok precedenciája a legmagasabb. A kétoperandusú + és - operátorok precedenciája kisebb a *, / és % precedenciájánál. Az aritmetikai operátorok mindig balról jobbra haladva hajtódnak végre (a precedencia figyelembevételével). 2015.09.21. Számítástechnika I. 2. Előadás 8

Relációs operátorok A C# nyelv relációs operátorai: >, >=, <, <=. Ez a sorrend egyben a precedenciájuk sorrendje is. Ezeknél eggyel alacsonyabb precedenciájúak az egyenlőség operátorok: ==,!=. Egy relációs vagy logikai kifejezés értéke definíció szerint false, ha a kifejezés hamis, és true, ha igaz. x > y x >= y x < y x <= y x == y x!= y x nagyobb, mint y x nagyobb vagy egyenlő, mint y x kisebb, mint y x kisebb vagy egyenlő, mint y x egyenlő y-nal x nem egyenlő y-nal 2015.09.21. Számítástechnika I. 2. Előadás 9

Logikai operátorok Az && és (ÉS illetve VAGY) operátorokkal összekapcsolt kifejezések kiértékelése balról jobbra történik, és a kiértékelés azonnal félbeszakad, ha az eredmény igaz vagy hamis volta ismertté válik. A! unáris (egyoperandusú) negáló operátor a true értéket false-á, és fordítva alakítja. A B A&&B A B HAMIS HAMIS HAMIS HAMIS HAMIS IGAZ HAMIS IGAZ IGAZ HAMIS HAMIS IGAZ IGAZ IGAZ IGAZ IGAZ 2015.09.21. Számítástechnika I. 2. Előadás 10

2.8. Inkrementáló és dekrementáló operátorok A C# nyelv két szokatlan operátort használ a változók inkrementálására (eggyel való növelésére) és dekrementálására (eggyel való csökkentésére). A ++ inkrementáló operátor egyet ad az operandushoz, a -- dekrementáló operátor pedig egyet kivon belőle. A ++ és -- szokatlan vonatkozása, hogy prefix formában (a változó előtt elhelyezve, pl. ++n) és postfix formában (a változó után elhelyezve, pl. n++) egyaránt létezik. A kétféle változat egyaránt növeli (vagy csökkenti) a változót, de a ++n a felhasználás előtt, az n++ pedig utána növeli az n értékét (a -- operátor hasonlóan működik). Ebből következően minden olyan esetben, amikor a változó értékét is felhasználjuk (nem csak a növelésre vagy csökkentésre, azaz számlálásra van szükség), a ++n és az n++ különbözik. Ha pl. n értéke 5, akkor x = n++; hatására x értéke 5 lesz, amíg az x = ++n; hatására x értéke 6 lesz. 2015.09.21. Számítástechnika I. 2. Előadás 11

2.9. Bitenkénti logikai operátorok A C# nyelvben hat operátor van a bitenkénti műveletekre. Ezek az operátorok csak egész típusú adatokra használhatóak, akár előjeles, akár előjel nélküli változatban. Az egyes operátorok és értelmezésük a következő: & bitenkénti ÉS-kapcsolat bitenkénti megengedő (inkluzív) VAGY-kapcsolat ^ bitenkénti kizáró (exkluzív) VAGY-kapcsolat << balra léptetés >> jobbra léptetés ~ egyes komplemens képzés (unáris) 2015.09.21. Számítástechnika I. 2. Előadás 12

A Math osztály (System.Math) Metódus Művelet Math.Sin(x) sin(x), ahol az x szög értékét radiánban kell megadni Math.Cos(x) cos(x) Math.Tan(x) tg(x) Math.Exp(x) e x Math.Log(x) ln(x) Math.Sqrt(x) x négyzetgyöke Math.Abs(x) x abszolút értéke Math.Round(x) kerekítés a matematikai szabályok szerint Math.Ceiling(x) felfelé kerekítés Math.Floor(x) lefelé kerekítés Math.Pow(x,y) hatványozás, x y Math.PI a PI konstans (3.14159265358979323846) Math.E az e konstans (2.7182818284590452354) 2015.09.21. Számítástechnika I. 2. Előadás 13

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 utasítást kell végrehajtania. Logikai feltétel igaz Csinál valamit hamis Nem csinál semmit Logikai feltétel igaz Csinál valamit hamis Mást csinál 2015.09.21. Számítástechnika I. 2. Előadás 14

Vezérlési szerkezetek Elágazás szintaktika if (<log. Kif.>) <utasítás> if (<log.kif.>) <utasítás> else <utasítás> 2015.09.21. Számítástechnika I. 2. Előadás 15

Vezérlési szerkezetek Elágazás int i=1; if (i < 10) i = 10; else i -= 1; int i=1,a; if (i < 10) { i = 10; a = 2; } else { i -= 1; a = 21; } 2015.09.21. Számítástechnika I. 2. Előadás 16