Gépészeti informatika (BMEGEMIBXGI) 4. Laboratóriumi foglalkozás Fink Nándor
Ismétlés: Értékadás operátorokkal: Operátorok bemutatása: int szam = 0; szam = szam + 1; vagy szam += 1; vagy szam++; Operátorok bemutatása: +,-,/,*,%,&,&&,|,||,>>… A Math osztály metóduai: Math.PI; Math.Pow(x,y); … Szelekciós utasítások: if (kifejezés) if (kifejezés) if (kifejezés1) switch (kifejezés) utasítás; utasítás1; utasítás1; { case kifejezés1: else else if (kifejezés2) utasítás1; utasítás2; utasítás2; break; … … else default: utasítás x+1; utasításx+1; break; }
Definíciók Ciklus (loop): Elöl tesztelt ciklus: Hátul tesztelt ciklus: Meghatározott utasítás(sorozat) egymás utáni ismétlése, amíg a kritérium feltétel igaz. Elöl tesztelt ciklus: A ciklus lefutása előtt teszteli a program, hogy teljesül-e a kritérium feltétel. Ha nem teljesül már az elején, akkor egyszer sem fut le az adott programrész. Hátul tesztelt ciklus: Mindenképpen lefut egyszer a ciklus törzsében lévő programrész, a kritérium feltétel csak ez után kerül tesztelésre. (Lefut-e a program még egyszer.) Típusai: - While - Do - while - For - Foreach
Ciklusok: Több utasítás esetén {} –t kell alkalmazni! While ciklus: Do – while ciklus: while (feltétel) do utasítás; utasítás; while (kritérium); Több utasítás esetén {} –t kell alkalmazni! C# könyv 19-22. oldal
Ciklusok: Több utasítás esetén {} –t kell alkalmazni! For ciklus: for (inicializáció; feltétel; léptetés) utasítás; Például: for (int i = 0; i < 10; i++) { c = (a + b)*i; label1.Text = Convert.ToString(c); } A ciklus lefutását követően „i” segédváltozó megszűnik! Több utasítás esetén {} –t kell alkalmazni! C# könyv 19-22. oldal
Ciklusok: Foreach ciklus (adatlistákhoz, tömbökhöz): foreach (típus elemnév in adatlista) utasítás; Például: string[] tömb = {”egy”, ”kettő”, ”három”}; //Tömb létrehozása, ezt még nem tanultuk.. foreach (string adat in tömb) { Console.WriteLine(adat); } C# könyv 19-22. oldal
For ciklus: private void button1_Click(object sender, EventArgs e) { int ig = Convert.ToInt32(textBox1.Text); label1.Text = ""; for (int i = 1; i < ig; i++) if (i%3 == 0) label1.Text += " " + i; }
Programozási feladat megoldása Készítsen programot, ami felhasználói döntés alapján eldönti, hogy négyzet-, téglalap, vagy köralapú hasábbal dolgozzon, majd a döntésnek megfelelően bekéri 2 hasáb térfogatszámításhoz szükséges adatait. A két hasáb magassága legyen megegyező, az első hasáb alapja legyen kisebb, mint a másodiké. Ezt ellenőrizze is a program. Ezután az első hasábot a 3/4-éig töltjük folyadékkal, majd elkezdjük áttölteni az első hasábból a folyadékot a másodikba. Határozza meg a program, hogy mekkora lesz az egyes hasábokban lévő folyadék térfogata, amikor a két hasábban egyenlő magas lesz a folyadékszint, és jelenítse meg ezt a képernyőn.
? ? ? ? Talap adatok Talap adatok Talap adatok Kiíratás Kiíratás
? ? ? If(…) IF WHILE Convert.ToDouble() ? Talap adatok .visible = … IF Label1.Text = ”…”; Kiíratás ? ? Talap adatok .visible = … MessageBox.Show(”…”) IF Convert.ToDouble() WHILE Label1.Text = ”…”; ? Kiíratás Talap adatok .visible = … MessageBox.Show(”…”) Convert.ToDouble() IF WHILE Label1.Text = ”…”; ? Kiíratás Talap adatok .visible = … MessageBox.Show(”…”)
Intervallum-felező Otthoni feladat Gyökkereső matematikai módszer Ha egy függvénynek x1 és x2 között biztosan van gyöke, akkor ez az eljárás alkalmas annak megtalálására. Gyök: f(x) = 0, => előjelváltás történik
Intervallum-felező 1. lépés: Megkeresem az intervallum felét: x0 2. lépés: Megvizsgálom, hogy történik-e előjelváltás. 𝑥 1 = 𝑥 0 𝒇 𝒙 𝟏 ∙𝒇 𝒙 𝟎 <𝟎 −𝒂 ∙−𝒃= +𝒄 +𝒂 ∙ +𝒃= +𝒄 −𝒂 ∙ +𝒃=−𝒄 +𝒂 ∙−𝒃=−𝒄 𝑥 2 = 𝑥 0 3. lépés: Ismétlés, a megfelelő közelítés eléréséig
Felhasznált irodalom http://www.mogi.bme.hu/letoltes/ALKALMAZOTT%20INFORMATIKAI%20TÁRGYAK/INFORMATIKAI%20RENDSZEREK%202015/C%23.pdf http://www.mogi.bme.hu/letoltes/ALKALMAZOTT%20INFORMATIKAI%20TÁRGYAK/INFORMATIKAI%20RENDSZEREK%202015/C_%20programozás%20lépésről%20lépésre%20-%20Reiter%20István%20(frissitett%20tartalommal%202012.10.15).pdf Dr. Tamás Péter óravázlatai
Köszönöm a megtisztelő figyelmet!