2022. február 24., csütörtök

2022.02.24. Programozás elmélet, feladatok ellenőrzése

  Végigvettük az adattípusok témakört, megosztottam. Hétfőre meg kell tanulni.

Ellenőriztük a Notebook adatbázis megoldását, a feladat kiírásánál található a megoldás. Házi feladat otthon futtatni, tesztelni a lekérdezéseket, és megtanulni.

Elkezdtük ellenőrizni az almás program megoldását. Ricsi verziója a feladat kiadásánál megvan, legközelebb folytatjuk az ellenőrzését.

2022. február 23., szerda

2022.02.23. Programozás

 A Kerékpárverseny programozás feladatot kezdtük el. Holnap még itt folytatjuk.

(Orvosi vizsgálat van közben.)

2022. február 22., kedd

2022.02.22. AB - Notebook

 Notebook feladat. Legközelebb ellenőrizzük.

Kiegészítő feladatok:

9. Rögzíts egy új rekordot a processzor táblába 54-es azonosítóval, a gyártó AMD legyen, a típus pedig Ryzen 5 5600X.

INSERT INTO `processzor` (`id`, `gyarto`, `tipus`) VALUES (54, 'AMD', 'Ryzen 5 5600X');

10. Módosítsd az oprendszer táblában az operációs rendszer nevét tartalmazó mező értéét Unixra, ahol az eredeti érték Linux.

UPDATE oprendszer SET nev='Unix'

WHERE nev='Linux';


11. Töröld a gépek közül a 246-os azonosítójú terméket.

DELETE FROM gep WHERE id=246;


1. feladat 2p
CREATE DATABASE notebook
DEFAULT CHARACTER SET UTF8
COLLATE UTF8_hungarian_ci;


3. feladat 2p
SELECT `gep`.`gyarto`, `gep`.`tipus`, `gep`.`kijelzo`
FROM `gep`
WHERE (`gep`.`merevlemez` >=300)
 and `gep`.`db`>0;              




4. feladat 2p
SELECT `gep`.`gyarto`,
 COUNT(`gep`.`tipus`) as 'darab'          
FROM `gep`
GROUP by 1;                                                    





5. feladat 2p
SELECT SUM(`gep`.`db`*`gep`.`ar`)/1000000
 AS "osszesen"          
FROM `gep`;





6. feladat  4p
SELECT `gep`.`gyarto`, `gep`.`tipus`
FROM gep
INNER JOIN `oprendszer`
on `gep`.`oprendszerid`=`oprendszer`.`id`                  
WHERE `oprendszer`.`nev` like "Windows 7%"
AND (`gep`.`gyarto`="Asus" OR `gep`.`gyarto`="Dell")                              
ORDER BY `gep`.`ar`
LIMIT 1;                                                                          




7. feladat 4p
SELECT processzor.gyarto,
 `gep`.`gyarto`, `gep`.`tipus`, `gep`.`ar`
FROM `gep`
INNER JOIN `processzor`
on `gep`.`processzorid`=`processzor`.`id`          
WHERE `gep`.`kijelzo`>14
AND `gep`.`memoria`>2048                          
ORDER BY `processzor`.`gyarto`                                          




8. feladat 4p

SELECT `gep`.`gyarto`, `gep`.`tipus`,
 `gep`.`ar`, `processzor`.`tipus`,
  `gep`.`memoria`    
FROM `gep`
INNER JOIN `processzor`
on `gep`.`processzorid`=`processzor`.`id`
WHERE `processzor`.`gyarto`="Intel"                                                                                                                            
order by gep.gyarto, `gep`.`ar` desc

20p








2022. február 17., csütörtök

2022.02.17. Programozás - Almatermelés feladat

Elkezdtük a lenti feladatot. Házi feladat befejezni hétfőre.

 Feladat: alma termelés

-        Egyes országok több éven keresztül mért adataival kell dolgoznod. Ezek az adatok megmutatják, hogy az adott ország mennyi almát termelt az adott évben. Az adatok ezer tonnában vannak megadva. A megoldáshoz segítségül használd az alma.xlsx-et. (Kötelező!)

-        A feladatokat úgy oldd meg, hogy hasonló szerkezetű, de konkrétan más adatokat tartalmazó szövegfájl esetén is jól működjenek.

-        Minden feladatot külön metódusban oldj meg, a metódus neve tartalmazza a feladat sorszámát valamilyen formában.

-        Nincs szükség arra, hogy kiírd a feladat sorszámát a képernyőre, továbbá semmilyen magyarázó szöveget se kell kiírni, csak magukat az adatokat – ha a feladat nem kér mást.

-    A feladatok a következők:

1.       Olvasd be a mellékelt alma.txt pontosvesszővel tagolt fájlból az összes adatot egy listába, aminek minden sora egy objektumpéldány. A fájlnak 52 sora van:

a.       ország neve;

b.       egy mező, ami megmutatja, hogy az ország az Európai Unió tagja-e;

A mező értékei:

tag: EU

nem tag: NO

c.       7 számadat, ami 2011 és 2017 között mutatja a termelési adatokat. Ezeket a számokat tárold az osztályon belül egy újabb listában.

2.       Írd ki az adatokat a képernyőre a tanult módon táblázatos formában.

3.       Egy új listában tárold minden ország 7 éves össz-termelését.

4.       A 3. feladat listájának segítségével írd ki a képernyőre annak az országnak a nevét, ahol a legtöbb almát termelték a 7 év alatt.

5.       2012-ben előfordult-e, hogy 10 ezer tonna alatt termelt valamelyik ország? Ha volt, írd ki az első ilyen ország nevét, ha nem volt, írj ki hibaüzenetet. (Az adatok ezer tonnában vannak megadva.)

6.       Írd ki a képernyőre, hogy hány európai uniós ország érte el az európai átlagot? (Ehhez használhatod a 3. feladatban létrehozott listát.)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace _20220217alma
{
    public class Alma
    {
        public string nev;
        public bool tag;
        public List<double> adat;

        public Alma(string sor)
        {
            List<string> atmeneti = sor.Split(';').ToList();
            nev = atmeneti[0];
            if (atmeneti[1] == "EU")
            {
                tag = true;
            }
            else
            {
                tag = false;
            }
            adat = new List<double>();
            for (int i = 2; i < atmeneti.Count; i++)
            {
                adat.Add(Convert.ToDouble(atmeneti[i]));
            }
        }
        public void kiir()
        {
            Console.WriteLine("Ország neve: " + nev);
            Console.WriteLine("Tagja-e az EU-nak: " + tag);
            Console.WriteLine("2011 és 2017 között mutatja a termelési adatokat.");
            for (int i = 0; i < adat.Count; i++)
            {
                Console.WriteLine(adat[i]);
            }
        }
    }
    class Program
    {
        static void feladat3(List<Alma> a, List<double> b)
        {
            double osszeg = 0;
            for (int i = 0; i < a.Count; i++)
            {
                osszeg = a[i].adat.Sum();
                b.Add(osszeg);
            }
        }
        static int feladat4(List<double> max)
        {
            int index = 0;
            double maximum = max[0];
            for (int i = 0; i < max.Count; i++)
            {
                if (max[i] > maximum)
                {
                    maximum = max[i];
                    index = i;
                }
            }
            return index;
        }
        static void feladat5(List<Alma> f5)
        {
            int f = 0;
            bool van = false;
            while (f < f5.Count && !van)
            {
                if ((f5[f].adat[1] * 1000) < 10000)
                {
                    van = true;
                }
                f++;
            }
            if (van)
            {
                Console.WriteLine("{0}", f5[f - 1].nev);
            }
            else
            {
                Console.WriteLine("Nincs");
            }
        }
        static void feladat6(List<Alma> f6, List<double> l6)
        {
            double atlag = 0;
            for (int i = 0; i < l6.Count; i++)
            {
                atlag += l6[i];
            }
            atlag = (atlag / l6.Count);
            int db = 0;
            for (int i = 0; i < l6.Count; i++)
            {
                if (l6[i] < atlag)
                {
                    db++;
                }
            }
            Console.WriteLine("{0} ország nem érte el az átlagot!",db);
        }

        static void Main(string[] args)
        {
            List<Alma> teljesalma = new List<Alma>();
            foreach (var i in File.ReadAllLines("alma.txt"))
            {
                teljesalma.Add(new Alma(i));
            }
            for (int i = 0; i < teljesalma.Count; i++)
            {
                teljesalma[i].kiir();
                Console.WriteLine();
            }
            //3.       Egy új listában tárold minden ország 7 éves össz-termelését.
            List<double> ossztermeles = new List<double>();
            feladat3(teljesalma, ossztermeles);
            //A 3. feladat listájának segítségével írd ki a képernyőre annak az országnak a nevét, ahol a legtöbb almát termelték a 7 év alatt.
            int a = feladat4(ossztermeles);
            Console.WriteLine(teljesalma[a].nev);
            //2012-ben előfordult-e, hogy 10 ezer tonna alatt termelt valamelyik ország? Ha volt, írd ki az első ilyen ország nevét, ha nem volt, írj ki hibaüzenetet. (Az adatok ezer tonnában vannak megadva.)
            feladat5(teljesalma);
            //Írd ki a képernyőre, hogy hány európai uniós ország érte el az európai átlagot? (Ehhez használhatod a 3. feladatban létrehozott listát.)
            feladat6(teljesalma, ossztermeles);
            Console.ReadLine();
        }
    }
}



2022.02.17. Programozás

  ÁTISMÉTELTÜK AZ ALAP ALGORITMUSOKAT

https://teglaschoool.blogspot.com/2020/09/20200909-programozasi-tetelek-alap.html

 ÉS A CUKRÁSZDA FELADAT OOP MEGOLDÁSÁT.

https://teglaschoool.blogspot.com/2021/05/20210503-cukraszda-oop-program.html 

2022. február 16., szerda

2022.02.16. AB

 Ellenőriztük a Vízvezeték feladatot.

A feladatok megoldására elkészített SQL parancsokat illessze be a feladat sorszáma után!


1. feladat:
CREATE DATABASE vizvezetek
DEFAULT CHARACTER SET UTF8
COLLATE UTF8_hungarian_ci;

3.  A cég üzenetrögzítőjén egy régi ügyfél hagyott üzenetet.
Sajnos csak annyit lehetett érteni, hogy a Gőz utcában („Gőz u.”) lakik.
 Készítsen lekérdezést, amely megadja azon települések nevét,
  ahonnan a hívás jöhetett!
   Mindegyik település neve csak egyszer jelenjen meg! (3. feladat)
3. feladat:
select DISTINCT hely.telepules
FROM hely
where hely.utca like "Gőz u%"

vagy:
select hely.telepules
FROM hely
where hely.utca like "Gőz u%"
group by hely.telepules

4.  Egy fontos ügyfélhez a legtapasztaltabb szerelőt akarják kiküldeni.
Készítsen lekérdezést, amely megadja annak a szerelőnek a nevét,
aki legrégebben áll a cég alkalmazásában! (4. feladat)
4. feladat:
SELECT szerelo.nev
from szerelo
order by kezdev asc
limit 1;

Itt a min() fv. nem jó, mivel kikeresi ugyan a minimumot,
de nem áll rá a minimum értéket tartalmazó sorra,
hogy abból ki tudjuk olvasni a nevet.

5.  Készítsen lekérdezést, amely megadja, hogy a cég
az egyes napokon hány munkát végzett el,
és milyen értékben használt fel anyagot! (5. feladat)
5. feladat:
SELECT munkalap.javdatum, count(munkalap.munkaora)
as "munka",
 sum(munkalap.anyagar) as "anyagköltség"
FROM munkalap
GROUP BY munkalap.javdatum;

6.  Készítsen lekérdezést, amely megadja,
 hogy mikor és milyen címen végezték el a javítást
  a bejelentés napján (tehát aznap)
  a legtávolabbi településeken: Barackfalván és Kővárosban! (6. feladat)
6. feladat:
SELECT munkalap.bedatum, hely.telepules, hely.utca
FROM hely
    INNER JOIN munkalap ON munkalap.helyaz = hely.az
WHERE ((munkalap.bedatum = munkalap.javdatum)
 AND (hely.telepules = "Barackfalva"
 OR  hely.telepules like "Kőváros"));

7.  Készítsen lekérdezést, amely a 2001-ben befejezett javítások esetén
munkalaponként megadja a javítás dátumát és a számla összegét!
 A számla összegét az anyagár, a munkadíj és a kiszállási díj összege adja.
  A kiszállási díj 1 000 Ft, a munkadíj pedig óránként 1 500 Ft. (7. feladat)
7. feladat: 4p
SELECT munkalap.az,munkalap.javdatum,
(munkalap.anyagar + munkalap.munkaora * 1500 + 1000)
 as "ertek"
FROM munkalap
WHERE year(munkalap.javdatum) like '2001';

vagy az utolsó sor helyett:
WHERE munkalap.javdatum between '2001.01.01' and '2001.12.31';

vagy az utolsó sor helyett:
WHERE munkalap.javdatum like '2001%';

8.  Készítsen lekérdezést, amely megadja,
 hogy Erdei Imre Sárgahegyen mikor,
 milyen címeken dolgozott! (8. feladat)
8. feladat:
SELECT munkalap.javdatum, hely.utca
FROM hely
    INNER JOIN munkalap ON munkalap.helyaz = hely.az
   INNER JOIN szerelo ON munkalap.szereloaz = szerelo.az
WHERE szerelo.nev like "Erdei Imre"
      AND hely.telepules like "Sárgahegy";

9.  Készítsen lekérdezést, amely megadja, hogy 2001. nyári hónapjaiban
 melyik szerelő dolgozott, és milyen településeken, milyen napokon!
  A lista legyen a szerelők neve,
  azon belül a települések neve szerint rendezve! (9. feladat)
9. feladat:

SELECT szerelo.nev, hely.telepules, munkalap.javdatum
FROM hely
    INNER JOIN munkalap ON munkalap.helyaz = hely.az
   INNER JOIN szerelo ON munkalap.szereloaz = szerelo.az
WHERE (munkalap.javdatum between '2001.06.01' and '2001.08.31')
ORDER BY 1,2;

vagy:
ORDER BY szerelo.nev, hely.telepules;





2022. február 15., kedd

2022.02.15. AB

 Megpróbáltuk befejezni a Vízvezeték adatbázist. Házi feladat az Utazás adatbázis megoldását átnézni. A Vízvezetéket itt fejezzük be.

2022. február 10., csütörtök

2022.02.10. AB

 Átvettük az egyetlen adatbázisos elméleti témakört. Hétfőn számonkérés lesz belőle.

Relációs adatbázis, a tábla tulajdonságai, a kulcs fogalma, fajtái. A hivatkozási integritási szabály.

Átvettük az Utazás feladatsort. Házi feladat otthon használatba venni, és ellenőriznia megoldott lekérdezéseket.

Elkezdtük a Vízvezeték gyakorlati feladatot, itt folytatjuk.


2022. február 2., szerda

2022.02.02. ISZ

  Gyakorlás. Házi feladat továbbra is a 2019-es, 2020-as, 2021-es éles vizsgafeladat. Drive-on is megosztottam  (ha a Teams nem működne).

2022. február 1., kedd

2022.02.01. ISZ

  A 2021-es éles érettségi feladatot oldottuk meg, legközelebb megbeszéljük. Az otthon lévők a Teamsen megtalálják, oldjátok meg ti is.