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

Hasonló dokumentumok
Programozás BMEKOKAA146. 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

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

Szá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 3. előadás

A C# PROGRAMOZÁSI NYELV

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

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

A C# programozási nyelv alapjai

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

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

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

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

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

3. Gyakorlat Ismerkedés a Java nyelvvel

Java II. I A Java programozási nyelv alapelemei

Szoftvertechnológia alapjai Java előadások

Készítette: Nagy Tibor István

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

Informatika terméktervezőknek

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. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

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

Információs Technológia

Programozás I. Első ZH segédlet

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

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

Szoftvertervezés és -fejlesztés I.

Programozási nyelvek JAVA EA+GY 1. gyakolat

Java II. I A Java programozási nyelv alapelemei

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

Objektumorientált Programozás II.

A C programozási nyelv I. Bevezetés

Szoftvertervezés és -fejlesztés I.

Bánsághi Anna

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

A C programozási nyelv I. Bevezetés

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

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

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

VB C++ C# JScript J# Common Language Specification. ADO.NET and XML. Base Class Library. Common Language Runtime. Operating System

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

Bánsághi Anna

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

C-Sharp nyelv alapjai 1.

Objektumorientált programozás C# nyelven

Magas szintű programozási nyelvek 2 Előadás jegyzet

F1. Hasznos táblázatok

Objektumorientált Programozás III.

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

C#, OOP. Osztályok tervezése C#-ban

Készítette: Nagy Tibor István

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

Objektumorientált programozás C# nyelven

Access adatbázis elérése OLE DB-n keresztül

Programozási nyelvek Java

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

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

A Java programozási nyelv

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

Bevezetés a C# programozásba

OOP III. A C# nyelv alapelemei

Objektumorientált programozás C# nyelven

Java programozási nyelv 5. rész Osztályok III.

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Pénzügyi algoritmusok

Labor gyakorlat Mikrovezérlők

Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

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

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

Labor gyakorlat Mikrovezérlők

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

Adatstruktúrák Algoritmusok Objektumok

Bevezetés a C programozási nyelvbe. Az Általános Informatikai Tanszék C nyelvi kódolási szabványa

OOP #14 (referencia-elv)

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

Vizuális, eseményvezérelt programozás I.

Java programozási nyelv

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

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

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

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

I. rész: A Microsoft Visual C# és a Microsoft Visual Studio 2005 bemutatása. 1. Üdvözöljük a C# világában! 3

Bevezetés a C++ programozásba

Mit jelent a nyelvben az adattípus?

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

Programozási nyelv Java

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

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

A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok

Bevezetés a C++ programozási nyelvbe

A.NET Framework és programozása C# nyelven. Kedd I104

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

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)

Java programozási nyelv

Internet programozása. 3. előadás

components : IContainer dx : int dy : int tmidőzítő : Timer toolstripseparator1 : ToolStripSeparator tsmikilépés : ToolStripMenuItem

Eseményvezérelt alkalmazások fejlesztése II. A.NET keretrendszer és a C# programozási nyelv. Objektumorientált programozási nyelvek A Smalltalk nyelv

Java és web programozás

INFORMATIKAI ALAPISMERETEK

Átírás:

Számítástechnika II. BMEKOKAA153 1. Előadás 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 Tanszék www.kjit.bme.hu

A tantárgyi követelmények Szorgalmi időszakban Laborgyakorlatok látogatása (max. 4 hiányzás lehet) Beszámolók megírása (2 eredményes ZH.) Féléves házi feladat beadása (egyéni, működő) Kredit pontok megszerzése (3 kredit) Félév végi jegy (követelmények teljesítése esetén) Jegy = (zh1+zh2)/4 + HF/2

A C# nyelv A nyelv alapjául a C++ és a Java szolgált, amelyek C alapú programnyelvek A C# objektumorientált programnyelv A C# tanulását a C programozói ismereteinkre építjük, így a klasszikus didaktikától némileg eltérően haladunk. Jelen előadás a gyakorlati órákon való elindulás elősegítését tűzi ki célul.

Szintaktikai alapok Alapvető típusok 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

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

Szintaktikai alapok Folyamatvezérlés (if-else) int i=1; if(i < 10) { //ha igaz i = 10; } else { //ha hamis i -= 1; }

Szintaktikai alapok Folyamatvezérlés (switch) int i; char c = 'd'; switch (c) { case 'a': i = 1; break; case 'b': i = 2; break; default : i = 3; break; }

Szintaktikai alapok Folyamatvezérlés (for) int i,s=0; for (i = 0; i < 11; i++) s+=i;

Szintaktikai alapok Folyamatvezérlés (while) int i=0,s=0; while(true) { i++; if (i % 2 == 1) continue; s += i; if (i > 10) break; }

Szintaktikai alapok Folyamatvezérlés (do-while) int a=0,b=1,c; do { c = a + b; a = b; b = c; } while (c<50) ;

Struktúrák Ahogy tanultuk C-ben: struct pont { int x; int y; }; pont a; Hozzáférési szintek: private csak struktúrán belülről érhető el public bárki elérheti ezt a mezőt internal programon belülről (assembly) elérhető struct pont { }; public int x; public int y; pont p = new pont();

Osztályok bevezető A C#-ban az osztályok a már ismert összetett adatszerkezetek (struktúrák) egy természetes kiterjesztése. Az osztályok nemcsak adattagokat, hanem operátorokat, függvényeket is tartalmazhatnak. Az osztályok használata esetén általában az adatmezők az osztály által éppen leírni kívánt esemény állapotjelzői, míg a függvénymezők az állapotváltozásokat írják le, felhasználói felületet biztosítanak. A függvénymezőket gyakran metódusoknak is nevezi a szakirodalom. Új igények, módosítások esetén lehetőségünk van az eredeti osztály megtartása mellett, abból a tulajdonságok megőrzésével egy új osztály származtatására, amely örökli (inheritance) az ősosztály tulajdonságait (az osztályok elemeit). Egy osztálytípusú változót, az osztály megjelenési alakját gyakran objektumnak is szokás nevezni.

Osztályok Egyszerű példa class Oszt { public int a; public int b; public int osszeg() { return a + b; } } int c; Oszt v = new Oszt(); v.a = 10; v.b = 22; c=v.osszeg();

MessageBox System.Windows.Forms.MessageBox Egy üzenetablak megjelenítésére alkalmazzuk Metódusa: public static Show(string) Például: MessageBox.Show("Helló világ");

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();

Szám-Szöveg konverzió int i,j,k; double d; i = int.parse("31"); d = double.parse("21,2");//rendszerfüggő //tizedespont, később tárgyaljuk! if (int.tryparse("34", out j)) else MessageBox.Show("Sikeres, j:"+j.tostring()); MessageBox.Show("Sikertelen konverzió"); k=convert.toint32("13");

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)

Fejlesztői környezet bemutató Visual Studio 2010 C# Express

Alapelemek Projekt létrehozása: File - New Project - (Visual C#) Windows Forms Application Kezelőfelület: Solution Explorer Toolbox Design/Code View Properties Program elemei

Komponensek bevezetés A Form, Button osztályok Egyszerű tulajdonságok: Text Width Height Alapvető események: Load Click