2023. február 28., kedd

2023. február 22., szerda

2023.02.22., 28. Vízállás sql feladat

 Kész, ellenőriztük.

/*Vízállás

1. feladat*/
CREATE DATABASE vizallas
  CHARACTER SET utf8
  COLLATE utf8_hungarian_ci;
/*3. feladat
Adja meg lekérdezés segítségével, hogy
 2002 szilveszterén (2002. 12. 31.)
az egyes településeken milyen vízállást mértek!
A lekérdezés a város nevét és a vízállást jelenítse meg! */
SELECT varos, vizallas
FROM meres
WHERE meres.datum = '2002-12-31';

/*4. feladat
Lekérdezés segítségével jelenítse meg, hogy
 mely városok szerepelnek az adatbázisban!
 A városok nevét rendezze ábécé sorrendbe,
  és mindegyik csak egyszer jelenjen meg! */
SELECT meres.varos
FROM meres
GROUP BY meres.varos
ORDER BY meres.varos;

SELECT  distinct varos
FROM meres
ORDER BY meres.varos;

/*5.feladat
Készítsen lekérdezést, amely megadja, hogy a Tiszán
hány alkalommal mértek 9 méternél nagyobb vízállást! */
SELECT COUNT(meres.id)
FROM meres
WHERE (meres.folyo like 'Tisza')
 AND (meres.vizallas > 900);

/*6. feladat
Készítsen lekérdezést, amely megadja,
hogy Budapesten a legmagasabb vízállást
mely napon mérték! */
SELECT datum
FROM meres
WHERE varos like 'Budapest'
ORDER BY vizallas DESC
LIMIT 1 ;

////////////////////////////////////////////////////////////////////////
/*RÁVEZETŐ FELADATOK (nem a helyes megoldások):
Ez a megoldás kiírja az összes mérési dátumot Budapesten
(nem felel meg a feladatnak):*/
  SELECT datum
FROM meres
WHERE meres.varos like 'Budapest';

/*Ez kiírja a helyes maximális vízállást Budapesten
 (nem ezt a mezőt kérte a feladat).*/
SELECT max(vizallas)
FROM meres
WHERE meres.varos like 'Budapest';

/*Ez kiírja a helyes maximális vízállást Budapesten,
viszont előtte a budapesti összes dátumból
 az első jelenik csak meg. (rossz megoldás)*/
SELECT datum, max(vizallas)
FROM meres
WHERE meres.varos like 'Budapest';

/*Ez kiírja a helyes maximális vízállást Budapesten
 (nem ezt kérte a feladat).
(Emellé már nem tudunk más mezőt kiírni korrekten.)*/
SELECT max(vizallas)
FROM meres
GROUP BY varos
HAVING varos = 'Budapest';

/*Végképp rossz megoldás:
Ez kiírja a helyes maximális vízállást Budapesten, de a mellette levő dátum
a táblába bevitt legelső dátum lesz - és ezek nem tartoznak egymáshoz.*/
/*SELECT max(vizallas), datum
FROM meres
GROUP BY varos
HAVING varos = 'Budapest';*/

/*Az alselect megkeresi a maximális budapesti vízállást
 és a fő lekérdezés kiírja azt a két dátumot,
amikor az volt a vízállás.*/
SELECT datum
FROM meres
WHERE vizallas =
(SELECT max(vizallas) FROM meres
 WHERE meres.varos like 'Budapest');

/*Az alselect megkeresi a maximális budapesti vízállást és a fő lekérdezés kiírja azt az első dátumot,
amikor az volt a vízállás.*/
SELECT datum
FROM meres
WHERE vizallas = (SELECT max(vizallas) FROM meres
 WHERE meres.varos like 'Budapest')
ORDER BY datum desc
LIMIT 1;

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

/*7. feladat
Az adatbázisban nyilvántartott legmagasabb vízállás 928 cm.
 Készítsen lekérdezést, amely megadja, hogy ezzel egy napon
 a Duna mentén melyik településen milyen vízállást mértek!*/
SELECT meres.varos
FROM meres
WHERE (meres.folyo like 'Duna') AND
(meres.datum = (SELECT meres.datum FROM meres
WHERE (meres.vizallas = 928)));

/*8. feladat
Készítsen lekérdezést, amely folyónként kiírja a vízállásokat,
 és a mérés dátumát, a dátum szerinti  növekvő sorrendben. */
select meres.folyo, meres.vizallas, meres.datum
  from meres
  order by folyo, datum;


/*9. feladat
  Készítsen lekérdezést, amely folyónként kiírja
   a legalacsonyabb vízállást. */
  select folyo, min(meres.vizallas)
    from meres
  group by folyo;


2023. február 17., péntek

2023.02.17. Online programozó oldalak

 Leetcode

Coding Game

2023.02.17. Csillagok kiírása ciklussal

Csillagok kiírása ciklussal

1. Mit csinál ez a kód?
2. Alakítsd át úgy, hogy a for ciklust cseréld le while ciklusra.  
using System;

namespace kiiro
{
    class Program
    {
        static void Main(string[] args)
        {
            for (int i = 0; i < 80; i++)
            {
                Console.Write("*");
            }
            Console.ReadLine();
            Console.Clear();
            int sor = 0;
            int oszlop = 0;
            for (int i = 0; i < 80; i++)
            {
                Console.SetCursorPosition(oszlop,sor );
                Console.Write("*");
                oszlop++;
                sor++;
            }  
            Console.ReadLine();
            Console.Clear();
            sor = 0;
            oszlop = 79;
            for (int i = 0; i < 80; i++)
            {
                Console.SetCursorPosition(oszlop, sor);
                Console.Write("*");
                oszlop--;
                sor++;
            }
            Console.ReadLine();
        }
    }
}

2023.02.17. While ciklus - gyakorló feladat

  

While – gyakorló feladat

1       feladat:

−       Kérd be a felhasználótól, hogy hány nap múlva lesz vége a tanévnek.

−       Számolj visszafelé egyesével 1-ig, az aktuális értéket írd ki a képernyőre (élesben naponta egyet kellene kiírni).

2       feladat:

Monitorokat szállítasz ki a raktárból.

−       A kezdőkészlet értékét kérd be (tehát hány db monitor van).

−       A ciklus addig megy, amíg el nem fogy minden monitor.

−       Minden cikluslépésben csökkents a készletet egy 1 és 10 közötti friss véletlenszámmal.

−       Minden cikluslépésben írd ki, hogy hányat akar venni a vásárló, hány darab monitor van még, és a vásárlás után hány maradt. (A végén figyelj, hogy ne menj mínuszba.)

Máté megoldása:
using System;


namespace Orai20230217
{
    class Program
    {
        static void Main(string[] args)
        {
            Random rnd = new Random();
            //1       feladat:
            //−       Kérd be a felhasználótól, hogy hány nap múlva lesz vége a tanévnek.
            //−       Számolj visszafelé egyesével 1 - ig, az aktuális értéket írd ki a képernyőre(élesben naponta egyet kellene kiírni).
            Console.Write("Hány nap múlva ér véget a tanév?  ");
            int napok = Convert.ToInt32(Console.ReadLine());
            while (napok > 0)
            {
                Console.WriteLine($"Még {napok} nap maradt hátra a tanévből!");
                napok--;
            }
            Console.WriteLine();
            //2       feladat:
            //Monitorokat szállítasz ki a raktárból.
            //−       A kezdőkészlet értékét kérd be(tehát hány db monitor van).
            //−       A ciklus addig megy, amíg el nem fogy minden monitor.
            //−       Minden cikluslépésben csökkents a készletet egy 1 és 10 közötti friss véletlenszámmal.
            //−       Minden cikluslépésben írd ki, hogy hányat akar venni a vásárló, hány darab monitor van még, és a vásárlás után hány maradt. (A végén figyelj, hogy ne menj mínuszba.)
            Console.Write("Hány darab monitor van raktáron?  ");
            int monitorok = Convert.ToInt32(Console.ReadLine());
            int vétel = 0;
            while (monitorok > 0)
            {
                vétel = rnd.Next(1, 11);
                if (monitorok > vétel)
                {
                    Console.WriteLine($"Jelenleg {monitorok} darab monitor van raktáron, amiből a vevő {vétel} darabot vesz, így raktáron marad {monitorok - vétel} darab.");
                }
                else
                {
                    if (monitorok == vétel)
                    {
                        Console.WriteLine($"Jelenleg {monitorok} darab monitor van raktáron, a vevő {vétel} darabot vesz, és nem marad raktáron monitor.");
                    }
                    else
                    {
                        Console.WriteLine($"Jelenleg {monitorok} darab monitor van raktáron, a vevő {vétel} darabot akart venni, de mivel nincs elég, így a vevő csak {monitorok} darabot tud venni, és nem marad raktáron monitor.");
                    }
                }

                monitorok -= vétel;
            }
            Console.ReadLine();
        }
    }
}

Tamás megoldása alapján:
using System;
namespace kiiro
{
    class Program
    {
        static void Main(string[] args)
        {
           
            Console.Write("Hány nap múlva lesz vége a tanévnek: ");
            int tanevvege = Convert.ToInt32(Console.ReadLine());
           
            while (tanevvege >= 0)
            {
                Console.WriteLine(tanevvege);
                tanevvege--;
            }
            Console.ReadLine();

            Console.Write("Kérem a kezdőkészlet értékét: ");
            int kezdokeszlet = Convert.ToInt32(Console.ReadLine());

            Random rnd = new Random();
            int randomszam = 0;
           
            while (kezdokeszlet > 0)
            {
                randomszam = rnd.Next(1,11);
                Console.WriteLine($"Ennyi monitort szeretne: {randomszam}");
                Console.WriteLine($"Ennyi monitor van még: {kezdokeszlet}");
                kezdokeszlet -= randomszam;
                if (kezdokeszlet < 0)
                {
                    kezdokeszlet = kezdokeszlet * -1;
                    Console.WriteLine($"Elfogytak a monitorok szóval ennyi monitort nem kapott meg a vásárló: {kezdokeszlet}");
                    kezdokeszlet = 0;
                }
                else
                {
                    Console.WriteLine($"Ennyi maradt: {kezdokeszlet}");
                    Console.WriteLine();
                }
            }
            Console.ReadLine();
           
        }
    }

}





2025.02.19.[helyettesítés] SQL feladatmegoldás - AI alapú önálló gyakorlás

A következő feladatsor a dolgozatokra készít fel, ahol egészen hasonló feladatokat fogtok kapni. Kérem a hiányzókat is, hogy pótoljanak lehe...