2022.02.25. Elmélet

 Előzőleg átvettük az Adattípusok témakört, meg kell tanulni hétfőre.

Ma az "Algoritmus fogalma, jellemzői. Értékadás. Vezérlőszerkezetek: szekvencia, szelekció, iteráció. Alprogramok: metódusok, függvények, paraméterek." témakörben a szekvenciáig jutottunk el.

A témakörökről e-mail értesítést fogsz kapni.

2022.02.23. Önvezető autók

 Önvezető autók

Napjainkban az önvezető autók egyre gyorsabban fejlődnek, több neves cég is fejleszt ilyeneket. Ebben a feladatban a rájuk vonatkozó adatokat kell feldolgoznia.

 Az adatokat a lenti keretben találja. Az állomány soronként tartalmazza az autók következő adatait egymástól pontosvesszővel elválasztva:

 - azonosító (gyártó és modellszám)

- teljesítmény (lóerő)

- tömeg (tonna)

- gyorsulás (hány másodperc alatt gyorsul 100 km/h-ra)

- a vezetőnek hányszor kellett beavatkozni a vezetésbe 10.000 km-en

 A fájlban 9 autó adatai vannak.

 

Tesla Model S P90D;760;2,20;3;3

Volvo XC90;889;2,90;4;14

Volkswagen GO989;1378;3,66;5;6

Audi Q525;772;2,40;2;3

Mercedes Benz898;739;2,20;3;9

Google Drive 18;752;2,55;4;11

Delphi Magic 428B;1194;3,00;3;4

Bosch Doom300;700;2,09;4;6

Nissan Cherry 100;725;3,1;3;7

 

Például a Tesla Model S P90D autó 760 lóerős teljesítményű, 2,2 tonna tömegű, 3 másodperc alatt gyorsul 100 km/órára és a 10.000 km-es tesztvezetésen 3-szor volt szükség humán beavatkozásra.

 1. Készítsen programot a következő feladatok megoldására, amelynek a forráskódját onvezeto néven mentse el.

A képernyőre írást igénylő részfeladatok megjelenítése előtt írja a képernyőre a feladat sorszámát!

2. Az adatokat olvassa be fájlból és tárolja el 5 listában.

3. Írja ki a képernyőre a leggyorsabb autó adatait. (Az a leggyorsabb, ami a legkevesebb idő alatt gyorsul 100-ra.) 

4. Írja ki a képernyőre a legkevésbé önálló autó azonosítóját. (Az a legkevésbé önálló, amelynél a legtöbbet kellett beavatkozni a vezetésbe.) 

6. Írja ki a képernyőre az autók átlag tömegét. 

7. Írja ki a képernyőre, és egy új fájlba autónként a következő adatokat szóközzel elválasztva: sorszám (a feldolgozás sorrendjében automatikusan generált), tömeg kg-ban. (1 tonna = 1000 kg).

2022.02.16.,18. Lista - gyakorlás

Ezzel készen vagyunk.

 Feladat: Gyümölcsök vitamintartalma

gyümölcs

B1 vitamin tartalom

C vitamin tartalom

alma

0,02

4

ananász

0,03

17

citrom

0,02

53

cseresznye

0,06

10

fekete áfonya

0,06

14

földieper

0,07

59

grapefruit

0,02

38

őszibarack

0,05

7

alma0,024

ananász0,0317

citrom0,0253

cseresznye0,0610

fekete áfonya0,0614

földieper0,0759

grapefruit0,0238

őszibarack0,057 


Ebben a táblázatban a gyümölcsök nevei mellett elsőként az szerepel, hogy hány mg B1 vitamint tartalmaznak, másodikként pedig az, hogy hány mg C vitamint tartalmaznak. A táblázatból készíts egy szöveges fájlt. Használj egy megfelelő elválasztó karaktert.

- Olvasd be a fájl tartalmát, majd írd ki a képernyőre.

- Írd ki annak a gyümölcsnek a nevét, amelyik a legtöbb C vitamint tartalmazza.

- A szöveges fájlt később ki szeretnénk egészíteni az összes gyümölcs adataival. Erre is felkészülve add meg a választ: benne van-e a fájlban az avokádó? Ha benne van, írd ki, hogy hol van. Ha nincs benne, írj hibaüzenetet. Ha megtaláltad az avokádót, ne keresd tovább, állj meg.

(Jó tanács: mivel most nincs benne, tesztelj egy másik gyümölcs nevével.)

- Átlagosan hány mg B1 vitamint tartalmaznak a fájlban található gyümölcsök? (Össze kell adni mindet és elosztani a darabszámmal.)

- Ezt az egyetlen értéket (az átlagot) írd ki egy új fájlba.


ALEX MEGOLDÁSA: MÉG ÁT KELL NÉZNI!

using System;
using System.IO;
using System.Collections.Generic;

namespace _2022._02._16_8.ora
{
    class Program
    {
        static List<string> nev = new List<string>();
        static List<double> b1 = new List<double>();
        static List<int> c = new List<int>();
       
        static void beolvas()

        {
            string[] atmenet;
            StreamReader sr = new StreamReader("gyumolcs.txt");
            int i = 0;
            while (!sr.EndOfStream)
            {
                atmenet = sr.ReadLine().Split(";");
                nev.Add(atmenet[0]);
                b1.Add(Convert.ToDouble(atmenet[1]));
                c.Add(Convert.ToInt32(atmenet[2]));
                i++;
            }
            sr.Close();
         }
        static void kiir()
        {
            int I = 0;
            while (I<nev.Count)
            {
                Console.WriteLine("{0} {1} {2}", nev[I], b1[I], c[I]);
                I++;
            }
           
        }
        static void max()
        {
            int max = c[0];

            for (int i = 0; i < c.Count; i++)

            {

                if (c[i] > max)

                {

                    max = c[i];

                }

            }

            Console.WriteLine("Ebbe van a legtobb c vitamin", max);
        }
        //-Ebben a táblázatban a gyümölcsök nevei mellett elsőként az szerepel, hogy hány mg B1 vitamint tartalmaznak, másodikként pedig az, hogy hány mg C vitamint tartalmaznak.
        //A táblázatból készíts egy szöveges fájlt.Használj egy megfelelő elválasztó karaktert.

        //- Olvasd be a fájl tartalmát, majd írd ki a képernyőre.

        //- Írd ki annak a gyümölcsnek a nevét, amelyik a legtöbb C vitamint tartalmazza.

        //- A szöveges fájlt később ki szeretnénk egészíteni az összes gyümölcs adataival.Erre is felkészülve add meg a választ: benne van-e a fájlban az avokádó? Ha benne van, írd ki, hogy hol van.Ha nincs benne, írj hibaüzenetet. Ha megtaláltad az avokádót, ne keresd tovább, állj meg.

        //(Jó tanács: mivel most nincs benne, tesztelj egy másik gyümölcs nevével.)

        //- Átlagosan hány mg B1 vitamint tartalmaznak a fájlban található gyümölcsök? (Össze kell adni mindet és elosztani a darabszámmal.)

        //- Ezt az egyetlen értéket(az átlagot) írd ki egy új fájlba.
        static void Main(string[] args)
        {
            beolvas();
            kiir();
            max();
            Console.ReadLine();
        }
    }
}


2022.02.16. Lista - bevezetés

  MINTAPROGRAM LISTA HASZNÁLATÁRA

using System;
using System.Collections.Generic;


namespace lista
{ //A lista egy dinamikus tömb, ami legfőképp abban nyilvánul meg, hogy nem kell megmondani előre, hány eleme legyen.
    class Program
    {
        static Random rnd = new Random();
        static List<int> veletlenLista = new List<int>(); //nem kell megadni a hosszát
        //Emlékeztetésképpen - ha tömb lenne, így nézne ki (ezt most nem használjuk semmire):
        //static int[] veletlenTomb = new int[90];  //itt el kéne dönteni, hány elem legyen

        static List<int> jegyekLista = new List<int>();
        static void veletlen()
        {
            for (int i = 0; i < 90; i++)
            {
                veletlenLista.Add(rnd.Next(-20, 41));  //.Add kell, ha hozzá akarunk tenni egy elemet a lista végére (első esetben is)
            }
        }
        static void kiiras()
        {
            for (int i = 0; i < veletlenLista.Count; i++) //.Count-ig megyünk, ha végig akarunk menni
            {
                Console.WriteLine(veletlenLista[i]); //a lista i-edik elemére ugyanúgy hivatkozunk, mint a tömbnél
            }
        }

        static void pozitivNegativ()
        {
            int poz = 0;
            int neg = 0;
            foreach (int x in veletlenLista) //a foreach ugyanúgy "magától" végigmegy
            {
                if (x < 0) neg++;
                if (x > 0) poz++;
            }

            if (neg > poz)
            {
                Console.WriteLine("Több a negatív szám.");
            }
            else
            {
                if (neg < poz)
                {
                    Console.WriteLine("Több a pozitív szám.");
                }
                else Console.WriteLine("Egyenlő a pozitív és a negatív szám.");
            }
        }
        static void adatbekeres()
        {
            for (int i = 0; i < 8; i++) //úgy döntöttünk itt és most, hogy 8 jegyet kérünk be
            {
                Console.Write("Kérem írja be a(z) {0}. tanuló jegyét:", i + 1);
                jegyekLista.Add(Convert.ToInt32(Console.ReadLine()));
            }
        }
        static void atlagSzamitas()
        {
            int sum = 0;
            for (int i = 0; i < jegyekLista.Count; i++)
            {
                sum += jegyekLista[i];
            }
            double atlag = (double)sum / jegyekLista.Count;
            Console.WriteLine("Átlaguk: {0}", atlag);
        }

        static void Main(string[] args)
        {
            Console.WriteLine("Adatfeltöltés");
            veletlen();
            Console.WriteLine("Kiírás");
            kiiras();
            Console.ReadLine();
            Console.WriteLine("Pozitív-negatív számlálás");
            pozitivNegativ();
            Console.ReadLine();
            Console.WriteLine("Feltöltés billentyűzetről");
            adatbekeres();
            Console.ReadLine();
            Console.WriteLine("Átlagszámítás");
            atlagSzamitas();
            Console.ReadLine();
        }

    }

}

2022.02.16. Gyakorlás

 A másik csoport feladatsorát befejeztük.


2022.02.11. Gyakorlás

 Javítottuk a dolgozatot és elkezdtük megoldani a másik csoport feladatát. 

A hiányzóknak házi feladat egy feladatsort végig megoldani.

A hiányzók jövő héten pótolnak.

számonkérés

 

C csoport

Italok energia- és fehérjetartalma 

ÜDÍTŐITALOK, GYÜMÖLCSITALOK(Adatok 100 grammra)

Energia kcal

Fehérje gramm

Gyümölcsital

41

0.1

Üdítőital

44

0.0

Ági Szamóca szörp

374

0.0

Coca-Cola

42

0.0

Coca-Cola Cherry

45

0.0

Coca-Cola Coke Zero

0

0.0

Coca-Cola Light

0

0.0

Coop Cola

30

0.0

Fanta Citrom

34

0.0

Hohes C 100%-os narancslé

43

0.7

Hohes C 100%-os narancslé gyümölcshússal

43

0.7

 

txt:

Gyümölcsital; 41; 0,1

Üdítőital; 44; 0,0

Ági Szamóca szörp; 374; 0,0

Coca-Cola; 42; 0,0

Coca-Cola Cherry; 45; 0,0

Coca-Cola Coke Zero; 0; 0,0

Coca-Cola Light; 0; 0,0

Coop Cola; 30; 0,0

Fanta Citrom; 34; 0,0

Hohes C 100%-os narancslé; 43; 0,7

Hohes C 100%-os narancslé gyümölcshússal; 43; 0,7

Ebben a táblázatban az üdítőitalok nevei mellett elsőként az szerepel, hogy mennyi az energiatartalmuk kcal-ban, másodikként pedig az, hogy hány gramm a fehérjetartalmuk.

- Olvasd be a fájl tartalmát, majd írd ki a képernyőre.

- Írd ki annak az italnak a nevét, amelyiknek a legnagyobb az energiatartalma.

- Rendezd növekvő sorba a fehérjetartalmat, majd írd ki az új sorrendet. A sorbarendezés során ne vesszen el az eredeti sorrend sem. A sorbarendezésre használhatod az Array.Sort() metódust.

- Keresd meg az első 0,7 gramm fehérjetartalmú italt. Ha van ilyen,írd ki a nevét. Ha van másik is (harmadik, stb.), annak is írd ki a nevét. Készítsd fel ezt a kódot arra, hogy más italok adataival is jól működjön. Ha pl. nincs ilyen érték, akkor adjon hibaüzenetet.

- Hány olyan ital van, amiben nincs fehérje?

- Miután megadtad a választ, írd ki ezeknek az italoknak a neveit egy új fájlba.

---------------------------------------------------------------------------------


D csoport

Pékáruk zsír-és szénhidráttartalma 


PÉKÁRUK (Adatok 100 grammra)

Zsír gramm

Szénhidrát gramm

Abonett

2.3

65.0

Alföldi kenyér

1.0

53.0

Bakonyi barna kenyér

2.4

46.0

Briós

10.4

54.0

Erzsébet kenyér

1.0

50.0

Fánk

10.6

38.3

Fehér kenyér

3.6

49.6

Félbarna kenyér

1.5

49.0

Francia kenyér

1.8

56.4

 

txt:

Abonett; 2,3; 65,0

Alföldi kenyér; 1,0; 53,0

Bakonyi barna kenyér; 2,4; 46,0

Briós; 10,4; 54,0

Erzsébet kenyér; 1,0; 50,0

Fánk; 10,6; 38,3

Fehér kenyér; 3,6; 49,6

Félbarna kenyér; 1,5; 49,0

Francia kenyér; 1,8; 56,4

Ebben a táblázatban a pékáruk nevei mellett elsőként az szerepel, hogy hány gramm zsírt tartalmaznak, másodikként pedig az, hogy hány gramm a szénhidráttartalmuk.

- Olvasd be a fájl tartalmát, majd írd ki a képernyőre.

- Írd ki annak a pékárunak a nevét, amelyiknek a legkisebb a  zsírtartalma.

- Rendezd növekvő sorba a szénhidráttartalmat, majd írd ki az új sorrendet. A sorbarendezés során ne vesszen el az eredeti sorrend sem. A sorbarendezésre használhatod az Array.Sort() metódust.

- Keresd meg az első 0,7 gramm zsírtartalmú pékárut. Ha van ilyen,írd ki a nevét. Ha van másik is (harmadik, stb.), annak is írd ki a nevét. Készítsd fel ezt a kódot arra, hogy más pékáruk adataival is jól működjön. Ha pl. nincs ilyen érték, akkor adjon hibaüzenetet.

- Írd ki a pékáruk az átlagos szénhidráttartalmát.  Ehhez először összegezned kell az értékeket, majd elosztani a darabszámmal.

- Írd ki az átlag alatti szénhidráttartalmú pékáruk neveit egy új fájlba.


2023.04.26. Javító feladatsor