Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.

Slides:



Advertisements
Hasonló előadás
C# nyelvi áttekintő A „Programozás C# nyelven (Illés Zoltán)”
Advertisements

Összetett adattípusok 8/b tétel
LEgyméretű tömbök, vektorok Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 17./0. lVektorok definiálása lVektorok definiálása kezdőértékekkel.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Adatbányászati technikák (VISZM185)
Informatikai rendszerek [gyakorlat]
Öröklődés 2..
JavaScript.
© Kozsik Tamás Tömbök, kollekciók és egyéb alaposztályok.
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Turbo Pascal Változók.
Bevezetés a Java programozásba
Bevezetés a Java programozásba
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Tömbök ismétlés Osztályok Java-ban Garbage collection
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
Java programozási nyelv 3. rész – Osztályok I.
C# tagfüggvények.
C# tagfüggvények.
Krizsán Zoltán iit 1.2.  Nem kell vizuális felületnek lennie.  Delegátumok segítségével valósíthatja meg a.NET. Krizsán Zoltán iit Delegátumok C#-ban2.
Web-grafika (VRML) 10. gyakorlat Kereszty Gábor. Script típusok Elemi típusok: szám: egész vagy lebegőpontos – int / float – 1 / 1.1 string: ‘Hello World!’
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
6. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
A Java jellemzői Hordozható, platformfüggetlen forráskód és bájtkód szinten forráskód és bájtkód szinten Tisztán objektumorientált csak osztályok, illetve.
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
Programozás Operátorok C# -ban.
Programozás Az adatokról C# -ban.
Összetett adattípusok
Programozási Nyelvek (C++) Gyakorlat Gyak 02.
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
1. Gyakorlat - Alapok 1. Írjon konzolprogramot, amely kiírja a “Hello ELTE” üzenetet! Használja a System.out.println() -t! 2. Írjon konzolprogramot, amely.
Készítette: Csíki Gyula
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
Visual Basic 2008 Express Edition
Java programozási nyelv Filekezelés
Komoróczy Tamás 1 Java programozási nyelv Stringek.
Java programozási nyelv Metódusok
Java programozási nyelv Adatbekérés konzolról
Generics Krizsán Zoltán. Bemutató A.NET 2.0 verziótól. A.NET 2.0 verziótól. Típusparaméter Típusparaméter Más nyelvben ez a template (sablon). Más nyelvben.
Egyenesvonalú (lineáris) adatszerkezetek
Objektum orientált programozás
A Visual Basic nyelvi elemei
Programozás III KOLLEKCIÓK.
Free pascal feladatok
5. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
Excel programozás (makró)
Objektum orientált programozás 4. Mutatók, típusok és struktúrák Nagy Szilvia.
Függvények, mutatók Csernoch Mária. Függvények függvény definíciója az értelmezési tartomány tetszőleges eleméhez hozzárendel egy értéket –függvény helyettesítési.
Programozás I. Microsoft Visual Studio 2012 Hello C# World!
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
Krizsán Zoltán, iit C# osztályok 2 Adattagok  Osztály hatáskörben definiált változó.  Formája: [attribútum] [módosító] típus azonosító [=kezdő érték][,
V 1.01 Szoftverfejlesztés párhuzamos és elosztott környezetben.
Elemi adattípusok.
a programegységek között
Excel programozás (makró)
C# SZINTAKTIKÁJA Az egyes utasítások végén pontosvessző áll
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Adatszerkezetek.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Függvénysablonok használata
Előadás másolata:

Csala Péter ANDN #4

2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus

3 Típusok csoportosítása Típusok csoportosítása  Érték típus  Valójában is benne van a tárolt adat, érték  pl.: egész szám; karakter típus  Referencia típus  A benne „tárolt” adatokról csak egy referenciát tárol  pl.: osztály; tömb

4 Érték típus Mennyi a két változó értéke? Mennyi a két változó értéke? a = 0 a = 0 b = 100 b = 100 private void Page_Load(object sender, System… } int a = 0; int b = a; b = 100; { private void Page_Load(object sender, System… } int a = 0; int b = a; b = 100; {

5 Referencia típus Mennyi a két tömb elemeinek az értéke? Mennyi a két tömb elemeinek az értéke? i1(0)=10; i1(1)=20; i2(0)=10; i2(1)=20 Amikor i2 értékül kapta az i1-et, akkor csak az i1 tömbre mutató érték került átadásra Amikor i2 értékül kapta az i1-et, akkor csak az i1 tömbre mutató érték került átadásra Vagyis azonos memória területre mutat a két tömb. private void Page_Load(object sender, System… } int[] i1 = new int[2]; int[] i2 = i1; i2[0] = 10; i2[1] = 20; { private void Page_Load(object sender, System… } int[] i1 = new int[2]; int[] i2 = i1; i2[0] = 10; i2[1] = 20; {

6 Előre definiált típusok  szöveg  string s = ” ANDN”  char c = ‘a’  logikai  bool b = true  előjeles  sbyte b = 56 8bit  short s = bit  int i = 56 32bit  long l = bit  csak pozitív  byte b = 56 8bit  ushort h = 56 16bit  uint u = 56 32bit  ulong v = 56 64bit  lebegőpontos  float v (1,32,7)  double l (2,64,16)  decimális  decimal v (128, 29 )

7 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus

8 Változók  Statikus változó  Példány változó  Tömb változó  Érték paraméter  Referencia paraméter  Kimenő paraméter

9 Változók deklarálása public void Function(int[] c, int d, ref int e, out int f) { int g = 1 f = a; } public void Function(int[] c, int d, ref int e, out int f) { int g = 1 f = a; } class Teszt { public static int a; int b; public Teszt() { b = 10; } class Teszt { public static int a; int b; public Teszt() { b = 10; }

10 Statikus változó private void button1_Click(object sender, System.Ev.. { Teszt.a = 4; Teszt x = new Teszt(); Teszt y = new Teszt(); int[] cc = new int[5]; int dd = 10, ee = 20, ff; x.Function(cc, dd, ref ee, out ff); label1.Text = ff.ToString(); y.Function(cc, dd, ref ee, out ff); label1.Text += " - " + ff.ToString(); } private void button1_Click(object sender, System.Ev.. { Teszt.a = 4; Teszt x = new Teszt(); Teszt y = new Teszt(); int[] cc = new int[5]; int dd = 10, ee = 20, ff; x.Function(cc, dd, ref ee, out ff); label1.Text = ff.ToString(); y.Function(cc, dd, ref ee, out ff); label1.Text += " - " + ff.ToString(); } Változók értéke X=4 Y= 4

11 Példány változó public Teszt() { b = 10; } public int Function2() { return b * 2; } proceted void button2_Click (object sender, System…. { Teszt x = new Teszt(); label1.Text = x.Function2().ToString(); } public Teszt() { b = 10; } public int Function2() { return b * 2; } proceted void button2_Click (object sender, System…. { Teszt x = new Teszt(); label1.Text = x.Function2().ToString(); } Változó értéke B = 20

12 Tömb változó public string Function3(int[] c) { string s = ""; foreach (int i in c) { s += i.ToString() + " "; } return s; } private void button3_Click(object sender, System.E… { int[] cc = new int[5]; … Teszt x = new Teszt(); label1.Text = x.Function3(cc); } public string Function3(int[] c) { string s = ""; foreach (int i in c) { s += i.ToString() + " "; } return s; } private void button3_Click(object sender, System.E… { int[] cc = new int[5]; … Teszt x = new Teszt(); label1.Text = x.Function3(cc); } Változó értéke CC =

13 Érték paraméter public int Function4(int d) { d *= 2; return d; } private void button4_Click(object sender, System { int dd = 15; label1.Text = new Teszt().Function4(dd). -> <- ToString() + " " + dd.ToString(); } public int Function4(int d) { d *= 2; return d; } private void button4_Click(object sender, System { int dd = 15; label1.Text = new Teszt().Function4(dd). -> <- ToString() + " " + dd.ToString(); } Változók értéke DD=30 DD=15

14 Referencia paraméter public int Function5(ref int e) { e *= 2; return e; } private void button5_Click(object sender, System { int ee = 15; label1.Text = new Teszt().Function5(ee). -> <- ToString() + " " + ee.ToString(); } public int Function5(ref int e) { e *= 2; return e; } private void button5_Click(object sender, System { int ee = 15; label1.Text = new Teszt().Function5(ee). -> <- ToString() + " " + ee.ToString(); } Változók értéke EE=30 EE=30

15 Kimenő paraméter public int Function6(out int f) { f = 75; } private void button6_Click(object sender, System { int ff = 0; Teszt x = new Teszt(); x.Function6(out ff); Label1.Text = ff.ToString(); } public int Function6(out int f) { f = 75; } private void button6_Click(object sender, System { int ff = 0; Teszt x = new Teszt(); x.Function6(out ff); Label1.Text = ff.ToString(); } Változó értéke FF = 75

16 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus

17 Változókkal műveletek  Stringek kezelése  Véletlen szám generálás

18 Stringek kezelése  Aktuális hossz lekérdezése  Karakterekkel való bontás  Másolás adott karaktertől (2féleképpen)  NAGY illetve kis betűvé való konvertálás  Adott helyre szöveg beszúrása  Számmá konvertálás  White Space levágása  Tetszőleges karakter levágása (be;end)  Adott karakter sorral kezdődik-e ellenőr.  Karakter csere  Stirngből adott helyről törlés

19 Aktuális hossz lekérdezése Lekérdezi a textbox aktuális hosszát, vagyis hogy hány karakter (char) található benne. private void button1_Click(object sender, System… { label1.Text = ”Length: ” + Text1.Text.Length.ToString(); } private void button1_Click(object sender, System… { label1.Text = ”Length: ” + Text1.Text.Length.ToString(); }

20 Karakterekkel való bontás Visszatérési értékként egy stringeket tároló tömböt ad vissza. Melynek minden eleme egy önálló string. private void button2_Click(object sender, System… { String[] s = textBox1.Text.Split(new Char[] {';'}); int i = 0; foreach (string tmp in s) { listBox1.Items.Add((++i).ToString() + ".: " + tmp); } private void button2_Click(object sender, System… { String[] s = textBox1.Text.Split(new Char[] {';'}); int i = 0; foreach (string tmp in s) { listBox1.Items.Add((++i).ToString() + ".: " + tmp); }

21 Másolás adott karaktertől 1. a végéig 2. 6-ig másol a 4. karaktertől private void button3_Click(object sender, System… { listBox1.Items.Add(textbox1.Text.Substring(4)); } private void button3_Click(object sender, System… { listBox1.Items.Add(textbox1.Text.Substring(4)); } private void button4_Click(object sender, System… { listBox1.Items.Add(textbox1.Text.Substring(4,2)); } private void button4_Click(object sender, System… { listBox1.Items.Add(textbox1.Text.Substring(4,2)); }

22 NAGY, kis betű konvertálás private void button5_Click(object sender, System… { listBox1.Items.Add(textbox1.Text.ToUpper()); } private void button5_Click(object sender, System… { listBox1.Items.Add(textbox1.Text.ToUpper()); } Paraméterként a CuluterInfot tudjuk átadni private void button6_Click(object sender, System… { listBox1.Items.Add(textbox1.Text.ToLower()); } private void button6_Click(object sender, System… { listBox1.Items.Add(textbox1.Text.ToLower()); }

23 Adott helyre szöveg beszúrása private void button7_Click(object sender, System… { listBox1.Items.Add(textbox1.Text.Insert(4, ”ANDN”)); } private void button7_Click(object sender, System… { listBox1.Items.Add(textbox1.Text.Insert(4, ”ANDN”)); }

24 String kezelés folyt. I.  Számmá konvertálás  White Space eltávolítása  (elejéről végéről is )  CharacterInfo class IsWhiteSpace függ. lehet ellenőrizni  Használható úgy is, mint a Split  Csak az elejéről vagy a végéről vágni int i = Convert.ToInt32(text1.Text); listBox1.Items.Add(textbox1.Text.Trim()); listBox1.Items.Add(textbox1.Text.TrimEnd());

25 String kezelés folyt. II.  Adott karakter sorral kezdődik?  Csere  I. paraméter cserélendő  II. paraméter cserélő  Adott helytől törlés  1.paraméter honnan  2. paraméter törlendő karakterek száma listBox1.Items.Add(textBox1.Text.StartsWith("a")); listBox1.Items.Add(textbox1.Text.Replace("a","b")); listBox1.Items.Add(textbox1.Text.Remove(4, 2));

26 Véletlen szám generálás  6féleképpen lehet véletlen számot generálni  Random  Next  Next max value  Next max, min value  NextBytes  NextDouble

27 Random Ilyenkor ténylegesen is véletlen számot kapunk eredményül. A többi esetnél, ha újból elindítjuk a programot akkor mindig u.a. a „véletlen” számot adja vissza. Ok: az aktuális idő figyelembevételével inicializáljuk a sort. (Random paraméter nélküli konstruktora)

28 Next Mennyi lehet az r értéke? 0 és Int32.MaxValue -1 között lehet private void button1_Click(object sender, System… { Random r = new Random(); label1.Text = r.Next().ToString(); } private void button1_Click(object sender, System… { Random r = new Random(); label1.Text = r.Next().ToString(); } ?

29 Next max value private void button2_Click(object sender, System… { Random r = new Random(); label2.Text = r.Next(10).ToString(); } private void button2_Click(object sender, System… { Random r = new Random(); label2.Text = r.Next(10).ToString(); } Mennyi lehet az r értéke? 0 és 9 között bármelyik egész szám ?

30 Next max, min value private void button3_Click(object sender, System… { Random r = new Random(); label3.Text = r.Next(20, 22).ToString(); } private void button3_Click(object sender, System… { Random r = new Random(); label3.Text = r.Next(20, 22).ToString(); } Mennyi lehet az r értéke? 20 vagy 21 lehet ?

31 NextBytes private void button4_Click(object sender, System… { byte[] b; b = new byte[100] Random r = new Random(); r.NextBytes(b); foreach (byte by in b) { listBox1.Items.Add(by.ToString()); } private void button4_Click(object sender, System… { byte[] b; b = new byte[100] Random r = new Random(); r.NextBytes(b); foreach (byte by in b) { listBox1.Items.Add(by.ToString()); } Ezzel egy tetszőleges méretű bájtokat tartalmazó tömböt tudunk feltölteni például.

32 NextDouble private void button5_Click(object sender, System… { Random r = new Random(); label5.Text = r.NextDouble().ToString(); } private void button5_Click(object sender, System… { Random r = new Random(); label5.Text = r.NextDouble().ToString(); } Mennyi lehet az r értéke? 0.0 és 1.0 közötti értéket veheti fel ?

33 Kérdések és válaszok...

Köszönöm a figyelmeteket!