2022.03.02. Elmélet

 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ört végigvettük. Írtunk egy példaprogramot, legközelebb közzétesszük.

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.


2023.04.26. Javító feladatsor