C# SZINTAKTIKÁJA Az egyes utasítások végén pontosvessző áll

Slides:



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

1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
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.
1. Gyakorlat - Alapok 1. Írjon konzolprogramot, amely kiírja a “Hello ELTE” üzenetet! Használja a System.out.println() -t! 2. Írjon konzolprogramot, amely.
Hernyák Zoltán Programozási Nyelvek II.
Excel programozás (makró)
Bevezetés a C# nyelvbe Az alapok összefoglalása Farkas Csaba.
Programozási alapok 2.. Hogyan gyakoroljunk otthon? Visual Studio, MSDNAA Monodevelop (Unity-hez jár) Online fordítók
Forrás: Reiter István C_Sharp programozás lépésről lépésre (frissített tartalommal )
BME VEGYÉSZMÉRNÖKI ÉS BIOMÉRNÖKI KAR
Script nyelvek előadás
Fájlkezelés.
PL/SQL gyakorlás Kalmár György.
Adatbázis normalizálás
Kompetenciamérés a Szakiskolai Fejlesztési Program II. keretében 2007
Programstruktúrák.
Script nyelvek előadás
Elemi adattípusok.
A Scala programozási nyelv
AWK ismétlés AWK: adatvezérelt nyelv:
Program utasítássorozat
Java kódolási konvenciók
Scilab programozás alapjai
Kockázat és megbízhatóság
A C++ programozási nyelv
A C++ programozási nyelv
PHP - függvények.
Kockázat és megbízhatóság
Adatbázisok SQL.
Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök
Struktúra predikció ápr. 6.
Lexikális elemző: lex (flex)
Kockázat és megbízhatóság
Dependency Injection Moq Feladat
PHP-SQL adatbáziskezelő parancsai
Számításelmélet 1.
VEREM.
Nyelvek típusossága.
Adatbázis-kezelés (PL/SQL)
FÜGGVÉNYEK Legyen adott A és B két nem üres (szám)halmaz. Az A halmaz minden eleméhez rendeljük hozzá a B halmaz pontosan egy elemét. Ezt az egyértelmű.
2. Bevezetés A programozásba
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
VB ADATTÍPUSOK.
Script nyelvek előadás
Unity.
Adatszerkezetek.
STRUKTURÁLT SERVEZETEK: funkció, teljesítmény és megbízhatóság
Munkanélküliség.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Programozás I. 4. gyakorlat.
Informatikai gyakorlatok 11. évfolyam
B M Java Programozás 4. Gy: Java GUI IT A N Tipper, MVC kalkulátor
Minimális feszítőfák Definíció: Egy irányítatlan gráf feszítőfája a gráfnak az a részgráfja, amely fagráf és tartalmazza a gráf összes cúcspontját. Definíció:
B M Java Programozás 9. Gy: Java alapok IT A N Adatkezelő 5.rész
Bináris kereső fák Definíció: A bináris kereső fa egy bináris fa,
A Lineáris Keresés Buktatói
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
További rendező és kereső algoritmusok
Szálszinkronizáció.
B M Java Programozás 6. Gy: Java alapok IT A N Adatkezelő 2.rész
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
B M Java Programozás 2. Gy: Java alapok IT A N Adatszerkezetek
Műveletek, függvények és tulajdonságaik Mátrix struktúrák:
SQL jogosultság-kezelés
Utasítások, elágazás- és ciklusszervezés C nyelvi utasítások
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Bevezetés Tematika Számonkérés Irodalom
Algoritmusok.
Java alkalmazások 2. Előadás.
Előadás másolata:

C# SZINTAKTIKÁJA Az egyes utasítások végén pontosvessző áll A kis és nagybetűk különböző jelentőséggel bírnak A program egységeit (blokkokat) kapcsos zárójelekkel jelöljük ({}) Kulcsszavak Megjegyzések: // egy sor komment, /* */ többsoros komment Névtér: virtuális doboz, amelyben a logikailag összefüggő osztályok, metódusok, stb. vannak

Változó típusok Egész típusok típus méret Leírás byte 1 Előjel nélküli 8 bites egész szám (0..255) sbyte Előjeles 8 bites szám (-128..127) short 2 Előjeles 16 bites egész szám (-32768..32767) ushort Előjel nélküli 16 bites egész szám (0..65535) int 4 Előjeles 32 bites egész szám (-147483648..2147483647) uint Előjel nélküli 32 bites egész szám (0..4294967295) long 8 Előjeles 64 bites szám Ulong Előjel nélküli 64 bites szám

Változó típusok Valós és egyéb típusok Változó = Convert.to…(); típus méret Leírás bool 1 Logikai típus, értéke igaz vagy hamis char 2 Egy Unicode karakter string Unikcode karakter szekvenciája float 4 Egyszeres pontosságú lebegőpontos szám double 8 Kétszeres pontosságú lebegőpontos szám object Minden típus őse Változó = Convert.to…();

Input, Output Input: Output: Változó = Console.Read(); Változó = Console.ReadLine(); b = int.TryParse(Console.ReadLine(), out g), ahol b bool, g egész típus Output: Console.WriteLine("{0:C}", 2.5); //2,5 Ft Console.WriteLine("{0:C}", -2.5); //-2,5 FT Console.WriteLine("{0:D5}", 25); //00025 Console.WriteLine("{0:E}", 250000); //2.500000E+005 Console.WriteLine("{0:F2}", 25); //25,00 Console.WriteLine("{0:F0}", 25); //25 Console.WriteLine("{0:G}", 2.5); //2.5

Output Output: Console.Write(”szöveg ”); Console.WriteLine(”szöveg”); Console.WriteLine(”{0} {1}”, a,b); Console.WriteLine("{0,6} {1,6}", 123, 456); //jobbra Console.WriteLine("{0,-6} {1,-6}", 123, 456); //balra

Egyszerű elágazás

Kétirányú elágazás

Többirányú elágazás

if (feltétel1) { utasítás1; ..utasításn; } else if (feltétel2) else Elágazás1 if (feltétel1) { utasítás1; ..utasításn; } else if (feltétel2) else

Elágazás2 switch(változó) { case érték1: utasítás1; ..utasításn; break; case érték2: utasítás1; default: utasítás1; }

Ciklusok1

Ciklusok2

Ciklusok3

Ciklusok4

Ciklusok5

Ciklusok6

Ciklusok7

Ciklusok8

Ciklusok9

Ciklusok10

Ciklusok11

Ciklusok12

Ciklusok13 while(feltétel) { utasítás1; .. utasításn; } do .. utasítasn; } while(feltétel); for (ini ; feltétel; léptetés) ..utasításn; foreach(típusnév változónév in kollekciónév) utasítás; break; continue;

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ő

String string s = ”alma”; Összefűzés: s = s + ”fa”; //almafa Nagybetűs: s = s.ToUpper(); //ALMAFA Kisbetűs: s = s.ToLower(); //almafa Kivágás: string s1 = s.SubString(0,2); //al, ha nincs második paraméter a hosszáig Hossza: int l= s.Length; //6 Keresés: int l1= string.Indexof(’l’) //1, ha nincs, akkor az értéke -1 Összehasonlítás: int a = string.Compare(s1,s2) //1, ha a s2 előrébb van, mint s1, 0, ha egyforma, -1, ha s1 előrébb van, mint s2

Tömb, struktúra Tömbök: int[] szamok= new int[4]; int[,] numbers = new int[3, 2]; int[,] numbers = new int[3, 2] {{1,2}, {3,4}, {5,6}}; Struktúra: struct tanulo { public string nev; public double atlag; }; tanulo hallgato; hallgato.nev = ” Kis Pista”; hallgato.atlag = 5;

Alprogram Önálló feladattal rendelkező programegység Azonosító, paraméter Eljárás, függvény Alprogram hívása

Alprogramok végrehajtása

Függvény, metódus FÜGGVÉNY: Metódus: Láthatóság(static) visszatérési típus név(paraméterek) { Alprogram utasítástörzse return érték; } Metódus: Láthatóság(static) void név(paraméterek)

Paraméterek Bemenő Referencia Kimenő

Fájl kezelés System.IO StreamWriter StreamReader Exists Write(string), Writeln(string) Read(), ReadLine() Close()

Objektum

Osztály Adatok, műveletek Alapelv: Egységbezárás Öröklés Sokoldalúság

Osztály2 Egységbezárás: egyértelműen jelölve van, hogy milyen adatok és műveletek jellemzik metódus (eljárások, függvények) Öröklés Ős osztály Gyerek osztály

Feladat Írjon egy progamot hallgatói adatok rendezésére! Hozzon létre egy tanulo nevű struktúrát, ami tartalmazza a hallgató nevét és átlagát! Írjon egy Beolvas nevű paraméter nélküli függvényt, ami beolvassa a hallgatók adatait egy „nevsor.txt” nevű text típusú fájlból. Visszatérési értéke a beolvasott hallgatók darabszáma. Írjon egy csere nevű metódust, ami a bemenő paraméterében megadott két hallgató adatát megcserélve adja vissza. Írjon egy Rendez nevű metódust, ami a paraméterében (mi szerint rendezze: névsor/átlag) megadott mód szerint rendezi az adatokat. Írjon egy Fajlbair paraméter nélküli metódust, ami az adatokat beírja egy text típusú fájlba.

1.Hozzon létre egy tanulo nevű struktúrát, ami tartalmazza a hallgató nevét és átlagát! struct tanulo { public string nev; public double atlag; } static tanulo[] tankor = new tanulo[20]; static int n;

2.Írjon egy Beolvas nevű paraméter nélküli függvényt, ami beolvassa a hallgatók adatait egy „nevsor.txt” nevű text típusú fájlból. Visszatérési értéke a beolvasott hallgatók darabszáma. static int Beolvas() { StreamReader sr = new StreamReader("nevsor.txt"); string line; string s; byte i = 0; int h; while ((line = sr.ReadLine()) != null) h = line.IndexOf(";"); s = line.Substring(0, h); tankor[i].nev = s; s = line.Substring(h + 1); tankor[i].atlag = Convert.ToDouble(s); ++i; } sr.Close(); return i; static void Main(string[] args) n = Beolvas();

static void csere(ref tanulo a, ref tanulo b) { tanulo cs; 3. Írjon egy csere nevű metódust, ami a bemenő paraméterében megadott két hallgató adatát megcserélve adja vissza. static void csere(ref tanulo a, ref tanulo b) { tanulo cs; cs = a; a = b; b = cs; }

4. Írjon egy Rendez nevű metódust, ami a paraméterében (mi szerint rendezze: névsor/átlag) megadott mód szerint rendezi az adatokat. static void Rendez(int mi) { //Rendezés átlag és név szerint szerint for (int i = 0; i < n - 1; i++) for (int j = 0; j < n - 1; j++) if (mi == 1) if (tankor[j].atlag > tankor[j + 1].atlag) csere(ref tankor[j], ref tankor[j + 1]); } else if (string.Compare(tankor[j].nev, tankor[j + 1].nev) == 1)

Főprogramba a Rendez meghívása static void Main(string[] args) { byte mi; n = Beolvas(); Console.Write("Mi szerint rendezzek (1: átlag, 2: névsor"); mi = Convert.ToByte(Console.ReadLine()); Rendez(mi); }

5. Írjon egy Fajlbair paraméter nélküli metódust, ami az adatokat beírja egy text típusú fájlba. static void Fajlbair() { StreamWriter sw = new StreamWriter("nevsor.txt"); string s; for (int i = 0; i < n; i++) s = tankor[i].nev + ";" + tankor[i].atlag; sw.WriteLine(s); } sw.Close();

Végső főprogram static void Main(string[] args) { byte mi; n = Beolvas(); Console.Write("Mi szerint rendezzek (1: átlag, 2: névsor"); mi = Convert.ToByte( Console.ReadLine()); Rendez(mi); Fajlbair(); Console.ReadLine(); }