You are on page 1of 6

C# programozsi nyelv sszefoglalja

C# nyelv egyszer tpusai:


int double char

Eljeles egsz szmok trolsa Vals (lebegpontos) szmok trolsa Karakter trolsa

Konstansok hasznlata:
const int MODOSITO = 13; const float SZORZO = 1.0e3F; const double NORMALO = 200;

string tpus hasznlata:

string szoveg = "Feladatok "; //konstanssal val feltltse szoveg = Console.ReadLine(); // szveg beolvassa

Adatbevitel billentyzetrl: Egsz szm beolvassa:


int egesz_adat; egesz_adat = Convert.ToInt32(Console.ReadLine()); Vals szm beolvassa: double valos_adat; valos _adat = Convert.ToDouble(Console.ReadLine()); Karakter beolvassa: char karakter; karakter = (char) Console.Read();

Vletlenszm generlsa:
int alsohatar = 1, felsohatar= 90, lotto; Random v1 = new Random(); lotto = v1.Next(alsohatar, felsohatar + 1); //lotto = v1.Next(1, 90 + 1);

Matematikai fggvnyek hasznlata

Gykvons gyok = Math.Sqrt(x); Hatvnyozs hatvay = Math.Pow(alap, kitevo);

Klnbz tpus adatok beolvassa (Minta1)


class Program { static void Main(string[] args) { int egesz_adat; Console.Write("Egsz adat: "); egesz_adat = Convert.ToInt32(Console.ReadLine()); // Vals szm beolvassa: Console.Write("Vals adat: "); double valos_adat; valos_adat = Convert.ToDouble(Console.ReadLine()); //Karakter beolvassa: char karakter; Console.Write("Karakter: "); karakter = (char) Console.Read(); Console.ReadLine(); //sztring beolvassa string szoveg; Console.Write("Szveg: "); szoveg = Console.ReadLine(); Console.WriteLine("\nA beolvasott adatok megjelentse: ");

} } A program futsnak eredmnye: Egsz adat: 12 Vals adat: 3,141 Karakter: d Szveg: feladat

//Beolvasott adatok megjelentse Console.WriteLine("egesz adat: " + egesz_adat); Console.WriteLine("vals adat: " + valos_adat); Console.WriteLine("karakter adat: " + karakter); Console.WriteLine("Szveges adat: " + szoveg); Console.ReadLine();

A beolvasott adatok megjelentse: egesz adat: 12 vals adat: 3,141 karakter adat: d Szveges adat: feladat

Feltteles utastsok

Az if-else utastsnl a felttel teljeslse esetn az utasts1 hajtdik vgre, klnben pedig az utasts2.
if (felttel_kif) { utasts1 } else { utasts2 }

A lncolt if-else-if utastsnl tetszleges szm felttelt sorba lncolhatunk, mely sorozatot az else g zrja. Ha egyik felttel sem teljesl, akkor az else g hajtdik vgre:
if (felttel_kif1) { utasts1 } else if (felttel_kif2) { utasts2 . . . } else { utastsn }

Tbbirny elgaztats: A konstans_kifejezs lehet egsz szm, pl. 1 vagy karakter, pl: a
switch (kifejezs) { case konstans_kifejezs1: case konstans_kifejezs2: case konstans_kifejezs3: utastsok break; . . . default: utastsok break; } utastsok break;

Ciklus utastsok
A while ciklus mindaddig ismtli a trzsben lv utastsokat, mg a vizsglt kifejezs (vezrlfelttel) rtke igaz (true). Az utasts ltalnos alakja:
while (felttel_kif) { utastsok; // a ciklus trzse }

A for ciklus egy kezdrtktl a megadott lpskzzel addig mkdik, mg a felttele igaz:
for(inicializl_kif; felttel_kif; lptet_kif) { utastsok; // a ciklus trzse }

A do-while ciklus adatbeolvassnl adat ellenrzsre nagyon alkalmas:


do{ utastsok; }while (felttel_kif); // a ciklus trzse

Egydimenzis tmbk ltrehozsa


//egsz tpus tmb int db = 5; int [] itomb; itomb= new int[db]; //vals tpus tmb int db = 5; double [] vtomb; vtomb= new double[db];

A tmb elemeinek szma: itomb.Length, azaz a pldban: 5


Az els elem indexe 0, az utols elem indexe: itomb.Length-1, azaz a pldban 4 Amennyiben nincs szksgnk tbb a tmb elemeire: itomb = null;

Ktdimenzis tmbk ltrehozsa


int [,] mtrix; mtrix = new int[2, 3];

A mtrix tmb elemeit tglalapos elrendezsben megjelent programrszlet:


for (int i = 0; i < mtrix.GetLength(0); i++) { for (int j = 0; j < mtrix.GetLength(1); j++) Console.Write(mtrix[i, j] + "\t"); Console.WriteLine(); }

Ahol
mtrix.GetLength(0) mtrix.GetLength(1)

a sorok szma az oszlopok szma

rjunk programot, amely 1-10 kztti vletlen szmmal feltlt egy adott darabszm egsz tpus tmbt, valamint billentyzetrl is betlthetjk az adatokat! Szmtsuk ki a pros adatok sszegt s a pratlan adatok tlagt! ( Minta2)
class Program { static void Main(string[] args) { int db; // tmb elemeinek darabszmt trolja int paros_osszeg = 0, paratlan_szorzat=1; //deklarci s kezdrtkads Random m = new Random(); // m a Random egy pldnya int[] x; // egydimenzis tmbhivatkozs defincija Console.Write("Adatok szma: "); db = Convert.ToInt32(Console.ReadLine()); //tmb darabszmnak beolvassa x = new int[db]; // db elem tmb ltrehozsa Console.WriteLine("A tmb elemei: "); for (int i = 0; i < x.Length; i++) { // tmb adatainak rtkaadsa vletlen generlsval 1-10 kztt x[i] = (int)(m.Next(10) + 1); Console.WriteLine(x[i]); // tmb elemeinek megjelentse // adatok megadsa billentyzetrl // Console.Write(i + ".adat: "); // rkrdeznk az adatra // x[i] = Convert.ToInt32(Console.ReadLine()); // beolvassuk } for (int i = 0; i < x.Length; i++) { if (x[i] % 2 == 0) paros_osszeg += x[i]; //tmb eleme pros else paratlan_szorzat *= x[i]; // tmb eleme pratlan } Console.WriteLine("A tmb pros elemeinek sszege: " + paros_osszeg); Console.WriteLine("A tmb pratlan elemeinek szorzata : " + paratlan_szorzat);

Console.ReadLine(); } }

A program futsnak eredmnye vletlenszm generlssal: Adatok szma: 5 A tmb elemei: 1 9 5 10 8 A tmb pros elemeinek sszege: 18 A tmb pratlan elemeinek szorzata : 45 A program futsnak eredmnye billentyzetrl val beolvasssal: Adatok szma: 4 A tmb elemei: 0.adat: 3 1.adat: 12 2.adat: 5 3.adat: 23 A tmb pros elemeinek sszege: 12 A tmb pratlan elemeinek szorzata : 35

Metdusok
1.

Ha a metdus rendelkezik visszatrsi tpussal (pldul double), akkor a fggvnyen bell deklarlunk egy ilyen tpus vltozt. A fggvny egyetlen visszatrsi rtknek tpusa megegyezik a metdus neve eltt megadott tpussal. A paramterlistn tadott paramterekkel mveletet vgez az ltalunk ltrehozott vltozban, s ezt az rtket adja vissza a return segtsgvel.
visszatrsi tpus mdost a metdus trzst befoglal zrjelek metdusnv a paramterek tpusa

Hvsa:
Mk = MertaniKozep(a, b);

static double MertaniKozep(double x, double y) {

double ered; ered = Math.Sqrt(x*y);


return ered; }

a formlis bemen paramterek neve

visszatrsi rtk

2.

A visszatrsi rtkkel nem rendelkez ( void tpus) metdusban nincs return utasts, az eredmnyt vagy eredmnyeket az out s tpussal jelzett kimen paramterekben adja vissza, ez a paramter a fggvny trzsben kap rtket.
nincs visszatrsi rtk mdost metdusnv a paramterek tpusa

Hvsa:
Szorzat(a,b,out szor);

a metdus trzst befoglal zrjelek

static void Szorzat(double x, double y, out double ered) { ered = x * y; } a formlis bemen paramterek kimen paramter neve

neve

Egyszer tpus bemen s kimen paramterek hasznlata:

class Program { static void Olvas(out double x, out double y, out int jel) //kimen paramterek { Console.Write("1. adat: "); x = Convert.ToDouble(Console.ReadLine()); // itt kap rtket Console.Write("2. adat: ");

y = Convert.ToDouble(Console.ReadLine());// itt kap rtket do { Console.Write("Jel: "); jel = Convert.ToInt32(Console.ReadLine());// itt kap rtket } while (jel <= 0 || jel > 2); //nem fogadja el a rossz rtket } static void Szamol1(double x, double y, int jel, out double ered) { ered = 0; if (jel == 1) ered = Math.Pow(x * y, 1.0 / 2); //mrtani kzep else if (jel == 2) ered = (x + y) / 2; } static double Szamol2(double x, double y, int jel) { double ered = 0; switch(jel) { case 1: ered = Math.Pow(x * y, 1.0 / 2); break; //mrtani kzep case 2: ered = (x + y) / 2; break; // szmtani kzp } return ered; } static void Main(string[] args) { int jelzo; double adat1, adat2,ered1, ered2; Olvas(out adat1,out adat2, out jelzo); Szamol1(adat1, adat2, jelzo, out ered1); Console.WriteLine("Eredmny " + ered1); Olvas(out adat1, out adat2, out jelzo); ered2 = Szamol2(adat1, adat2, jelzo); Console.WriteLine("Eredmny " + ered2); Console.ReadLine(); }

} A program futsnak eredmnye: 1. adat: 1 2. adat: 2 Jel: 1 Eredmny 1,4142135623731 1. adat: 1 2. adat: 2 Jel: 2 Eredmny 1,5

3.

A referencia-paramtert a ref mdostval jelljk, mind a deklarciban, mind pedig a metdus hvsakor a megfelel aktulis paramter eltt. A hivatkozsi-paramtereket szoks vltozparamtereknek is nevezni, hvsi argumentumknt csak megfelel tpus, inicializlt vltozt adhatunk meg. Tmbk beolvassnl a ref jelzi, hogy referencit, azaz cmet adunk t kezdrtkadssal ( null), hogy ltrehozhassuk a tmbt, majd feltltjk adatokkal. A Olvas1 metdusnl a tmb elemeinek szmt visszatrsi rtkknt adjuk vissza:
static int Olvas1(ref int[] x) {}

Az Olvas2 metdusnl a tmb elemeinek szmt a paramterlistn adjuk vissza:


static void Olvas2(ref int[] x, out int n){}

4.

Az OsszegSzamol metdusnl mr nem kell a ref jelzst megadni a tmbparamternl, a tmb adatait rtkknt adjuk t, nem mdostjuk az adatait.
static void OsszegSzamol(int[] x, int n, out int ossz){}

A Minta4 feladat bemutatja a metdusok hasznlatt: 5

class Program { static int Olvas1(ref int [] x) { int n; // ebbe olvassuk be a tmb elemszmt Console.Write("Adatok szma: "); n = Convert.ToInt32(Console.ReadLine()); // n beolvassa x = new int[n]; // a tmb n elemnek ltrehozsa for (int i = 0; i < n; i++) { Console.Write(i + ". adat: "); x[i] = Convert.ToInt32(Console.ReadLine()); // tmb feltltse } return n; // a tmb elemeinek szma visszatrsi rtkknt } // tmb elemeinek szmt a paramterlistn kimen (out) paramterknt adjuk vissza static void Olvas2(ref int[] x, out int n) { Console.Write("Adatok szma: "); n = Convert.ToInt32(Console.ReadLine()); // n beolvassa x = new int[n]; // a tmb n elemnek ltrehozsa for (int i = 0; i < n; i++) { Console.Write(i + ". adat: "); x[i] = Convert.ToInt32(Console.ReadLine()); // tmb feltltse } } // A tmb adatainak sszegt visszatrsi rtkknt (return mellett) adjuk vissza static int OsszegSzamol1(int[] x, int n) { int ossz = 0; for( int i = 0; i<n; i++) { ossz += x[i]; } return ossz; //visszatrsi rtk } // A tmb adatainak sszegt a paramterlistn kimen (out) paramterknt adjuk vissza static void OsszegSzamol2(int[] x, int n, out int ossz) { ossz = 0; for (int i = 0; i < n; i++) { ossz += x[i]; } } static void Main(string[] args) { int osszeg1, db1; int [] y= null; // fontos az rtkads a ref paramter miatt Console.WriteLine("1. futtats"); db1 = Olvas1(ref y); osszeg1 = OsszegSzamol1(y,db1); Console.WriteLine("\nsszeg1: " + osszeg1); // msodik futtats Console.WriteLine("\n2. futtats"); int osszeg2, db2; int[] w = null; // fontos az rtkads a ref paramter miatt Olvas2(ref w, out db2); OsszegSzamol2(w, db2, out osszeg2); Console.WriteLine("\nsszeg2: " + osszeg2); Console.ReadLine(); } } 1. futtats Adatok szma: 4 0. adat: 1 1. adat: 2 2. adat: 3 3. adat: 4 sszeg1: 10 2. futtats Adatok szma: 3 0. adat: 5 1. adat: 4 2. adat: 6 sszeg2: 15

You might also like