Érettségi feladatok megoldása LINQ-kel

Slides:



Advertisements
Hasonló előadás
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Advertisements

10. gyakorlat SQL SELECT.
Tananyag: konzultáció
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 4. Előadás Az SQL adatbázisnyelv Sorváltozók Alkérdések Ismétlődő sorok Összesítések 1.
Lekérdezések SQL-ben Relációs algebra A SELECT utasítás
Analitikus függvények
Az algoritmizálás oktatás egy lehetséges útja: Visual Basic
Analitikus, statisztikai és szélsőérték fv-k Hári Veronika
Analitikus, statisztikai és szélsőérték fv-k Rózsa Győző
Anyagadatbank c. tárgy gyakorlat
Elmaradás.  0 Számjegy. Ebben a pozícióban egyetlen számjegyet kell megadnia.  9 Számjegy. Ebben a pozícióban egyetlen számjegyet lehet megadni, nem.
Delphi programozás alapjai
LINQ to DataSet Kereskényi Róbert
Azonosítók és képzési szabályaik
Adatbázis gyakorlat – SUBSELECT – Tarcsi Ádám március.
– Adattáblák & adatok kezelése – Tarcsi Ádám január Adatbázis gyakorlat.
Többtáblás lekérdezések, allekérdezések Rózsa Győző
megismerése, mintaadatbázis létrehozása
BMEEOVKMKM4 Házi feladat megoldás áttekintés
SQL – DQL (Data Query Language ) adat lekérdezések
Algoritmus és adatszerkezet Tavaszi félév Tóth Norbert1.
JavaScript.
Készítette: Pető László
Adatbázis-kezelés.
Adatbáziskezelés Horváth Ernő.
Adatbázis-kezelés ACCESS program:
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
2006. október 2.Markó Tamás, PTE TTK1 Az Oracle SQL 4. Összesítés és csoportosítás lekérdezésekben. Halmazműveletek.
ADATBÁZISOK
ADATBÁZISOK
Folytassuk… (2.).
Oktassunk adatbázis-kezelést! Micskei Zoltán Microsoft Referencia Iskola.
Összesítés és csoportosítás lekérdezésekben. Halmazműveletek.
Nézettáblák létrehozása, módosítása és törlése
WEB Technológiák ISAPI ME Általános Informatikai Tsz. dr. Kovács László.
Algebrai műveleti gráf optimalizálása ● Mennyi könyvet készített az idén legtöbbet kinyomtató Budapesti könyvkiadó? ● kiado(kod,nev,cim) ● konyv ( kiado,cim,ar,ev.
Az SQL nyelv alapjai.
Access XP Kifejezés-szerkesztő Összehasonlító operátorok:
Adatkezelés Ez az előadó neve beosztása vállalata.
Excel Függvények Páll Boglárka.
Részletező csoportosítások Hári Veronika
Tömbök és programozási tételek
Összetett adattípusok
SQL DDL DATA DEFINITION LANGUAGE. Táblák létrehozása CREATE TABLE táblanév ( oszlopnév1 típus(méret) /DEFAULT érték/ /NOT NULL/, oszlopnév2 típus(méret)
Készítette: Tóth Ervin
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
SQL-Structured Query Language. Parancs(utasítás) csoportok CREATE - táblák létrehozása ALTER – táblák módosítása DROP – táblák törlése DDL –Data Definition.
Programozási tételek.
XML fejlesztések TSQL fejlesztések Tábla paraméter SQLCLR fejlesztések 8k limit feloldása Több paraméteres UDA-ek Ordered UDF-ek Entity Framework ADO.NET.
– SQL 3: SELECT - 1. – Tarcsi Ádám, január 31. Adatbázis gyakorlat.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
SQL SELECT parancsok Kottyán László. A bemutató mintatáblái.
1 Informatikai Szakképzési Portál Adatbázis kezelés DQL – Adatlekérdező nyelv.
2. Gyakorlat Zalatnai Csongor
Ma az un. Relációs adatmodelleket használjuk.
Többtáblás lekérdezések, hierarchikus lekérdezések, allekérdezések
Webprogramozó tanfolyam
2. AB gyakorlat Egytáblás csoportosító lekérdezések.
A Visual Basic nyelvi elemei
SQL. SQL jellemzői Nem algoritmikus (nem tartalmaz algoritmikus szerkezeteket: ciklus, eljárás, elágazás) Nem rekurzív (önmagát nem hívhatja) Halmazorientált.
Adatbázis-kezelés 3-4. Adatok lekérdezése utasítás általános formája SELECT [ALL/DISTINCT] {*/, …, } FROM [ ], …, [ ] [WHERE GROUP BY, …, HAVING ORDER.
Adatbázis-kezelés. Középszint: –1-2 tábla –SQL-nyelv és lekérdező-rács használata –Űrlap és jelentés készítés Emelt szint: –több tábla (kapcsolatok) –több.
– SELECT - 1. – Tarcsi Ádám január Adatbázis gyakorlat.
Objektum orientált programozás
Informatikai gyakorlatok 11. évfolyam
SQL aggregálás, csoportosítás és összekapcsolás Adatbázisok 1.
SQL Több táblás lekérdezések. Halmazműveletek. Alkérdések
Naplóelemzés Log Parserrel
Kovács Gergely Péter Bevezetés
Előadás másolata:

Érettségi feladatok megoldása LINQ-kel Farkas Csaba tanár Jedlik Ányos Gimnázium

Mi a LINQ? Language Integrated Querry A Visual Studio 2008 új eleme: a programozási nyelvbe integrált adatlekérdezési lehetőség Kulcsszavak: from, where, select SQL ismerete esetén szinte triviális Használható: tömb, struktúratömb, gyűjtemény, lista, SQL adatbázis, XML dokumentum esetén

Alapismeretek euro() = {275, 276, 276, 278, …} Összesítés: elemek száma, legmagasabb árfolyam, átlagos árfolyam, stb. Adott tulajdonságú elemek lekérdezése Adott tulajdonságú elemek összesítése Az értékek rendezése (Csoportosítás intervallumokba pl. 260-270; 270-280; 280-290)

Összesítő (aggregáló) függvények Az adatok száma: x=euro.Count Write(euro.Count) Az adatok összege, átlaga: euro.Sum, euro.Average Legmagasabb és legalacsonyabb árfolyam: euro.Max, euro.Min Első és utolsó adat: euro.First, euro.Last

Lekérdezések I. Példa: a 280 feletti értékek leválogatása Maga a parancs: From x In euro Where x > 280 Select x Az eredmény kinyerése implicit típussal: Dim q = From x In euro … A tömb feldolgozása For Each ciklussal: For Each x In q Write(x & " ") Next

Lekérdezések II. A 280 feletti értékek száma (From x In euro Where x > 280 Select x).Count A 280 feletti értékek átlaga (From x In euro Where x > 280 Select x).Average Az első 280 Ft feletti érték (From x In euro Where x > 280 Select x).First)

Rendezés Rendezett tömb létrehozása: Dim q = From x In euro Order By x Tömbök esetén hagyományos megoldás: Array.Sort(euro) Rendezés lekérdezéssel: Dim q = From x In euro Where x > 280 Order By x

Helyjegy (2010 május) Egy közlekedési vállalat autóbuszain kizárólag helyjeggyel lehet utazni. A jegyeken szereplő adatok sorszám (a jegy száma felszállás sorrendjében) ülés (az utas helye) fel (a felszállás helye, km-ben) le (a leszállás helye, km-ben) A jegyeken lévő adatok birtokában kell kérdésekre válaszolnunk: Pl. hányan utaztak végig, hányan szálltak le egy adott megállóban, hány megálló volt, stb.

Adatszerkezet Az adatokat egy struktúratömbben tároljuk: Structure BuszJegy Dim sorszám As Integer, Dim ülés As Integer Dim fel As Integer Dim le As integer End Structure Dim egyjegy As BuszJegy Dim jegyek(4) As BuszJegy Hivatkozás: egyjegy.le vagy jegyek(2).ülés

Konkrét adatok Egyszerű adatokkal: sorszám ülés fel le jegyek(0) 1 8 8 jegyek(1) 2 jegyek(2) 3 4 jegyek(3) jegyek(4) 5 6

Az utolsó jegyvásárló Adja meg az utolsó jegyvásárló ülésének számát, és az általa beutazott távolságot! Az utolsó eladott jegy: jegyek.Last Így az utolsó vásárló ülése: jegyek.Last.ülés Az általa megtett út: jegyek.Last.le - jegyek.Last.fel

Végigutazta Write(x & " ") Next Listázza ki, kik utazták végig a teljes utat! Azok, akik által megtett út a teljes úthossz: Const vonalhossz = 8 Dim q = From x In jegyek Where x.le - x.fel = vonalhossz Select x.sorszám Az adatok kiírása q-ból: For Each x In q Write(x & " ") Next

Bevétel Mennyi bevétele származott a társaságnak, ha minden megkezdett tízkilométer 71 Ft-ba kerül? (Most a kerekítéstől eltekintünk.) A szakaszárnak létrehozunk egy konstanst: Const ár = 71 Dim q = (From x In jegyek Select Int((x.le-x.fel)/10+1)*ár ).Sum

Megállók száma Adja meg, hány helyen állt meg a busz a kiinduló állomás és a célállomás között! Ahol felszálltak: Dim q = From x In jegyek Select x.fel Ahol leszálltak: Dim r = From x In jegyek Select x.le A két halmazt egyesítjük, és az elemek számából levonjuk a két végállomást: Dim u = (q.Union(r)).Count - 2

Utolsó megálló utasforgalma I. Adja meg, hányan szálltak le és fel az utolsó megállóban! Melyik volt az utolsó megálló? Dim q = (From x In jegyek Select x.fel).Max Dim r = (From x In jegyek Where x.le <> vonalhossz Select x.le).Max Dim utolsó = Math.Max(q, r)

Utolsó megálló utasforgalma II. Itt hányan szálltak le illetve fel? Dim s = (From x In jegyek Where x.le = utolsó).Count Dim t = (From x In jegyek Where x.fel = utolsó).Count

Köszönöm a figyelmet! LINQ-ról C#-ban Illés Zoltán: Programozás C# nyelven Érettségi feladatok megoldás LINQ-kel: http://www.jos.hu/Letoltes/Programozas.htm Nits László (NL) megoldásai Ez az anyag felkerül a VB .NET könyv honlapjára: http://www.jos.hu/Konyv/0253/index.html