2 - Math osztály és elágazázok

Math osztály

Műveletek

double x = 4; double y = 2; double z = -3; double hatvany = Math.Pow(x, y); // 16 double negyzetGyok = Math.Sqrt(x); // 2 double abszolutErtek = Math.Abs(z); // 3 x = 50.5; y = 51.5; double kerekites = Math.Round(x); // 50 double kerekites = Math.Round(y); // 52 double kerekites3 = Math.Round(x, 0, MidpointRounding.AwayFromZero); // 51 double kerekites2 = Math.Round(x, 0); // 51 double kerekFel = Math.Ceiling(x); // 51 double kerekLe = Math.Floor(x); // 50

Állandó

const <típus> <VÁLTOZÓNÉV> = <érték>
const double PI = Math.PI; const double GRAVITACIOS_KONSTANS = 6.673e-11;

Elágazások

Szimpla elágazás

if (<feltétel>) { <Végrehajtandó kód> }
bool szeretiABrokkolit = true; if (szeretiABrokkolit) { Console.WriteLine("Szereti a brokkolit"); }

Eredmény: Szereti a brokkolit

bool szeretiABrokkolit = false; if (szeretiABrokkolit) { Console.WriteLine("Szereti a brokkolit"); }
if (<feltétel>) { <Végrehajtandó kód> } else { <Egyéb esetben végrehajtandó kód> }
bool szeretiABrokkolit = false; if (szeretiABrokkolit) { Console.WriteLine("Szereti a brokkolit"); } else { Console.WriteLine("NEM szereti a brokkolit"); }

Eredmény: <nem ír ki semmit>

Többes elágazás

if (<feltétel>) { <Végrehajtandó kód> } else if (<másik feltétel>) { <Végrehajtandó kód> } else { <Egyéb esetben végrehajtandó kód> }
bool szeretiABrokkolit = true; bool szeretiABabot = false; if (szeretiABrokkolit) { Console.WriteLine("Szereti a brokkolit."); } else if (szeretiABabot) { Console.WriteLine("Nem szereti a brokkolit, de szereti a babot."); } else { Console.WriteLine("Egyiket se szereti"); }

Eredmény: Nem szereti a brokkolit, de szereti a babot.

Hogy oldható meg, az, hogy szereti a babot, de nem szereti a brokkolit?

És-vagy operátorok

a b a && b a || b !a !b a && !b !a && b a || !b !a || b
i i i i h h h h i i
i h h i h i i h i h
h i i i i h h i h i
h h h h i i i i i i
IgazsaˊgtaˊblaIgazságtábla
bool szeretiABrokkolit = true; bool szeretiABabot = true; if (szeretiABrokkolit && szeretiABabot) { Console.WriteLine("Szereti a brokkolit ÉS a babot is"); } else { Console.WriteLine("Vagy a brokkolit vagy a babot vagy egyiket se szereti"); }

Eredmény: Szereti a brokkolit ÉS a babot is

bool szeretiABrokkolit = true; bool szeretiABabot = false; if (szeretiABrokkolit || szeretiABabot) { Console.WriteLine("Szereti a brokkolit VAGY a babot VAGY mindkettőt"); } else { Console.WriteLine("Egyiket sem szereti"); }

Eredmény: Szereti a brokkolit VAGY a babot VAGY mindkettőt

bool szeretiABrokkolit = true; bool szeretiABabot = false; if (szeretiABrokkolit && szeretiABabot) { Console.WriteLine("Szereti mindkettőt"); } else if (szeretiABrokkolit && !szeretiABabot) { Console.WriteLine("Csak a brokkolit szereti"); } else if (!szeretiABrokkolit && szeretiABabot) { Console.WriteLine("Csak a babot szereti"); } else { Console.WriteLine("Egyiket sem szereti"); }

Eredmény: Csak a brokkolit szereti

Elágazás összehasonlítással

A feltétel átadásánál akár értékek összehasonlítását is megadhatunk, ugyanis ez a fordításkor igazként vagy hamisként értékelődik ki.

Melyik szám nagyobb KÉT szám közül?

double szam1 = Convert.toDouble(Console.ReadLine()); double szam2 = Convert.toDouble(Console.ReadLine()); double eredmeny; if(szam1 > szam2) { eredmeny = szam1; } else { eredmeny = szam2; } Console.WriteLine(eredmeny);

Melyik nagyobb HÁROM szám közül?

double szam1 = Convert.toDouble(Console.ReadLine()); double szam2 = Convert.toDouble(Console.ReadLine()); double szam3 = Convert.toDouble(Console.ReadLine()); double eredmeny; if(szam1 >= szam2 && szam1 >= szam3) { eredmeny = szam1; } else if (szam2 >= szam1 && szam2 >= szam3) { eredmeny = szam2; } else { eredmeny = szam3; } Console.WriteLine(eredmeny);

Feladat - Egyszerű számológép

double szam1 = Convert.toDouble(Console.ReadLine()); string operator = Console.ReadLine(); double szam2 = Convert.toDouble(Console.ReadLine()); if (operator == "+") { Console.WriteLine(szam1 + szam2); } else if (operator == "-") { Console.WriteLine(szam1 - szam2); } else if (operator == "*") { Console.WriteLine(szam1 * szam2); } else if (operator == "/") { Console.WriteLine(szam1 / szam2); } else { Console.WriteLine("Rossz operator"); }
VISSZA