2020.11.18. Változók értékadása!

             int szam = 0;

            Console.WriteLine(szam);//0

            Console.WriteLine(szam + 2); //2

            Console.WriteLine("szam+2"); //szam+2

            Console.WriteLine("Eredmény: {0}", szam + 2);//2

            Console.WriteLine(szam);//0

            szam = szam + 2; //a változó értéke akkor változik meg, ha értékadás történt

            Console.WriteLine(szam);//2

 

            ///////////////////////////////////////////////////////////////////////

            //de:

            szam = 0;

            Console.WriteLine("Eredmény: {0}", szam = szam + 2);//2, itt ugyanis szabályos értékadás történt

            Console.WriteLine(szam); //megmaradt az értéke

            //Ilyet órán lehetőleg nem használunk kezdőként, de aki tudja, mit csinál, az használhatja.

            //Vagyis aki nem akar belekavarodni, az ne használjon ilyet.

            ///////////////////////////////////////////////////////////////////////

 

            string szo = "C#";

            Console.WriteLine(szo + " nyelv"); //C# nyelv

            Console.WriteLine("Kiegészítve: {0}", szo + " nyelv"); //C# nyelv

            Console.WriteLine(szo); //C#

            szo = szo + " nyelv"; //a változó értéke akkor változik meg, ha értékadás történt

            Console.WriteLine(szo); //C# nyelv

 

            double tort = 0;

            Console.WriteLine(tort); //0

            tort = 5;

            Console.WriteLine("A tört szám osztva kettővel: {0}", tort/2); //2,5

            Console.WriteLine(tort); //5

            tort = tort / 2; //a változó értéke akkor változik meg, ha értékadás történt

            Console.WriteLine(tort); //2,5

 

            bool log = true;

            Console.WriteLine(!log); //false

            log = !log; //a változó értéke akkor változik meg, ha értékadás történt

            Console.WriteLine(log); //false

 

 

 

            Console.ReadLine();

2020.11.18. Szövegfeldolgozás - eddigi típusok összefoglalása

              //Ezzel a programmal a szövegértési képességet mérjük.

            //Feladat:

            //- Tagoltan írjunk ki a képernyőre egy tudományos szöveget.

            //- Tegyünk fel kérdéseket a szöveg tartalmára vonatkozóan.

            //Ügyeljünk, hogy minden ismert típus szerepeljen benne.

            //- Írjuk ki a képernyőre, mit tudtunk meg. Ehhez használjunk

            //egy paraméteres kiírási lehetőséget.

 

            Console.WriteLine("Komoly áttörést ért el a DNS-alapú adattárolásban" + "\n" + 

            "a Harvard Egyetem biomérnöki intézete, ahol George Church" + "\n" +             //új sor ("\n")

            "és csapata egy 53 400 szavas könyvet, 11 képet" + "\n" +                        //és szövegek összefűzése (+)

            "és egy JavaScript programot – összesen 5,27 millió bit adatot" + "\n" +

            "– kódoltak bele egy DNS-be." + "\n" +

            "A DNS az egyik legstabilabb és legnagyobb adatsűrűségű" + "\n" +

            "információtároló, ami elméletben két bit adatot tud tárolni" + "\n" +

            "nukleotidonként (ez a DNS szerkezeti egysége)." + "\n" +

            "Egyetlen gramm DNS-ben 455 exabájt adat tárolható," + "\n" +

            "ami hozzávetőlegesen 100 milliárd dvd kapacitásának felel meg" + "\n" +

            "és 4-5-ször nagyobb adatsűrűséget tesz lehetővé," + "\n" +

            "mint például a flash memória. Emellett a DNS-be írt" + "\n" +

            "információknak nagy előnye, hogy több száz évvel később is" + "\n" +

            "olvashatóak maradnak, miközben egy dvd élettartama" + "\n" +

            "legfeljebb néhány évtized.");

 

            //Másik módszerrel:

Console.WriteLine("Komoly áttörést ért el a DNS-alapú adattárolásban \na Harvard Egyetem biomérnöki intézete, ahol George Church \nés csapata egy 53 400 szavas könyvet, 11 képet\nés egy JavaScript programot – összesen 5,27 millió bit adatot\n– kódoltak bele egy DNS-be.\nA DNS az egyik legstabilabb és legnagyobb adatsűrűségű\ninformációtároló, ami elméletben két bit adatot tud tárolni\nnukleotidonként (ez a DNS szerkezeti egysége).\nEgyetlen gramm DNS-ben 455 exabájt adat tárolható,\nami hozzávetőlegesen 100 milliárd dvd kapacitásának felel meg\nés 4-5-ször nagyobb adatsűrűséget tesz lehetővé,\nmint például a flash memória. Emellett a DNS-be írt\ninformációknak nagy előnye, hogy több száz évvel később is\nolvashatóak maradnak, miközben egy dvd élettartama\nlegfeljebb néhány évtized."); 

 

            Console.WriteLine();

            Console.Write("Kinek a nevéhez fűződik a felfedezés?: ");

            string tudos = Console.ReadLine();

 

            Console.Write("Mibe kódolták az adatokat a Harvardon?: ");

            char dns1 = Convert.ToChar(Console.Read()); //nincs soremelés

            char dns2 = Convert.ToChar(Console.Read());

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

            string dns = "";

//vagy: dns=String.Empty;

            dns = dns + dns1 + dns2 + dns3;

 

            Console.Write("Hány könyvet kódoltak a DNS-be?: ");

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

            Console.Write("Hány képet kódoltak a DNS-be?: ");

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

            Console.Write("Hány programot kódoltak a DNS-be?: ");

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

            Console.Write("Összesen hány millió bit adatot kódoltak a DNS-be?: ");

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

            Console.Write("A DNS nukleotidja elméletben két bit adatot tud tárolni? (true/false): ");

            bool kapacitas = Convert.ToBoolean(Console.ReadLine());

 

            Console.WriteLine();

 

            Console.WriteLine("A következőket válaszoltad: ");

            Console.WriteLine("A tudós, akinek a nevéhez fűződik a felfedezés: {0}", tudos);

            Console.WriteLine("A Harvardon ebbe az anyagba kódolták az adatokat: {0}", dns);

            Console.WriteLine("Összesen ennyi könyvet, képet és programot kódoltak a DNS-be: {0}", konyv + kep + program);

            Console.WriteLine("Összesen ennyi millió bit adatot kódoltak a DNS-be: {0}", bit);

            Console.WriteLine("A DNS nukleotidja elméletben két bit adatot tud tárolni?: {0}", kapacitas);

 

            Console.ReadLine();

2020.11.16. Dátum-idő típus

Akinek nincs kész a logikai műveletes házija, pótolja.

Mai első anyag: Dátum-idő típus

 Mintaprogram:

            DateTime minDate = DateTime.MinValue; //a lehetséges legkisebb dátum

            Console.WriteLine("minimális dátum: {0}", minDate);

            DateTime maiDatum = DateTime.Now; //a mai dátum, a futtatás perce, másodperce, ezredmásodperce

            Console.WriteLine("mai dátum, idő: {0}", maiDatum);

            Console.Write("Tegnapi dátum (év.hó.nap): ");

            DateTime tegnapiDatum = Convert.ToDateTime(Console.ReadLine()); //ha csak dátumot írsz be, nulla óra nulla perctől számol

 

            Console.Write("Kérem a születési dátumod (év.hó.nap): ");//a végére lehet, de nem kell pontot tenni

            DateTime szulDatum = Convert.ToDateTime(Console.ReadLine());

            Console.WriteLine("Születési dátum: {0}", szulDatum);

            Console.Write("Hány óra van? (óra:perc:másodperc):");

            DateTime ido = Convert.ToDateTime(Console.ReadLine());

            Console.WriteLine("ido: {0}", ido);

 

            string maiDatumIdo = DateTime.Now.ToString("yyyyMMdd_HHmm");

            Console.WriteLine("Jelenlegi dátum és idő szövegesen: {0}", maiDatumIdo);

 

            int ev = 2020;

            int honap = 01;

            int nap = 01;

            int ora = 15;

            int perc = 20;

            int masodPerc = 23;

            DateTime dt = new DateTime(ev, honap, nap, ora, perc, masodPerc);

            Console.WriteLine("Dátum és idő 6 változóból: {0}", dt);

            DateTime d = new DateTime(ev, honap, nap);

            Console.WriteLine("Ebből a dátum: {0} - mint látszik, kiírja az időt is", d); //kiírja az időt is

 

            TimeSpan elteltIdo = maiDatum - tegnapiDatum;   //a mai nap-idő és a tegnapi nap-idő között eltelt idő

            Console.WriteLine("Eltelt idő a mai és a tegnapi nap között: {0}", elteltIdo);

            int elteltNap = elteltIdo.Days;

            Console.WriteLine("Eltelt napok a mai és a tegnapi nap között: {0}", elteltNap);

 

            elteltIdo = maiDatum - szulDatum;   //a mai nap-idő és a születési nap-idő között eltelt idő

            Console.WriteLine("Eltelt idő a születésed és a mai nap között: {0}", elteltIdo);

 

            elteltNap = elteltIdo.Days;

            int elteltOra = elteltIdo.Hours;

            int elteltPerc = elteltIdo.Minutes;

            int elteltMasodPerc = elteltIdo.Seconds;

            int elteltEzredMasodPerc = elteltIdo.Milliseconds;

 

            Console.WriteLine("Eltelt napok a születésed és a mai nap között: {0}", elteltNap);

            Console.WriteLine("Ezen felül az eltelt órák: {0}", elteltOra);

            Console.WriteLine("Ezen felül az eltelt percek: {0}", elteltPerc);

            Console.WriteLine("Ezen felül az eltelt másodpercek: {0}", elteltMasodPerc);

            Console.WriteLine("Ezen felül az eltelt ezredmásodpercek: {0}", elteltEzredMasodPerc);

 

            Console.WriteLine("Ennyi éves vagy: {0}", elteltNap / 365);

 

            Console.ReadLine();

2020.11.13. Logikai műveletek 2. Igazságtáblák

 

! (NOT, tagadás)

A

!A

false

true

true

false

&& (ÉS)

A

B

A && B

true

true

true

true

false

false

false

true

false

false

false

false

|| (VAGY)

A

B

A || B

true

true

true

true

false

true

false

true

true

false

false

false


Órai munka: 

            //Hozz létre logikai változókat (min. 4-et)

            //és végezz közöttük műveleteket

            //önállóan az órai minta alapján.

Házi feladat befejezni.


2020.11.12. Logikai típus

Ezt a programot együtt írtuk. 

Házi feladat újra átnézni, megérteni.

using System;

 

namespace logikaiTípus

{

    class Program

    {

        static void Main(string[] args)

        {

            //logikai típus

            //az értéke true/false

 

            bool logikai1 = true;

            bool logikai2 = false;

 

            //logikai1 = false;

 

            Console.WriteLine(logikai1);

            Console.WriteLine(logikai2);

 

            bool eredmeny1 = !logikai1; //logikai tagadás művelet

            Console.WriteLine(eredmeny1); //hamis

            Console.WriteLine(!logikai2); //true

 

            bool eredmeny2 = logikai1 && logikai2; //logikai ÉS művelet

            bool eredmeny3 = logikai1 || logikai2; //logikai VAGY művelet

            Console.WriteLine(eredmeny2); //false

            Console.WriteLine(eredmeny3); //true

            logikai1 = false;

            logikai2 = true;

            bool eredmeny4 = logikai1 && logikai2; //logikai ÉS művelet

            bool eredmeny5 = logikai1 || logikai2; //logikai VAGY művelet

            Console.WriteLine(eredmeny4); //false

            Console.WriteLine(eredmeny5); //true

 

            Console.WriteLine((logikai1 && logikai2) || logikai1);

            Console.WriteLine(!logikai1 && logikai1);

 

            Console.WriteLine(2>3);

            Console.WriteLine(2==3); //egyenlő-e?

            Console.WriteLine(2<3 && 3<4); //igaz és igaz --> igaz

            Console.WriteLine(!(2 < 3 && 3 < 4)); //false

            Console.WriteLine(2 < 3 || 3 < 4); //igaz vagy igaz --> igaz

 

            Console.WriteLine();

 

            Console.ReadLine();

 

        }

    }

}

 

 

2023.04.26. Javító feladatsor