2020.11.02. Összefoglalás: ismétlés, rendszerezés

Házi feladat bepótolni a házit, akinek kell.

További házi feladat a lemaradásodat pótolni, ha van ilyen. Még a héten megírjuk a gyakorlati tz-t. 

Ezt a feladatsort itt folytatjuk.

Gyakorló feladatsor: ezt a feladatsort másold a programba:

Összefoglaló feladatsor

Ha bármikor enterrel lehet továbbmenni, írd ki a felhasználónak.

Ha bármit ki kell írni, mindig magyarázó szöveggel írd ki.

Console.WriteLine("\n1. feladat\n");

Tedd fel a felhasználónak ezt a kérdést:

Melyik az a négyszög, amelynek egyenlőek az oldalai és 90 fokosak a szögei?

A kurzor a kérdés mögött villogjon.

((Segítség: a válasz a négyzet.))

A választ tárold egy megfelelő típusú változóban, majd írd ki betűnként a képernyőre úgy, hogy egy szónak látszódjon. (A gy betű természetesen két karakternek számít.) Használd az indexeket.

Console.WriteLine("\n2. feladat\n ");

Kérd be egy négyzet oldalának a hosszát, és tárold byte típusban.

Számold ki és írd ki a négyzet területét (a*a), és kerületét (4*a)

Console.WriteLine("\n3. feladat\n");

Rajzolj ki egy tiszta, kék képernyőre egy kicsi piros négyzetet tetszőleges helyre, de ne a képernyő bal felső sarkába.

Console.WriteLine("\n4. feladat\n");

Állítsd át a színeket egy választott betű-, és háttérszínre.

Egy tiszta képernyőn tedd fel a felhasználónak ezt a kérdést:

Melyik az a 6 oldalú test, amelynek minden oldala egy négyzet? Írd be betűnként!

(Segítség: a válasz a kocka. Tehát 5 karaktert kell bekérned.)

A betűnként bekért választ végül tárold le egyetlen megfelelő típusú változóban, majd írd ki a tartalmát.

Console.WriteLine("\n5. feladat\n");

Add értékül egy byte típusú változónak programból a következő értéket: 5. (Ne kérd be.)

Deklarálj egy aOldal nevű, double típusú változót, aminek add értékül a bekért értéket átkonvertálva double típusúvá.

Számold ki a kocka térfogatát az aOldal segítségével (aOldal*aOldal*aOldal). Tárold az eredményt egy double típusú változóban.

Írd ki a képernyőre az eredményt.

Console.WriteLine("\n6. feladat\n");

Kérd be egy téglalap két oldalának hosszát, és tárold int típusú változóban.

Számold ki és írd ki a téglalap területét (a*b), és kerületét (2*(a + b))

Állítsd vissza az eredeti színeket egy paranccsal, majd töröld le a képernyőt.

Console.WriteLine("\n7. feladat\n");

Írd ki a képernyőre a pí (3,14) nagy pontosságú értékét a következő beépített érték segítségével:

Console.WriteLine(Math.PI);

Kérd be double típusú változóba egy kör sugarát.

Számold ki a kör területét a következő képlet segítségével:

sugár a négyzeten

Számold ki a kör kerületét a következő képlet segítségével:

2* sugár * Math.PI

Mindkét eredményt írd ki.

Töröld le a képernyőt.

Console.WriteLine("\n8. feladat\n");

Programból adj értéket két double típusú változónak: két tetszőleges pozitív tört számot (ne kérd be). A változók neve legyen: A és B

Írd ki a két szám szorzatát,

majd a két szám különbségét.

Emelj két sort.

Console.WriteLine("\n9. feladat\n");

Számold ki a következő két számítást, és az eredményt tárold változóban.

A*B a négyzeten

négyzetgyök B-ből vond ki a következőt:  A az ötödiken

Írd ki a képleteket és a kiszámított eredményeket is.

Emelj két sort.

Console.WriteLine("\n10. feladat\n");

Számold ki a következő három számítást, és az eredményt tárolás nélkül írd ki.

B abszolútértékéből vond ki A kétszeres szorzatát

A abszolútértékének négyzetgyöke

A abszolútértékének négyzete 

Console.WriteLine("\n11. feladat:Csillaghullás\n");

Írd a program elejére a következőt:

using System.Threading;

Állíts be fekete háttéren sárga betűszínt. Később ezt variálhatod.

Töröld le a képernyőt.

Írj ki az 1. sorba tetszőleges számú (max. 80) csillagot WriteLine-nal

Írd be a következőt: Thread.Sleep(200); //ez várni fog 200 ezredmásodpercig

Később ezt gyorsíthatod.

Töröld le a képernyőt, ehhez ne kelljen entert nyomni.

Tedd a kurzort egy sorral lejjebb:

Console.SetCursorPosition(0,1);

//első paraméter: a karakter pozíciója az adott sorban

//második paraméter: hányadik sorban vagyunk

Ezeket a sorokat ismételd úgy, hogy a második paramétert mindig növeled 1-gyel.

Egy teljes képernyő becsillagozásához 25-ször kell kiírni :)

Aki tudja, oldja meg ciklussal :)

Console.WriteLine("\n12. feladat\n");

Írd ki: A kilépéshez nyomjon Entert!

Enter megnyomása után érjen véget a program.

2020.10.22. Programozás puska 2.0

A szünetet követő héten gyakorlati számonkérés lesz. 

Segítség a tanuláshoz:

  • argumentum szó másik jelentése: paraméter
  • SHIFT-F5: a futó program megszakítása
  • F5: fordítás és futtatás
  • F6: fordítás
  • CTRL-E-F: a kód helyreigazítása
  • A billentyűzet segítségével begépelt értékek, amit a konzol ablakból beolvasunk, mind kivétel nélkül string típusúak. Ha nem ilyen típusként akarjuk őket használni, konvertálni kell őket. Ha string-ként akarjuk őket használni, TILOS konvertálni.
  • Ha a dupla idézőjelet a szövegben ki akarom írni, mindenhova \ jelet kell elé beszúrni.
  • A \n soremelést helyez el a kiírt szöveg belsejében.

utasítás

értelmezés

Console.WriteLine();

üres sor létrehozása, a kurzor a következő sorban lesz

Console.WriteLine("Ide szöveget írok.");

szöveg kiírása, a kurzor a következő sorban lesz

Console.Write("Ide szöveget írok.");

szöveg kiírása, a kurzor ugyanabban a sorban marad

Console.ReadLine();

várakoztatás egy Enter lenyomására

string nev;

szöveg típusú változó definiálása (változó nevének és típusának megadása, hely lefoglalása a memóriában), nem adtunk neki kezdőértéket

string nev = "";

szöveg típusú változó definiálása ésértékadása („legyen egyenlő egy üres karakterlánccal”)

string osztaly = "";

osztaly= "9.a";

szöveg típusú változó definiálása és értékadása külön utasításban

Console.Write("Kérem a neved: ");

nev = Console.ReadLine();

1. adatbekérés kiírása a felhasználónak

2. adatbekérés változóba (a változót fentebb definiálni kellett)

Console.WriteLine(nev);

nev változó tartalmának kiírása (lehet bármilyen típusú)

Console.Beep();

hangjelzés

Console.Beep(500, 200);

hangjelzés, megadjuk a hangmagasságot és az időtartamot

Console.Title = "Ez az én programom";

a program ablak címsorába kerülő szöveg

Console.BackgroundColor = ConsoleColor.Blue;

a betű háttérszínének állítása

Console.ForegroundColor = ConsoleColor.Cyan;

a betű színének állítása

Console.Clear();

az aktuális háttérszínnel letörli a képernyőt

Console.ResetColor();

visszaállítja az eredeti előtér-, és háttérszínt

string jegy1 = Console.ReadLine();

a jegy1 nevű string (szöveges) típusú   változóba beolvasunk a billentyűzetről

int jegyEgy = Convert.ToInt32(jegy1);

1. a jegy1 string típusú változó tartalmát átkonvertáljuk int-té (egész   típusúvá)

2. a jegyEgy nevű int (egész szám) típusú változóba beletesszük az átkonvertált értéket

string jegy2 = Console.ReadLine();

lásd az előzőekben

int jegyKetto = Convert.ToInt32(jegy2);

lásd az előzőekben

int osszegUj = jegyEgy + jegyKetto;

1. a két int típusú változó tartalmát összeadjuk

2. elhelyezzük egy új int típusú osszegUj nevű változóban

Console.Write("Hány barátot szereztél az első héten? :");

kérdés kiírása

byte barat1 =Convert.ToByte(Console.ReadLine());

1. a válasz beolvasása a billentyűzetről (string-ként)

2. a beolvasott (szöveges) választ átalakítjuk byte (szám: 0-255) típusúvá

3. a byte típusú értéket elhelyezzük egy új, byte típusú barat1 nevű változóban

Console.Write("Hány új barátot szereztél a második héten? :");

lásd az előzőekben

byte barat2 =Convert.ToByte(Console.ReadLine());

lásd az előzőekben

Console.WriteLine("Összesen tehát {0} új barátot szereztél.", barat1 + barat2);

kiírunk egy szöveget, melynek belsejében a {0} helyén kiírjuk kettő byte típusú érték összegét

double elso = 10.5; 

double masodik = 7.25;

double típus (64 bites tört szám)

pontot kell írni a programban a tizedesvessző helyére

            double tortosszeg = elso + masodik;

            double tortkivonas = elso - masodik;

            double tortosztas = elso / masodik;

            double tortszorzas = elso * masodik;

alapműveletek tört számokkal

            Console.WriteLine("Összeadás: {0}  Kivonás (első - második) {1}  Osztás (első / második): {2}  Szorzás {3}", tortosszeg, tortkivonas,   tortosztas, tortszorzas);

4 változó értékét írjuk ki egy kiírásban;

a vessző után írt változók itt paraméterek (argumentumok), melyeket a Console.WriteLine() metódusnak meg kell adni, ha a {0}, stb. megoldást használjuk

az argumentumok közül az elsőt nullával jelezzük, és így tovább sorban

Console.Write("Kérem az első tört számot!  : "); 

double ujegy= Convert.ToDouble(Console.ReadLine());

tört szám bekérése a billentyűzetről:

a felhasználó vesszővel adja meg;

ezt is át kell konvertálni

Console.Write("Hányan voltak a hétvégi koncerten?: ");

kérdés kiírása

int fo = Convert.ToInt32(Console.ReadLine());

1. a válasz beolvasása a billentyűzetről (string-ként)

2. a beolvasott (szöveges) választ átalakítjuk int (szám) típusúvá

3. az int típusú értéket elhelyezzük egy új, int típusú fo nevű változóban

double cola = fo * 0.6;

1. megszorozzuk a fo változó tartalmát egy tört értékkel (forráskódban: 0.6, konzolos képernyőn: 0,6)

2. elhelyezzük az értéket egy double típusú, cola nevű változóban

Console.Write("Ki koncertezett a hét végén a városban?: ");

kérdés kiírása

string eloado = Console.ReadLine();

az eloado nevű string (szöveges) típusú változóba beolvasunk a billentyűzetről

Console.WriteLine("Biztos jól írtad be? Betűzd! (8 betű, ha kell, szóközökkel pótold.) ");

kérés kiírása

string eloado1 = "";

szöveg típusú változó definiálása ésértékadása („legyen egyenlő egy üres karakterlánccal”)

Console.Write("1. betű: ");

kérés kiírása, kurzor a kiírás után marad

char _1 = Convert.ToChar(Console.ReadLine());

1. a válasz beolvasása a billentyűzetről (string-ként)

2. a beolvasott (szöveges) választ átalakítjuk char (karakter) típusúvá

3. a karakter típusú értéket elhelyezzük egy új, char típusú _1 nevű változóban

eloado1 = eloado1 + _1;

1. a string típusú, alapértelmezetten üres eloado1 nevű változóhoz hozzáadjuk az _1 nevű, karakter típusú változó tartalmát, ezáltal az eredménystring egyetlen betű lesz, mégpedig az _1 tartalma

 

eloado1 = eloado1 + _2;

ehhez hozzáadjuk az _2 tartalmát is, mostmár két karakteres a string

char elsoSzam = '1';

char betu = 'a';

char típus esetén sima aposztrófot használunk

string kod1 = String.Empty;

a változónak kezdőértéket ad, méghozzá egy üres karakterláncot

            string szo = "ipiapacs";

            Console.WriteLine(szo[0]);

            Console.WriteLine(szo[1]);

            Console.WriteLine(szo[2]);

            Console.WriteLine(szo[3]);

            Console.WriteLine(szo[4]);

            Console.WriteLine(szo[5]);

            Console.WriteLine(szo[6]);

            Console.WriteLine(szo[7]);

 

A string egy karakterlánc, azaz "karakterek láncolata". Minden karaktert egy sorszámmal érhetünk el, ezt a számot indexnek nevezzük. Az indexelés nullától kezdődik.

A string egyes karaktereire tehát hivatkozhatunk úgy, ha megadjuk a string nevét és mögötte szögletes zárójelpárban az indexét.

 

string szo = "szünet";

            Console.WriteLine(szo.Length);

kiírja, hány karakter hosszú a szó

double gyok1 = Math.Sqrt(szam1);

a szam1 négyzetgyöke

 

double negyzet1 = Math.Pow(szam1, 2);

a szam1 második hatványa, vagyis a négyzete

 

double hatvany1 = Math.Pow(szam1, 5);

szam1 az otodiken; a második paraméter adja meg, hogy hanyadikra emeljük

double abszolutErtek1 = Math.Abs(szam1);

a szam1 abszolútértéke

Console.WriteLine("A {0} négyzetgyöke: {1},\n a négyzete: {2},\n az ötödik hatványa: {3},\n abszolútértéke: {4}\n", szam1, gyok1, negyzet1, hatvany1, abszolutErtek1);

 

a \n soremelést helyez el a szöveg belsejében

2020.10.21.-22. Gyakorlás - Math osztály - Házi feladat befejezni


using System;

 

namespace gyak102410b

{

    class Program

    {

        static void Main(string[] args)

        {         

            double szam1 = 2;

            //A következőkben a MATH osztály metódusait használjuk.

            //A Math után a . (pont) operátor segítségével választjuk ki a megfelelő metódust.

            //A metódusoknak paramétereket kell beírni a zárójelpárba.

            double gyok1 = Math.Sqrt(szam1); //a szam1 négyzetgyöke

            double negyzet1 = Math.Pow(szam1, 2); //a szam1 második hatványa, vagyis a négyzete

            double hatvany1 = Math.Pow(szam1, 5);//szam1 az otodiken;

            //a második paraméter adja meg, hogy hanyadikra emeljük

            double abszolutErtek1 = Math.Abs(szam1); //a szam1 abszolútértéke

            //A következő kiírásban a \n soremelést helyez el a szöveg belsejében:

            Console.WriteLine("A {0} négyzetgyöke: {1},\n a négyzete: {2},\n az ötödik hatványa: {3},\n abszolútértéke: {4}\n", szam1, gyok1, negyzet1, hatvany1, abszolutErtek1);

 

            //Kérj be egy egész számot az "A" nevű változóba.

            //Kérj be egy egész számot a "B" nevű változóba.

            //A további feladatokban ezekkel dolgozz.

            Console.Write("Kérek egy egész számot: ");

            double A = Convert.ToDouble(Console.ReadLine());

            Console.Write("Kérek még egy egész számot: ");

            double B = Convert.ToDouble(Console.ReadLine());

 

            //Matekból azt tanultad, hogy (A-B)*(A+B) egyenlő A négyzete - B négyzete

            //Igazold ezt. Számold ki külön a bal oldalt és külön a jobb oldalt.

            //Írasd ki az eredményt, és döntsd el (fejben), hogy a kettő egyenlő-e.

            //(Aki tudja, egyágú szelekcióval eldöntheti, hogy igaz-e.)

            //Megoldás:

            double szamitas1 = (A - B) * (A + B);

            double szamitas2 = Math.Pow(A, 2) - Math.Pow(B, 2);

            Console.WriteLine("Első eredmény: {0}, második eredmény: {1} ", szamitas1, szamitas2);

 

            //Oldd meg a további feladatokat:

 

            //Igazold, hogy négyzetgyök A a négyzeten egyenlő A abszolútértékével.

 

            //Igazold, hogy (négyzetgyök A-1) * (négyzetgyök A+1) egyenlő A-1-gyel

 

            //Igazold, hogy (2*négyzetgyök A + 1) * (2*négyzetgyök A - 1) egyenlő 4*A-1 -gyel

 

            //Igazold, hogy (A+B) a négyzeten egyenlő A a négyzeten+ 2*A*B + B a négyzeten.

 

            //Írd ki a következő számítások eredményét, majd

            //ellenőrizd őket a Windows számológépével.

            // 5 / négyzetgyök 7 + négyzetgyök 2

            // 3 / négyzetgyök 7

            // 7 / 3 * négyzetgyök 5

            // 34 / négyzetgyök 3 - 2 * négyzetgyök 5

 

            Console.ReadLine();

        }

    }

}


F.Szabolcs megoldása:

double szam1 = 2;

 

            //A következőkben a MATH osztály metódusait használjuk.

 

            //A Math után a . (pont) operátor segítségével választjuk ki a megfelelő metódust.

 

            //A metódusoknak paramétereket kell beírni a zárójelpárba.

 

            double gyok1 = Math.Sqrt(szam1); //a szam1 négyzetgyöke

 

            double negyzet1 = Math.Pow(szam1, 2); //a szam1 második hatványa, vagyis a négyzete

 

            double hatvany1 = Math.Pow(szam1, 5);//szam1 az otodiken;

 

            //a második paraméter adja meg, hogy hanyadikra emeljük

 

            double AbszolutErtek1 = Math.Abs(szam1); //a szam1 abszolútértéke

 

            //A következő kiírásban a \n soremelést helyez el a szöveg belsejében:

 

            Console.WriteLine("A {0} négyzetgyöke: {1},\n a négyzete: {2},\n az ötödik hatványa: {3},\n abszolútértéke: {4}\n", szam1, gyok1, negyzet1, hatvany1, AbszolutErtek1);

 

 

 

            //Kérj be egy egész számot az "A" nevű változóba.

 

            //Kérj be egy egész számot a "B" nevű változóba.

 

            //A további feladatokban ezekkel dolgozz.

 

            Console.Write("Kérek egy egész számot: ");

 

            double A = Convert.ToDouble(Console.ReadLine());

 

            Console.Write("Kérek még egy egész számot: ");

 

            double B = Convert.ToDouble(Console.ReadLine());

 

 

 

            //Matekból azt tanultad, hogy (A-B)*(A+B) egyenlő A négyzete - B négyzete

 

            //Igazold ezt. Számold ki külön a bal oldalt és külön a jobb oldalt.

 

            //Írasd ki az eredményt, és döntsd el (fejben), hogy a kettő egyenlő-e.

 

            //(Aki tudja, egyágú szelekcióval eldöntheti, hogy igaz-e.)

 

            //Megoldás:

 

            double szamitas1 = (A - B) * (A + B);

 

            double szamitas2 = Math.Pow(A, 2) - Math.Pow(B, 2);

 

            Console.WriteLine("Első eredmény: {0}, második eredmény: {1} ", szamitas1, szamitas2);

 

 

 

            //Oldd meg a további feladatokat:

 

 

 

            //Igazold, hogy négyzetgyök A a négyzeten egyenlő A abszolútértékével.

            double negyzetgyokANegyzet = Math.Pow(Math.Sqrt(A), 2);

            double AbszolutErtekA = Math.Abs(A);

            Console.WriteLine("Négyzetgyök A a négyzeten: {0}, A abszolútértéke: {1}", negyzetgyokANegyzet, AbszolutErtekA);

 

 

 

            //Igazold, hogy (négyzetgyök A-1) * (négyzetgyök A+1) egyenlő A-1-gyel

            double negyzetgyökAMinusz1 = (Math.Sqrt(A) - 1) * (Math.Sqrt(A) + 1);

            double negyzetgyökAUtolso = A - 1;

            Console.WriteLine("(négyzetgyök A-1) * (négyzetgyök A+1): {0}, A-1: {1}", negyzetgyökAMinusz1, negyzetgyökAUtolso);

 

            //Igazold, hogy (2*négyzetgyök A + 1) * (2*négyzetgyök A - 1) egyenlő 4*A-1 -gyel

            double szamitas3 = (2 * Math.Sqrt(A) + 1) * (2 * Math.Sqrt(A) - 1);

            double szamitas4 = 4 * A - 1;

            Console.WriteLine("(2*négyzetgyök A + 1) * (2*négyzetgyök A - 1): {0}, 4*A-4: {1}", szamitas3, szamitas4);

 

 

            //Igazold, hogy (A+B) a négyzeten egyenlő A a négyzeten+ 2*A*B + B a négyzeten.

            double szamitas5 = Math.Pow(A + B, 2);

            double szamitas6 = Math.Pow(A, 2) + 2 * A * B + Math.Pow(B, 2);

            Console.WriteLine("A+B^2: {0}, A^2 + 2*A*B + B^2: {1}", szamitas5, szamitas6);

 

 

            //Írd ki a következő számítások eredményét, majd

 

            //ellenőrizd őket a Windows számológépével.

 

            // 5 / négyzetgyök 7 + négyzetgyök 2

            double szamitas7 = 5 / Math.Sqrt(7) + Math.Sqrt(2);

            Console.WriteLine("5 / négyzetgyök 7 + négyzetgyök 2: {0}", szamitas7);

 

            // 3 / négyzetgyök 7

            double szamitas8 = 3 / Math.Sqrt(7);

            Console.WriteLine("3 / négyzetgyök 7: {0}", szamitas8);

 

            // 7 / 3 * négyzetgyök 5

            double szamitas9 = 7 / 3 * Math.Sqrt(5);

            Console.WriteLine("7 / 3 * négyzetgyök 5. {0}", szamitas9);

            // 34 / négyzetgyök 3 - 2 * négyzetgyök 5

            double szamitas10 = 34 / Math.Sqrt(3) - 2 * Math.Sqrt(5);

            Console.WriteLine("34 / négyzetgyök 3 - 2 * négyzetgyök 5: {0}", szamitas10);

 

 

            Console.ReadLine();


2023.04.26. Javító feladatsor