Informatika | Középiskola » Informatikai alapismeretek emelt szintű írásbeli érettségi vizsga megoldással, 2011

Alapadatok

Év, oldalszám:2011, 39 oldal

Nyelv:magyar

Letöltések száma:79

Feltöltve:2012. április 28.

Méret:161 KB

Intézmény:
-

Megjegyzés:

Csatolmány:-

Letöltés PDF-ben:Kérlek jelentkezz be!



Értékelések

Nincs még értékelés. Legyél Te az első!


Tartalmi kivonat

ÉRETTSÉGI VIZSGA 2011. május 13 Azonosító jel: INFORMATIKAI ALAPISMERETEK EMELT SZINTŰ ÍRÁSBELI VIZSGA 2011. május 13 8:00 I. Időtartam: 60 perc Pótlapok száma Tisztázati Piszkozati NEMZETI ERŐFORRÁS MINISZTÉRIUM Informatikai alapismeretek emelt szint írásbeli vizsga 1021 I. összetevő Informatikai alapismeretek emelt szint Azonosító jel: Fontos tudnivalók • A megoldáshoz segédeszköz nem használható. • A feladatokat figyelmesen olvassa el! A válaszokat a feladatban előírt módon adja meg! • Ha nem a kérdésben meghatározottak szerint válaszol, akkor a válasz nem fogadható el. Pl.: H betű helyett nem válaszolhat N betűvel • A feleletválasztásos tesztfeladatnál javítani tilos! A javított válaszok nem értékelhetők. • Ha egy kérdésen belül a jó válasz(ok) mellett hibás válasz(oka)t is megjelöl, akkor a kérdésre adható pontszámból le kell vonni a rossz válaszok számát. Negatív pontszám nem

adható, ezért egy kérdésen belül adott több hibás válasz esetén a minimális pontszám nullánál kevesebb nem lehet. Pl.: Ha egy jó válasz mellett egy hibás választ is bejelölésre kerül, ahol csak egyetlen választ kellene adni, akkor 0 pontot kap. Ez nem vonatkozik azokra a kérdésekre, ahol minden helyes részválasz 1 pontot ér. • Ahol szükségesnek tartja, ott külön kérés nélkül is indokolhatja a válaszadását. Pl.: Olyan feleletválasztásos tesztfeladatnál, ahol az adott fogalomra az Ön értelmezése szerint több válasz is lehetséges lenne. írásbeli vizsga I. összetevő 1021 2 / 12 2011. május 13 Informatikai alapismeretek emelt szint Azonosító jel: Egyszerű rövid, illetve kifejtendő szöveges választ igénylő írásbeli feladatok Hardver 1) Hány 8 bites karaktert nyomtat másodpercenként egy olyan nyomtató, amelyre a karakterek soros vonalon érkeznek, és az adatformátum: 1 start bit, 8 adatbit, 1 stop bit? Az

adatátviteli sebesség: 19 200 bit/sec. Karikázza be a helyes válasz betűjelét! 3 pont a. 2400 karaktert b. 2134 karaktert c. 192 karaktert d. 1920 karaktert 2) Monitorunk felbontása 1280x720 képpont, közepes (16 bites) színminőségű. Mekkora kapacitású videomemória szükséges egy képernyőnyi kép tárolásához? Karikázza be a helyes válasz betűjelét! 3 pont a. 1843200 bájt b. 12012 kbájt c. 223414 Mbájt d. 2346324 kbit 3) Mi az adatátviteli sebesség mértékegysége? Karikázza be a megfelelő mértékegység betűjelét! 1 pont a. baud b. DPI c. bit/s d. CPI 4) 1 pont Mit nevezünk a processzorok utasításkészletének? Karikázza be a helyes válasz betűjelét! a. A processzor által éppen végrehajtott programban szereplő utasítások darabszámát. b. A processzor által ismert műveletek és utasítások összességét c. Az utasításkészlet-regiszter tartalmát d. A következő utasítás végrehajtásához egy készletből

választhatunk utasítást. írásbeli vizsga I. összetevő 1021 3 / 12 2011. május 13 Informatikai alapismeretek emelt szint 5) Azonosító jel: Mi a fő különbség a D-SUB (VGA) és DVI kábelek között? Karikázza be a helyes válasz betűjelét! 1 pont a. A DVI analóg, a D-SUB digitális jelet visz b. Nincs különbség c. A csatlakozófej különbözik d. A D-SUB analóg, a DVI digitális jelet visz 6) 5 pont Jelölje I betűvel az igaz, H betűvel a hamis állítást! . A pendrive-okban alkalmazott flash memória több alkalommal írható és olvasható. . A virtuális memória kis kapacitású, de gyors működésű írható-olvasható memória az operatív tárban (RAM). . A tintasugaras nyomtató a nyomtatás előtt az egész laphoz tartozó információt összegyűjti a memóriájában, majd a teljes lapot nyomtatja. . Az SSD és a mágneses lemezegységek fejmozgatási megoldása egyforma, mindkettő egy csigavonal mentén írja fel, illetve olvassa a

felírt információt. . LED-es monitoroknál minden képpont egy kis világító LED diódát tartalmaz. 7) Mit definiál a következő meghatározás? Írja a pontozott vonalra! „A internetkapcsolattal rendelkező számítógépekhez kapcsolt kis bemeneti eszköz, melynek képét akár más internetezők is nézhetik.” 2 pont . 8) Írja a kipontozott vonalra a fogalomhoz tartozó magyarázat betűjelét! (A megadott pontszámot csak akkor kapja meg, ha az összes hozzárendelés hibátlan.) 2 pont CCD: . ADSL: CYMK: AGP: a. Nagysebességű digitális adatátviteli technológia hagyományos vagy ISDN telefonvonalon. b. Az alaplap rendszersínjével közvetlen összeköttetésben álló gyorsított, 32 bites grafikus kapu. c. Töltéscsatolt képátalakító eszköz d. Cián, sárga, bíborvörös és fekete alapszínek, melyekből a nyomtatók a színes képeket összeállítják. írásbeli vizsga I. összetevő 1021 4 / 12 2011. május 13 Informatikai

alapismeretek emelt szint 9) Azonosító jel: Az alábbi, USB-vel kapcsolatos állítások közül melyik nem igaz? Karikázza be az állítás betűjelét! 1 pont a. Az Universal Serial Bus magyarul: univerzális soros sín b. Az USB legfrissebb verziója a 20-ás c. Az USB olyan interfész technológia, amely 127 eszközt, többféle sebességgel, „plug and play” módon tud csatlakoztatni a számítógéphez. d. Az USB külön gép- és perifériaoldali csatlakozót használ Szoftver 10) Adja meg a processzor működését leíró műveletek helyes sorrendjét! A műveletek sorszámait írja a megfelelő sorrendben a pontozott vonalra! 1. 2. 3. 4. 5. 2 pont A művelet végrehajtása A beolvasott utasítás dekódolása, elemzése Az utasítás beolvasása a memóriából a processzorba A következő utasítás címének meghatározása Az eredmény tárolása . 11) 6 pont Jelölje I betűvel az igaz, H betűvel a hamis állítást! . A multitasking több feladat

ugyanazon a számítógépen történő párhuzamos végrehajtását jelenti. . A paritásbit egy bitcsoporthoz rendelt redundáns bit, amely a bitcsoport átvitelénél a vevőoldalon hibajelzést tesz lehetővé. . A wizard (varázsló) valamely program segédeszköze, amely párbeszédes formában végigvezeti a programhasználót a bonyolult műveletek végrehajtásában. . 16 kilobájt címzéséhez 12 bit szükséges (1kilobájt=1024 bájt) . A CACHE memória a processzor és az egyéb eszközök közötti adatátvitel gyorsítására szolgál. A mágneslemezeken 1 szektorban 256 byte tárolható. írásbeli vizsga I. összetevő 1021 5 / 12 2011. május 13 Informatikai alapismeretek emelt szint 12) Azonosító jel: Karikázza be a helyes folytatás betűjelét! Az operatív memória: 2 pont a. az adatok memóriavédelemmel történő tárolására szolgáló terület b. a processzor által aktívan használt, gyors elérésű memória, amely a futó programokat és

azok adatait tárolja. c. a processzor által kezelt, a merevlemezen lévő tároló terület egy része, amelyet a fizikai memória korlátainak kibővítésére használnak a futó programok számára. d. az adatok mentésére és archiválása szolgáló, rendszerint nagyon nagy kapacitással rendelkező memória. 13) Melyik paranccsal egyesíthetjük a ment.txt, probatxt szövegfájlokat a ptxt fájlba a parancssorban? Karikázza be a helyes válasz betűjelét! 3 pont a. type menttxt ; probatxt > ptxt b. copy menttxt>probatxt >ptxt c. copy menttxt+probatxt ptxt d. save menttxt,probatxt > ptxt Szövegszerkesztés, táblázatkezelés 14) 6 pont Jelölje I betűvel az igaz, H betűvel a hamis állítást! . A vágólap tartalma a számítógép kikapcsolása után elmentésre kerül, később előhívható. . A ’sorköz’ és a ’margók beállítása’ formázási parancsok a bekezdésekre vonatkoznak. . Ha a címeket, alcímeket a beépített Címsor1,

Címsor2,stb stílusokkal formázzuk, akkor a címsorokból könnyen készíthető tárgymutató. . Az élőfej oldalanként ismétlődő szövegek megjelenítésére alkalmas . A tabulátor leütésekor egyszerre több szóköz kerül a szövegbe . A táblázat cellájában csak egyetlen bekezdés helyezkedhet el 15) Hogyan kell egy szövegrészt kéthasábosra módosítani? Karikázza be a megfelelő választ! 2 pont a. A szöveg elejére állítom a kurzort, majd a hasábok számát 2-re változtatom. b. Kijelölöm a szövegrészt, majd a hasábok számát 2-re változtatom c. A szöveg végére állítom a kurzort, majd a hasábok számát 2-re változtatom. d. Két egymás mellett létrehozott szövegdobozba helyezem el a két hasábot. írásbeli vizsga I. összetevő 1021 6 / 12 2011. május 13 Informatikai alapismeretek emelt szint Azonosító jel: Informatikai alapok 16) Miért alkalmazzuk a számítástechnikában a 16-os (hexadecimális) számrendszert?

Karikázza be a helyes válasz betűjelét! 1 pont a. A bináris számok könnyen átalakíthatók 16-os számrendszerbe, és itt kevesebb számjeggyel írhatjuk le ugyanazokat az értékeket. b. Mert több számjegye van, mint a 10-es számrendszernek c. Mert ebben a számrendszerben a legkönnyebb felírni a számokat d. Mert a logikai műveletek ebben a számrendszerben végezhetők el a legkönnyebben. 17) Milyen logikai műveletet szemléltet ez a kapcsolómodell? Válaszát írja a pontozott vonalra. 1 pont . 18) Jelölje I betűvel az igaz, H betűvel a hamis állítást! 3 pont . Ha az A, B, C, D logikai változók értéke rendre 1,0,0,1, és E=(A AND (NOT (B AND C)))OR(D OR (NOT (A AND C))), akkor az E logikai változó értéke 1 lesz. . Az A=01100011 és a B= 00110010 bitcsoport azonos helyi értékű bitjei között kizáró vagy műveletet végezve az eredmény bitcsoport decimális értéke 123 lesz. . Ha az A, B, C logikai változók értéke rendre 0,1,1, és

E=A OR (NOT (B AND NOT(C))), akkor az E logikai változó értéke 1 lesz. 19) Melyik a 7F3 hexadecimális szám decimális és bináris alakja? Karikázza be a helyes válasz betűjelét! 1 pont a. Decimálisan: 2035, binárisan: 10011011100 b. Decimálisan: 2220, binárisan: 10001010111 c. Decimálisan: 2035, binárisan: 11111110011 d. Decimálisan: 2220, binárisan: 10001100100 írásbeli vizsga I. összetevő 1021 7 / 12 2011. május 13 Informatikai alapismeretek emelt szint Azonosító jel: Hálózati alapismeretek, HTML 20) Mi a következő, 32 bites IP cím bináris alakja? A cím: 198.4313957 Karikázza be a helyes válasz betűjelét! 2 pont a. 11000010 00101001 10000011 00110110 b. 11000110 00101011 10001011 00111001 c. 11000110 00101001 10000011 01010010 d. 11000010 00101001 10110101 10101011 21) A következő mondatot egy HTML oldalon szeretnénk megjeleníteni: 1 pont Ez az első próba Melyik HTML kód biztosítja, a mondat pontosan ilyen

karakterformátumokkal, középre igazítva jelenjen meg a böngészőben? Karikázza be a helyes válasz betűjelét! a. <pre> Ez az első próba</pre> b. <center> Ez az <b><u> első próba</b></u></center> c. <center> Ez az <b> első </b><u>próba</u></center> d. <c> Ez az <b> első <u>próba</b></u></c> 22) Az OSI modell mely rétegéhez tartozik a TCP protokoll? Karikázza be a helyes válasz betűjelét! 1 pont a. Fizikai réteg b. Adatkapcsolati réteg c. Szállítási réteg d. Alkalmazási réteg írásbeli vizsga I. összetevő 1021 8 / 12 2011. május 13 Informatikai alapismeretek emelt szint írásbeli vizsga I. összetevő 1021 Azonosító jel: 9 / 12 2011. május 13 Informatikai alapismeretek emelt szint írásbeli vizsga I. összetevő 1021 Azonosító jel: 10 / 12 2011. május 13 Informatikai alapismeretek emelt szint

írásbeli vizsga I. összetevő 1021 Azonosító jel: 11 / 12 2011. május 13 Informatikai alapismeretek emelt szint témakör I. RÉSZ Egyszerű rövid, illetve kifejtendő szöveges választ igénylő írásbeli feladatok Azonosító jel: a témakör a témakör maximális elért maximális elért pontszám pontszám pontszáma pontszáma 3 3 1 1 1 5 2 2 1 2 6 50 2 3 6 2 1 1 3 1 2 1 1 AZ I. RÉSZ PONTSZÁMA 50 a feladat sorszáma 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. javító tanár Dátum: . pontszáma egész számra kerekítve programba beírt egész pontszám Egyszerű rövid, illetve kifejtendő szöveges választ igénylő írásbeli feladatok javító tanár jegyző Dátum: . Dátum: . 1. Ha a vizsgázó a II írásbeli összetevő megoldását elkezdte, akkor ez a táblázat és az aláírási rész üresen marad! 2. Ha a vizsga az I

összetevő teljesítése közben megszakad, illetve nem folytatódik a II összetevővel, akkor ez a táblázat és az aláírási rész kitöltendő! írásbeli vizsga I. összetevő 1021 12 / 12 2011. május 13 ÉRETTSÉGI VIZSGA 2011. május 13 Azonosító jel: INFORMATIKAI ALAPISMERETEK EMELT SZINTŰ ÍRÁSBELI VIZSGA 2011. május 13 8:00 II. Időtartam: 120 perc Pótlapok száma Tisztázati Piszkozati Beadott fájlok nevei NEMZETI ERŐFORRÁS MINISZTÉRIUM Informatikai alapismeretek emelt szint írásbeli vizsga 1021 II. összetevő Informatikai alapismeretek emelt szint Azonosító jel: Fontos tudnivalók • A feladatok megoldásához a számítógépes konfiguráción, illetve papíron és íróeszközön kívül egyéb segédeszközt nem használhat. • Ahol a feladat szövege másképp nem rendelkezik, ott az adott feladatot megoldó program forráskódját kell beadnia. Amennyiben a megoldás egyéb fájlokat is használ (pl adatbázisfájlok,

indexfájlok, adatfájlok) természetesen azokat is be kell adnia • A feladatok megoldása során az előzetes nyilatkozatában megjelölt programozási nyelvet/programozói környezetet kell használnia. A 4 feladat megoldása során a választott adatbázis-kezelő rendszert, illetve az SQL nyelvet használhatja • A feladatok megoldása során, ahol ez külön nincs jelezve a feladatban, feltételezzük, hogy a program használója a billentyűzetes inputoknál a megfelelő formátumú és a feladat kritériumrendszerének megfelelő értékeket ad meg, így külön input ellenőrzéssel nem kell foglalkoznia, ezért az ilyen jellegű kódrészekért többletpont sem adható. • Ahol a feladat szövege a kimenet pontos formátumát nem határozza meg, ott törekedjen a kulturált, ám egyszerű megjelenítésre! A kiíratott adatok formátuma kellően olvasható legyen (pl. a valós számokat ne az exponenciális formátumban jelenítse meg stb)! • A 4. feladat

megoldását készítheti teljes egészében SQL nyelven is Abban az esetben, ha a feladat az adatbázis létrehozását és feltöltését is előírja, az ezt végző SQL forráskódot is be kell adnia egy megfelelő szövegfájlban. • A feladatok befejezésekor a vizsga helyszínén kiadott útmutatónak megfelelő helyre, a feladat sorszámának megfelelő elnevezésű alkönyvtárakba (FELADATn elnevezésű mappákba) mentse el az egyes feladatok megoldását adó forrásfájlt, illetve az esetlegesen szükséges egyéb kiegészítő állományokat! (FELADAT1.FELADAT4 könyvtárak) írásbeli vizsga, II. összetevő 1021 2/8 2011. május 13 Informatikai alapismeretek emelt szint Azonosító jel: Programozási feladatok számítógépes megoldása 1. feladat 10 pont Írjon programot, amely előállítja egy pozitív egész szám római szám alakját az alábbiak szerint! − A program a felhasználótól kérje be a pozitív egész számot! − A beolvasás során

semmilyen ellenőrzést nem kell végezni, feltételezzük, hogy a szám az [1.3999] egész intervallumba esik − Az átváltás szabályai a következő táblázatban foglalhatók össze: Egyesek Tízesek Százasok Ezresek 0 - 1 I X C M 2 II XX CC MM 3 III XXX CCC MMM 4 IV XL CD - 5 V L D - 6 VI LX DC - 7 VII LXX DCC - 8 VIII LXXX DCCC - 9 IX XC CM - − A különböző helyi értékeket külön-külön át kell váltanunk, és egyszerűen egymás mellé kell írnunk. − Példák: Szám 72 953 2618 Ezresek MM Százasok CM DC Tízesek LXX L X Egyesek II III VIII Római LXXII CMLIII MMDCXVIII Fontos megkötések a program írásakor: − Az egyesek, tízesek, százasok, ezresek esetében ugyanazon érték esetében ugyanaz a programrész végezze el az átváltást, csak a helyi értéktől függően más-más szimbólumokat használjon! o Például: egy 7-es érték az egyesek esetén VII, a tízesek esetén LXX, a százasok esetén DCC alakú lesz, amelyek az azonos

szerkezet miatt ugyanazzal a programrésszel előállíthatók. o Segítség: érdemes egy függvényt írnia, amelynek paraméterei a helyi érték, és az átváltandó érték. − Ahol csak lehet, alkalmazzon ciklust az elágazások kiküszöbölésére! o Például: a 5,6,7,8 értékek ugyanazzal a ciklussal átválthatók. − Ügyeljen arra, hogy a 0 érték átalakításakor a program üres stringet állítson elő! Beadandó a feladatot megoldó program forráskódja. A feladat megoldásaként teljes, fordítható és futtatható kódot kérünk, mely az adatokat billentyűzetről (standard input) olvassa, és a képernyőre (standard output) írja ki. Vizuális fejlesztőeszköz használata esetén a megoldást konzol (szöveges ablakban futó) alkalmazásként kérjük elkészíteni! írásbeli vizsga, II. összetevő 1021 3/8 2011. május 13 Informatikai alapismeretek emelt szint Azonosító jel: 2. feladat 10 pont Egy tenisz adogatógép tesztelése során a

teniszlabdákat különböző kezdősebességgel és szöggel lövik ki, majd lemérik, hogy milyen távolságra repülnek a labdák. Írjon programot, amely lehetőséget ad arra, hogy meghatározhassuk a kipróbált kezdősebességekhez és kilövési szögekhez tartozó távolságokat, és egyszerű statisztikát készíthessünk a mért és számított távolságértékek közötti különbségekről! – Adatbevitel o A program tegye lehetővé az adatok bevitelét a billentyűzetről! ƒ A kezdősebesség m/s-ban megadott pozitív valós szám, amelynek maximális értéke 40 m/s. ƒ A kilövési szög fokokban megadott pozitív, de 90-nél kisebb egész érték. ƒ A mért távolság m-ben megadott pozitív valós érték. o A beolvasás során a program csak az előbb leírt feltételeknek megfelelő adatokat fogadjon el! Típusellenőrzést nem kell végeznie! o A beolvasás akkor érjen véget, ha a felhasználó kezdősebességként 0 m/s-ot ad meg! – Határozza meg a

program, hogy mely bemenő paraméterek esetén volt a mért és számított értékek között a legnagyobb az abszolút eltérés! 2 v ⋅ sin 2α o A távolság kiszámítására az s = 0 képletet alkalmazzuk, ahol v0 a g m kezdősebesség, α a kilövési szög, s pedig távolság, g értéke 9,81 2 . s o A kiszámított távolságértéket ne kerekítsük! o Az eltérést %-ban adjuk meg, 100%-nak a program által kiszámított távolságot tekintsük! ƒ A %-os eredmény egészre legyen kerekítve! ƒ Pl. ha a számított távolság 100 m, a mért távolság pedig 90 m, akkor az eltérés -10%, tehát az abszolút eltérés 10%. ƒ Ha a számított távolság 10 m, a mért távolság 11,5 m, akkor az abszolút eltérés 15%. o A vizsgálat elvégzése után a program írja ki, hogy hányadik tesztelés adatai esetén adódott a legnagyobb abszolút eltérés! A feladat megoldásaként teljes, fordítható és futtatható kódot kérünk, mely az adatokat billentyűzetről

(standard input) olvassa, és a képernyőre (standard output) írja ki. Vizuális fejlesztőeszköz használata esetén az algoritmust konzol alkalmazásként (szöveges ablakban futó) kérjük elkészíteni! Beadandó: a feladatot megoldó program forráskódja. írásbeli vizsga, II. összetevő 1021 4/8 2011. május 13 Informatikai alapismeretek emelt szint Azonosító jel: 3. feladat 15 pont Készítsen programot, amely egy osztály pénzügyi nyilvántartását modellezi a 2009/2010-es tanévre vonatkozóan! − A tanulók létszáma 25 és 35 közötti legyen, a tanulókat a sorszámukkal azonosítjuk. − Minden tanulónak egyedi számlaegyenlege van, amely az év elején minimum 1000 Ft, maximum 3500 Ft. − Osztálypénz-befizetés o A tanulóknak szeptembertől júniusig havonta 1000 Ft osztálypénzt kell befizetniük. o Egyszerre több havi osztálypénzt is be lehet fizetni, ebben az esetben a befizetés 1000 Ft valamely többszöröse. Ez az összes

befizetés kb 20%-ában fordul elő o Lehet túlfizetés is, azaz a tanulók fizethetnek 10 000 Ft-nál többet is egy tanévben. o A befizetés a hónap során bármikor történhet, de egy hónapban csak egyszer. o Késő tanuló nincs, azaz mindenki minden hónapban befizet legalább 1000 Ft-ot. − Közös költségek o Az osztály programokra, eszközökre havi 2000 és 5000 Ft közötti összeget költ, ennek az egy főre eső részét minden tanuló egyenlegéből le kell vonni. − Egyedi költségek o A tanulóknak a tanév során 1-3 alkalommal 1000 és 1500 Ft közötti egyéni kiadásuk is van, amelyet az érintett tanuló egyenlegéből le kell vonni. − Induláskor a program generálja véletlenszerűen a tanulók egyedi számlaegyenlegét! − Ezután az előbb leírtaknak megfelelően generálja véletlenszerűen és tárolja el a tanévre vonatkozó befizetések, illetve költségek fontos adatait: tanuló sorszáma, dátum, jelleg (befizetés, közös költség,

egyéni költség), összeg. − A program készítsen kimutatást a tanulók éves befizetéseiről és költségeiről az alábbi minta szerint! A lista a tanulók sorszáma szerint, azon belül a tranzakciók dátuma szerint növekvően legyen rendezve! Minta: Tanuló sorszáma: 17/30. Nyitóegyenleg: 2000 Ft Befizetések/költségek: 2009.0901 Osztálypénz 2009.0912 Közös költség 2009.0923 Egyéni költség 2009.1017 Közös költség 6000 -100 -1000 -200 Ft Ft Ft Ft Záróegyenleg: 6700 Ft − Megjegyzések: o A fenti lista nem teljes, csak a formai megjelenítést illusztrálja! o A tanuló sorszáma mellett tüntesse fel az osztály létszámát! A feladat megoldásaként teljes, fordítható és futtatható kódot kérünk, mely az adatokat a képernyőre (standard output) írja ki. Vizuális fejlesztőeszköz használata esetén az algoritmust konzol alkalmazásként (szöveges ablakban futó) kérjük elkészíteni! Beadandó: a feladatot megoldó program

forráskódja. írásbeli vizsga, II. összetevő 1021 5/8 2011. május 13 Informatikai alapismeretek emelt szint Azonosító jel: 4. feladat 15 pont Adott a mesterek nevű adatbázis, amely mesteremberek megrendeléseivel kapcsolatos adatokat tartalmaz. Az adatbázis MS-Access 2000 formátumú állományban található Azok számára, akik az Access formátumát nem ismerő rendszert használnak, az adatbázis tábláit UTF-8 kódolású szöveges állományokban is megadtuk. Ezek első sorában az adott tábla mezőnevei, a többi sorban az adatrekordok találhatók. Az adatokat a sorokon belül pontosvessző határolja el egymástól. Az adatbázis elsősorban feladatkitűzési céllal készült, így nem modellezi tökéletesen a való életben felmerülő összes lehetséges helyzetet. Az adatbázis az alábbi táblákat és relációkat tartalmazza: mester( mesterazon nev varos telefon ) : : : : Egész szám Szöveg Szöveg Szöveg tevekenyseg( tevekenysegazon :

Egész szám tevekenyseg : Szöveg ) mester tevekenyseg( mtazon : Egész szám mesterazon : Egész szám tevekenysegazon : Egész szám ) megrendelo( megrendeloazon nev varos lakcim telefon ) : : : : : Egész szám Szöveg Szöveg Szöveg Szöveg munka( munkaazon megrendeloazon mtazon megrenddatum teljdatum munkadij garancia ) : : : : : : : Egész szám Egész szám Egész szám Dátum Dátum Pénznem Egész szám -> mester tevekenyseg.mesterazon -> mester tevekenyseg.tevekenysegazon -> munka.mtazon -> mester.mesterazon -> tevekenyseg.tevekenysegazon -> munka.megrendeloazon -> megrendelo.megrendeloazon -> mester tevekenyseg.mtazon A kettőspont után az adatmező típusát adtuk meg, a „->” karakterek után pedig a más táblákkal való kapcsolatot. Az elsődleges kulcsot aláhúzás jelöli. írásbeli vizsga, II. összetevő 1021 6/8 2011. május 13 Informatikai alapismeretek emelt szint Azonosító jel: A mester adattábla

tartalmazza a mesteremberek egyedi azonosítóját, nevét, városát és telefonszámát. A táblában szerepelhet több, ugyanolyan nevű mester, akár azonos városban is A tevekenyseg adattábla tartalmazza a mesterek által végzett tevékenységek azonosítóját és megnevezését. A mester tevekenyseg adattábla (kapcsolótábla) tartalmazza, hogy melyik mester milyen tevékenységet végez. Ugyanaz a mester több különböző tevékenységet is végezhet, és ugyanazt a tevékenységet több különböző mester is végezheti. Minden mester-tevékenység párosítás egyedi azonosítóval rendelkezik. A megrendelo adattábla a megrendelők azonosítóját, nevét, városát, lakcímét és telefonszámát tartalmazza. A munka adattábla tartalmazza az elvégzett munkákkal kapcsolatos adatokat: a megrendelő azonosítóját, a mester-tevékenység azonosítót, a megrendelés és teljesítés dátumát, a munkadíjat és a garancia években mért idejét. A. Készítsen

lekérdezést, amely megadja azoknak a mestereknek az azonosítóját, nevét és városát, akik valamelyik munkájukat a megrendeléstől számított 5 napon belül teljesítették, és ugyanarra a munkára 3 évnél kevesebb garanciát vállaltak! B. Siófokon a következő rendelkezést hozták: minden olyan mester, aki legalább 3 különböző tevékenységet végez, az elvégzett munkák összértéke után 10%-os támogatást kap. Készítsen lekérdezést, amely megadja a siófoki mestereknek kifizetett összes támogatás értékét! C. A pécsi mesterek az egyszerűbb kommunikáció érdekében ugyanahhoz a mobilszolgáltatóhoz szerződnek, de a régi számukat szeretnék megtartani Készítsen lekérdezést, amely a pécsi mesterek (20) és (30) kezdetű telefonszámaiban a szolgáltatóazonosítót egységesen (70)-re változtatja, a telefonszám további részét pedig változatlanul hagyja! A (70)-es számokat a lekérdezés semmilyen módon ne módosítsa! o A

telefonszámok 12 mind karakter hosszúak, pl. „(30) 1234567” o A feladat megoldása előtt készítsen másolatot a mestertábláról mester2 néven, és erre vonatkozóan készítse el a lekérdezést! írásbeli vizsga, II. összetevő 1021 7/8 2011. május 13 Informatikai alapismeretek emelt szint Azonosító jel: A témakör A témakör Maximális Elért elért maximális pontszám pontszám pontszáma pontszáma Témakör A feladat sorszáma I. RÉSZ Egyszerű rövid, illetve kifejtendő szöveges választ igénylő írásbeli feladatok 1–24. 50 1. 10 2. 10 3. 15 4. 15 Az írásbeli vizsgarész pontszáma II. RÉSZ Programozási feladatok számítógépes megoldása 50 50 100 javító tanár Dátum: . pontszáma egész számra kerekítve programba beírt egész pontszám Egyszerű rövid, illetve kifejtendő szöveges választ igénylő írásbeli feladatok

Programozási feladatok számítógépes megoldása javító tanár Dátum: . írásbeli vizsga, II. összetevő 1021 jegyző Dátum: . 8/8 2011. május 13 ÉRETTSÉGI VIZSGA 2011. május 13 Informatikai alapismeretek emelt szint Javítási-értékelési útmutató 1021 INFORMATIKAI ALAPISMERETEK EMELT SZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM Informatikai alapismeretek emelt szint Javítási-értékelési útmutató Fontos tudnivalók I. rész Általános megjegyzések: • Ha a vizsgázó nem a kérdésben meghatározottak szerint válaszol, akkor a válasz nem fogadható el! (Pl.: H betű helyett nem válaszolhat N betűvel) • A feleletválasztásos tesztfeladatnál javítani tilos, a javított válaszok nem értékelhetők! • Ha egy kérdésre a jó válasz(ok) mellett a vizsgázó válaszában hibás választ is megjelöl, akkor a kérdésre adható pontszámból le kell vonni a rossz

válaszok számát. Negatív pontszám nem adható, ezért több hibás válasz esetén a minimális pontszám nullánál kevesebb nem lehet. • • • Pl.: Ha egy jó válasz mellett a vizsgázó egy hibás választ is bejelöl, akkor 0 pontot kell adni Ez nem vonatkozik azokra a kérdésekre, ahol a (minden helyes részválasz 1 pont) szöveg szerepel. A kifejtős kérdések (nem feleletválasztós) válaszainál nem a szó szerinti, hanem a helyes tartalmi, illetve a lényegi válaszok megadását kell értékelni. Ha a vizsgázó válaszának a tartalmi vonatkozásai megfelelnek a megoldási útmutatóban megadott válasznak, akkor a válaszra adható pontot meg kell adni. Ha csak kis részben, vagy pedig nem felel meg a kapott válasz, akkor pont nem jár a válaszért. A pontszámok az I. részben a megadott részletezésnél tovább nem bonthatók (0,5 pont nem adható) Egyes esetekben előfordulhat, hogy egy általánostól eltérő rendszer használata miatt valamely

kérdésre a vizsgázó nem a várt válasz adja, de a válasza és az indoklása elfogadható. Ilyen esetben a kérdésre adható pontszámot meg kell adni Pl.: Táblázatkezelőkben magyar beállításnál a tizedesek elválasztásának a jele a vessző, és ez a várt válasz. Ha a vizsgázók munkájuk során angol beállítást használnak, vagy a vizsgázó odaírja ezt megjegyzésként, akkor az előző helyett az angol beállítású környezetben használt pont lesz a helyes válasz. A javítási-értékelési útmutatóban feltüntetett válaszokra kizárólag a megadott pontszámok adhatók. A megadott pontszámok további bontása csak ott lehetséges, ahol erre külön utalás van. Az így kialakult pontszámok csak egész pontok lehetnek. írásbeli vizsga 1021 2 / 19 2011. május 13 Informatikai alapismeretek emelt szint Javítási-értékelési útmutató I. Egyszerű rövid, illetve kifejtendő szöveges választ igénylő írásbeli feladatok Hardver 1) d

19 200 / (1 + 8 + 1) = 1 920 3 pont 2) a 1 280 * 720 2 = 1 843 200 bájt 3 pont 3) c bit/s 1 pont 4) b A processzor által ismert műveletek és utasítások összessége. 1 pont 5) c A csatlakozófej különbözik. 1 pont vagy d A D-SUB analóg, a DVI digitális jelet visz. Megjegyzés: c és d együttes jelölése is elfogadható, de a feladatra maximum 1 pont adható. 6) I, H, H, H, H 5 pont 7) Webkamera 2 pont 8) CCD: c 9) b ADSL: a CYMK: d AGP: b Az USB legfrissebb verziója a 2.0-ás 2 pont 1 pont Szoftver 10) 3-2-1-5-4 2 pont 11) I, I, I, H, I, H 6 pont 12) b a processzor által aktívan használt, gyors elérésű memória, amely a futó programokat és azok adatait tárolja. 2 pont 13) c copy ment.txt+probatxt ptxt 3 pont Szövegszerkesztés, táblázatkezelés 14) H, H, H, I, H, H 6 pont 15) b 2 pont Kijelölöm a szövegrészt, majd a hasábok számát 2-re változtatom. írásbeli vizsga 1021 3 / 19 2011. május 13

Informatikai alapismeretek emelt szint Javítási-értékelési útmutató Informatikai alapok 16) a A bináris számok könnyen átalakíthatók 16-os számrendszerbe, és itt kevesebb számjeggyel írhatjuk le ugyanazokat az értékeket 1 pont 17) F=((A*C)+(BD))E, másképpen: F=((A and C) or (B and D)) and E 1 pont 18) 3 pont I. Ha az A, B, C, D logikai változók értéke rendre 1,0,0,1, és E=(A AND (NOT (B AND C)))OR(D OR (NOT (A AND C))) akkor az E logikai változó értéke 1 lesz. H . Az A=01100011 és a B= 00110010 bitcsoport azonos helyi értékű bitjei között kizáró vagy műveletet végezve az eredmény bitcsoport decimális értéke 123 lesz. 01100011 00110010 01010001 ez decimálisan 81 I. Ha az A, B, C logikai változók értéke rendre 0,1,1, és E=A OR (NOT (B AND NOT(C))) akkor az E logikai változó értéke 1 lesz. 19) c Decimálisan: 2035, binárisan 11111110011 1 pont Hálózati alapismeretek, HTML 20) b 11000110 00101011 10001011

00111001 2 pont 21) c <center> Ez az <b> első </b><u>próba</u></center> 1 pont 22) c Szállítási réteg. 1 pont Összesen: írásbeli vizsga 1021 4 / 19 50 pont 2011. május 13 Informatikai alapismeretek emelt szint Javítási-értékelési útmutató II. Programozási feladatok számítógépes megoldása 1. feladat 10 pont Feladatkitűzés: Írjon programot, amely előállítja egy pozitív egész szám római szám alakját az alábbiak szerint! − A program a felhasználótól kérje be a pozitív egész számot! − A beolvasás során semmilyen ellenőrzést nem kell végezni, feltételezzük, hogy a szám az [1.3999] egész intervallumba esik − Az átváltás szabályai a következő táblázatban foglalhatók össze: Egyesek Tízesek Százasok Ezresek 0 - 1 I X C M 2 II XX CC MM 3 III XXX CCC MMM 4 IV XL CD - 5 V L D - 6 VI LX DC - 7 VII LXX DCC - 8 VIII LXXX DCCC - 9 IX XC CM - − A különböző

helyi értékeket külön-külön át kell váltanunk, és egyszerűen egymás mellé kell írnunk. − Példák: Szám 72 953 2618 Ezresek MM Százasok CM DC Tízesek LXX L X Egyesek II III VIII Római LXXII CMLIII MMDCXVIII Fontos megkötések a program írásakor: − Az egyesek, tízesek, százasok, ezresek esetében ugyanazon érték esetében ugyanaz a programrész végezze el az átváltást, csak a helyi értéktől függően más-más szimbólumokat használjon! o Például: egy 7-es érték az egyesek esetén VII, a tízesek esetén LXX, a százasok esetén DCC alakú lesz, amelyek az azonos szerkezet miatt ugyanazzal a programrésszel előállíthatók. o Segítség: érdemes egy függvényt írnia, amelynek paraméterei a helyi érték, és az átváltandó érték. − Ahol csak lehet, alkalmazzon ciklust az elágazások kiküszöbölésére! o Például: a 5,6,7,8 értékek ugyanazzal a ciklussal átválthatók. − Ügyeljen arra, hogy a 0 érték átalakításakor

a program üres stringet állítson elő! Beadandó a feladatot megoldó program forráskódja. A feladat megoldásaként teljes, fordítható és futtatható kódot kérünk, mely az adatokat billentyűzetről (standard input) olvassa, és a képernyőre (standard output) írja ki. Vizuális fejlesztőeszköz használata esetén a megoldást konzol (szöveges ablakban futó) alkalmazásként kérjük elkészíteni. írásbeli vizsga 1021 5 / 19 2011. május 13 Informatikai alapismeretek emelt szint Javítási-értékelési útmutató Mintamegoldás: a program C# nyelven kódolva using using using using System; System.CollectionsGeneric; System.Linq; System.Text; namespace Feladat1 { class Romai { public static char[] romaiszamjegyek = {I,V,X,L,C,D,M}; public static string arabszamjegybol romai(int ertek, int helyiertek) { string r ="" ; if (!(ertek == 4 || ertek == 9)) // Ha ertek nem 4, vagy 9 { if (ertek >= 5) // Beállítás V-re, L-re, vagy D-re { r +=

romaiszamjegyek[2 * helyiertek+1]; } for (int i = 0; i < ertek%5; i++) //A megfelelő számú I, X vagy C mögé fűzése { r += romaiszamjegyek[2 * helyiertek]; } } else // Ha az ertek 4 vagy 9, akkor r += String.Concat( romaiszamjegyek[2 * helyiertek], romaiszamjegyek[2 * helyiertek + 1+(ertek/5)]); return r; } } public static string romai(int arab) { string s = arab.ToString(); string romai = ""; for (int i = 0; i <s.Length ; i++) { romai += arabszamjegybol romai(s[i]-48, s.Length-i-1)ToString(); } return romai; } class teszt { public teszt() { Console.WriteLine("Római szám "); Console.WriteLine("Adjon meg egy egész számot 1 és 3999 között: "); int arabszam = int.Parse(ConsoleReadLine()); Console.WriteLine("Római szám alakban: "); Console.WriteLine(Romairomai(arabszam)); Console.ReadLine(); } } } class Program { static void Main(string[] args) { teszt t = new teszt(); } } írásbeli vizsga 1021 6 / 19 2011. május 13

Informatikai alapismeretek emelt szint Javítási-értékelési útmutató Értékelés: a) A programkód szintaktikailag hibátlan, lefordítható . 1 pont – Ez a pont csak abban az esetben adható meg, ha a programkód tartalmaz a b-d szakaszokba tartozó, összességében legalább 3 pontot érő részmegoldást. b) Az adat beolvasása, végeredmény kiírása . 1 pont – Egyértelmű beolvasás, a végeredmény kiírása c) Átalakítás római számmá. 8 pont – A 0,1,2,3 értékek helyes átváltása legalább egy helyi értéken: 1 pont – Az 5,6,7,8 értékek helyes átváltása legalább egy helyi értéken: 1 pont – Az átváltás az előző két esetben ciklussal történik: 1 pont – A 0,1,2,3 és 5,6,7,8 értékek átváltása minden helyi értéken helyes: 1 pont – A 4 és 9 értékek helyes átváltása legalább egy helyi értéken: 1 pont – A 4 és 9 értékek átváltása minden helyi értéken helyes: 1 pont – A számjegyek átváltott alakja

összefűzésre kerül: 1 pont – Az összefűzés a helyes sorrendben történik: 1 pont írásbeli vizsga 1021 7 / 19 2011. május 13 Informatikai alapismeretek emelt szint Javítási-értékelési útmutató 2. feladat 10 pont Feladatkitűzés: Egy tenisz adogatógép tesztelése során a teniszlabdákat különböző kezdősebességgel és szöggel lövik ki, majd lemérik, hogy milyen távolságra repülnek a labdák. Írjon programot, amely lehetőséget ad arra, hogy meghatározhassuk a kipróbált kezdősebességekhez és kilövési szögekhez tartozó távolságokat, és egyszerű statisztikát készíthessünk a mért és számított távolságértékek közötti különbségekről! – Adatbevitel o A program tegye lehetővé az adatok bevitelét a billentyűzetről! ƒ A kezdősebesség m/s-ban megadott pozitív valós szám, amelynek maximális értéke 40 m/s. ƒ A kilövési szög fokokban megadott pozitív, de 90-nél kisebb egész érték. ƒ A mért

távolság m-ben megadott pozitív valós érték. o A beolvasás során a program csak az előbb leírt feltételeknek megfelelő adatokat fogadjon el! Típusellenőrzést nem kell végeznie! o A beolvasás akkor érjen véget, ha a felhasználó kezdősebességként 0 m/s-ot ad meg! – Határozza meg a program, hogy mely bemenő paraméterek esetén volt a mért és számított értékek között a legnagyobb az abszolút eltérés! 2 v ⋅ sin 2α o A távolság kiszámítására az s = 0 képletet alkalmazzuk, ahol v0 a g m kezdősebesség, α a kilövési szög, s pedig távolság, g értéke 9,81 2 . s o A kiszámított távolságértéket ne kerekítsük! o Az eltérést %-ban adjuk meg, 100%-nak a program által kiszámított távolságot tekintsük! ƒ A %-os eredmény egészre legyen kerekítve! ƒ Pl. ha a számított távolság 100 m, a mért távolság pedig 90 m, akkor az eltérés -10%, tehát az abszolút eltérés 10%. ƒ Ha a számított távolság 10 m, a mért

távolság 11,5 m, akkor az abszolút eltérés 15%. o A vizsgálat elvégzése után a program írja ki, hogy hányadik tesztelés adatai esetén adódott a legnagyobb abszolút eltérés! A feladat megoldásaként teljes, fordítható és futtatható kódot kérünk, mely az adatokat billentyűzetről (standard input) olvassa, és a képernyőre (standard output) írja ki. Vizuális fejlesztőeszköz használata esetén az algoritmust konzol alkalmazásként (szöveges ablakban futó) kérjük elkészíteni! Beadandó: a feladatot megoldó program forráskódja. írásbeli vizsga 1021 8 / 19 2011. május 13 Informatikai alapismeretek emelt szint Javítási-értékelési útmutató Mintamegoldás: a feladat egy lehetséges megoldása C# nyelven (A tördelési problémák miatt a fájlban mellékelt megoldáshoz képest a nagyon hosszú sorok néhány helyen áttördelve láthatók!) using using using using System; System.CollectionsGeneric; System.Linq; System.Text;

namespace Feladat2 { class Tenisz { private double v; private int alfa; private double sSzamitott, sMert; private int n; public Tenisz() { beolvas feldolgoz(); } public void beolvas feldolgoz() { bool kilep = false; n = 0; int ind = -1; int maxelteres = 0; Console.WriteLine("=> Adatok beolvasása:"); Console.WriteLine(); do { Console.WriteLine((n + 1) + " lövés: "); Console.WriteLine(" Kezdősebesség (m/s) "); do { Console.Write(" >"); v = Double.Parse(ConsoleReadLine()); } while (!((v >= 0) && (v <= 40))); kilep = (v == 0); if (!kilep) { Console.WriteLine(" Szög (fok) "); do { Console.Write(" >"); alfa = int.Parse(ConsoleReadLine()); } while (!((alfa > 0) && (alfa < 90))); Console.WriteLine(" Mért távolság (m) "); do { Console.Write(" >"); sMert = Double.Parse(ConsoleReadLine()); } while (!(sMert > 0)); sSzamitott = v * v Math.Sin(MathPI * 2 alfa / 180) /

9.81; int elteres = (int)Math.Round(((MathAbs(sMert / sSzamitott - 1)) * 100)); írásbeli vizsga 1021 9 / 19 2011. május 13 Informatikai alapismeretek emelt szint Javítási-értékelési útmutató Console.WriteLine(" Számított távolság: " +sSzamitott+" m"); Console.WriteLine(" Eltérés : " + elteres + " % "); if (elteres > maxelteres) { maxelteres = elteres; ind = n; } n++; } } } } } while (!kilep); if (n > 0) { Console.WriteLine("=> Eredmény:"); Console.WriteLine(); Console.WriteLine(" A mért és a számított érték között a legnagyobb eltérés a(z) " + (ind + 1) + ". lövésnél volt" );} Console.ReadLine(); class Program { static void Main(string[] args) { Tenisz t = new Tenisz(); } } írásbeli vizsga 1021 10 / 19 2011. május 13 Informatikai alapismeretek emelt szint Javítási-értékelési útmutató Értékelés: a) A programkód szintaktikailag hibátlan,

lefordítható . 1 pont – Ez a pont csak abban az esetben adható meg, ha a programkód tartalmaz a b-d szakaszokba tartozó, összességében legalább 3 pontot érő részmegoldást. b) Adatok beolvasása . 4 pont – A kezdősebesség ellenőrzött beolvasása, valós érték adható meg: 1 pont – A szög ellenőrzött beolvasása, egész érték adható meg: 1 pont – A mért távolság ellenőrzött beolvasása, valós érték adható meg: 1 pont A feladat megoldásához nem szükséges az értékeket tömbben tárolni. – A fenti adatokat ismételten bekéri, az adatbekérés a 0 végjelig tart: 1 pont c) Számítások . 4 pont – Számított távolság meghatározása o Szög átváltása fokból radiánra: 1 pont o A képlet helyes kódolása: 1 pont – %-os eltérés meghatározása: 2 pont d) A maximális eltérésű lövés sorszámának meghatározása, kiírása . 1 pont írásbeli vizsga 1021 11 / 19 2011. május 13 Informatikai alapismeretek emelt szint

Javítási-értékelési útmutató 3. feladat 15 pont Feladatkitűzés: Készítsen programot, amely egy osztály pénzügyi nyilvántartását modellezi a 2009/2010-es tanévre vonatkozóan! − A tanulók létszáma 25 és 35 közötti legyen, a tanulókat a sorszámukkal azonosítjuk. − Minden tanulónak egyedi számlaegyenlege van, amely az év elején minimum 1000 Ft, maximum 3 500 Ft. − Osztálypénz befizetés o A tanulóknak szeptembertől júniusig havonta 1000 Ft osztálypénzt kell befizetniük. o Egyszerre több havi osztálypénzt is be lehet fizetni, ebben az esetben a befizetés 1000 Ft valamely többszöröse. Ez az összes befizetés kb 20%-ában fordul elő o Lehet túlfizetés is, azaz a tanulók fizethetnek 10 000 Ft-nál többet is egy tanévben. o A befizetés a hónap során bármikor történhet, de egy hónapban csak egyszer. o Késő tanuló nincs, azaz mindenki minden hónapban befizet legalább 1000 Ft-ot. − Közös költségek o Az osztály

programokra, eszközökre havi 2000 és 5000 Ft közötti összeget költ, ennek az egy főre eső részét minden tanuló egyenlegéből le kell vonni. − Egyedi költségek o A tanulóknak a tanév során 1-3 alkalommal 1000 és 1500 Ft közötti egyéni kiadásuk is van, amelyet az érintett tanuló egyenlegéből le kell vonni. − Induláskor a program generálja véletlenszerűen a tanulók egyedi számlaegyenlegét! − Ezután az előbb leírtaknak megfelelően generálja véletlenszerűen és tárolja el a tanévre vonatkozó befizetések, illetve költségek fontos adatait: tanuló sorszáma, dátum, jelleg (befizetés, közös költség, egyéni költség), összeg. − A program készítsen kimutatást a tanulók éves befizetéseiről és költségeiről, az alábbi minta szerint! A lista a tanulók sorszáma szerint, azon belül a tranzakciók dátuma szerint növekvően legyen rendezve! Minta: Tanuló sorszáma: 17/30. Nyitóegyenleg: 2000 Ft Befizetések/költségek:

2009.0901 Osztálypénz 2009.0912 Közös költség 2009.0923 Egyéni költség 2009.1017 Közös költség 6000 -100 -1000 -200 Ft Ft Ft Ft Záróegyenleg: 6700 Ft − Megjegyzések: o A fenti lista nem teljes, csak a formai megjelenítést illusztrálja! o A tanuló sorszáma mellett tüntesse fel az osztály létszámát! A feladat megoldásaként teljes, fordítható és futtatható kódot kérünk, mely az adatokat a képernyőre (standard output) írja ki. Vizuális fejlesztőeszköz használata esetén az algoritmust konzol alkalmazásként (szöveges ablakban futó) kérjük elkészíteni! Beadandó: a feladatot megoldó program forráskódja. írásbeli vizsga 1021 12 / 19 2011. május 13 Informatikai alapismeretek emelt szint Javítási-értékelési útmutató Mintamegoldás: a feladat egy lehetséges megoldása C# nyelven (A tördelési problémák miatt a fájlban mellékelt megoldáshoz képest a nagyon hosszú sorok néhány helyen áttördelve

láthatók!) using using using using System; System.CollectionsGeneric; System.Linq; System.Text; namespace Feladat3 { enum jelleg { osztalypenz = 0, kozos = 1, egyeni = 2 } class Osztalykassza { private const int maxTranzakciodb = 23; private int tanulodb; private struct tranzakcio // Egy tranzakcio adatai { public DateTime datum; public jelleg jelleg; public int osszeg; } private struct tanulo // Egy tanuló adatai { public int nyitoegyenleg; public int zaroegyenleg; public int tranzakciodb; public tranzakcio[] tranzakciok; } private tanulo[] tanulok; public void general() { Random r = new Random(); tanulodb = r.Next(25,36); // A tanulók száma tanulok = new tanulo[tanulodb]; for (int i = 0; i < tanulodb; i++) { tanulok[i].nyitoegyenleg = rNext(1000, 3501); tanulok[i].tranzakciok=new tranzakcio[maxTranzakciodb]; for (int j = 0; j < 10; j++) { //Osztálypénz int honap=(j < 4 ? j + 9 : j - 3); tanulok[i].tranzakciok[j]datum = new DateTime((j<4?2009:2010),honap,

r.Next(1, DateTimeDaysInMonth(2009, honap)+1)); tanulok[i].tranzakciok[j]jelleg = jellegosztalypenz; tanulok[i].tranzakciok[j]osszeg = (r.NextDouble() > 02 ? 1000: 1000* r.Next(2, 5)); // Közös költség if (i == 0) { tanulok[i].tranzakciok[j + 10]datum = new DateTime((j < 4 ? 2009 : 2010), honap, r.Next(1, DateTimeDaysInMonth(2009, honap) + 1)); tanulok[i].tranzakciok[j + 10]osszeg = -r.Next(2000, 5001) / tanulodb; } else { tanulok[i].tranzakciok[j + 10]datum = tanulok[i - 1].tranzakciok[j + 10]datum; tanulok[i].tranzakciok[j + 10]osszeg = tanulok[i - 1].tranzakciok[j + 10]osszeg; } // else tanulok[i].tranzakciok[j + 10]jelleg = jellegkozos; } // for írásbeli vizsga 1021 13 / 19 2011. május 13 Informatikai alapismeretek emelt szint } Javítási-értékelési útmutató int egyedidb = r.Next(1, 4); for (int j = 0; j < egyedidb; j++) { int ev=(r.NextDouble() < 04 ? 2009: 2010); int honap=(ev==2009?r.Next(9,13):rNext(1,7)); tanulok[i].tranzakciok[j + 20]datum

= new DateTime(ev,honap,r.Next(1,28)); tanulok[i].tranzakciok[j + 20]jelleg = jellegegyeni; tanulok[i].tranzakciok[j + 20]osszeg = -rNext(1000, 1500); } tanulok[i].tranzakciodb = 20 + egyedidb; tanulok[i].zaroegyenleg = tanulok[i]nyitoegyenleg; for (int j = 0; j < tanulok[i].tranzakciodb; j++) { tanulok[i].zaroegyenleg += tanulok[i]tranzakciok[j]osszeg; } } public void rendez() { for (int k = 0; k < tanulodb; k++) { for (int i = 0; i < tanulok[k].tranzakciodb-1; i++) { for (int j = i + 1; j < tanulok[k].tranzakciodb; j++) { if (tanulok[k].tranzakciok[i]datum > tanulok[k].tranzakciok[j]datum) { tranzakcio s = tanulok[k].tranzakciok[i]; tanulok[k].tranzakciok[i] = tanulok[k]tranzakciok[j]; tanulok[k].tranzakciok[j] = s; } } } } } public void kiirat() { for (int i = 0; i < tanulodb; i++) { Console.WriteLine(" Tanuló sorszáma: "+(i + 1) + "/" + tanulodb); Console.WriteLine(" Nyitóegyenleg: "+ tanulok[i].nyitoegyenleg+" Ft");

Console.WriteLine(" Befizetések/költségek:"); for (int j = 0; j < tanulok[i].tranzakciodb; j++) { Console.WriteLine(StringFormat( "{0,10}{1:d}{2,5}{3,-20}{4,15}{5,3}", "", tanulok[i].tranzakciok[j]datum,"", (tanulok[i].tranzakciok[j]jelleg == jellegosztalypenz ? "Osztálypénz" : (tanulok[i].tranzakciok[j]jelleg == jellegkozos ? "Közös költség" : "Egyéni költség")) ,tanulok[i].tranzakciok[j]osszeg,"Ft")); } Console.WriteLine(" Záróegyenleg: " + tanulok[i].zaroegyenleg + " Ft"); Console.ReadLine(); } } } } class Program { static void Main(string[] args) { Osztalykassza o = new Osztalykassza(); o.general(); o.rendez(); o.kiirat();} } írásbeli vizsga 1021 14 / 19 2011. május 13 Informatikai alapismeretek emelt szint Javítási-értékelési útmutató Értékelés: a) A programkód szintaktikailag hibátlan, lefordítható . 1 pont – Ez a pont csak abban az

esetben adható meg, ha a programkód tartalmaz a b-e szakaszokba tartozó, összességében legalább 5 pontot érő részmegoldást. b) Adatgenerálás, adatok eltárolása . 7 pont – A tanulók létszámának generálása és tárolása: 1 pont Megjegyzés: a pont most és a továbbiakban is csak akkor jár, ha a generálás a feladatleírásban megadott intervallumban történik. – Nyitóegyenlegek generálása és tárolása minden tanuló esetében: 1 pont – Befizetések generálása és tárolása minden tanuló esetén, minden hónapban pontosan egyszer, dátummal együtt: 1 pont – A generált dátumok a program minden részében az iskolai tanévnek megfelelőek: 1 pont – A program az esetek kb. 20%-ában többhavi befizetést generál: 1 pont – Közös költségek generálása és tárolása minden tanuló esetén, jól kiszámolt negatív értékek, minden hónapban pontosan egyszer, dátummal együtt, minden tanulónak ugyanakkor és ugyanaz az érték: 1 pont

– Egyéni költségek generálása és tárolása minden tanuló esetén, negatív értékek, a tanév során 1-3 alkalommal, dátummal együtt: 1 pont c) Záróegyenlegek kiszámítása. 1 pont – A nyitóegyenleg, a befizetések és költségek összegzése minden tanuló esetén d) Rendezés . 2 pont – A tranzakciók dátum szerinti rendezése legalább egy tanuló esetében: 1pont – A tranzakciók dátum szerinti rendezése minden tanuló esetében: 1 pont Megjegyzés: a pont akkor is jár, ha a generálás úgy történik, hogy az adatok a megfelelő rendezettség szerint jönnek létre. e) Táblázatszerű kiírás: . 4 pont – A tanulók sorszám szerint növekvő rendezettségben jelennek meg, a sorszám a minta szerinti: 1 pont – Látható minden tanulónál a nyitó- és záróegyenleg: 1 pont – Minden tanuló esetében megjelenik a dátum, a tranzakció jellege és az összeg: 1 pont – A táblázat áttekinthető, a minta szerinti: 1 pont írásbeli vizsga

1021 15 / 19 2011. május 13 Informatikai alapismeretek emelt szint Javítási-értékelési útmutató 4. feladat 15 pont Feladatkitűzés: Adott a mesterek nevű adatbázis, amely mesteremberek megrendeléseivel kapcsolatos adatokat tartalmaz. Az adatbázis a vizsgabizottság által megadott helyen, MS-Access 2000 formátumú állományban található. Azok számára, akik az Access formátumát nem ismerő rendszert használnak, az adatbázis tábláit UTF-8 kódolású szöveges állományokban is megadtuk. Ezek első sorában az adott tábla mezőnevei, a többi sorban az adatrekordok találhatók. Az adatokat a sorokon belül pontosvessző határolja el egymástól. Az adatbázis elsősorban feladatkitűzési céllal készült, így nem modellezi tökéletesen a való életben felmerülő összes lehetséges helyzetet. Az adatbázis az alábbi táblákat és relációkat tartalmazza: mester( mesterazon nev varos telefon ) : : : : Egész szám Szöveg Szöveg Szöveg

tevekenyseg( tevekenysegazon : Egész szám tevekenyseg : Szöveg ) mester tevekenyseg( mtazon : Egész szám mesterazon : Egész szám tevekenysegazon : Egész szám ) megrendelo( megrendeloazon nev varos lakcim telefon ) : : : : : Egész szám Szöveg Szöveg Szöveg Szöveg munka( munkaazon megrendeloazon mtazon megrenddatum teljdatum munkadij garancia ) : : : : : : : Egész szám Egész szám Egész szám Dátum Dátum Pénznem Egész szám -> mester tevekenyseg.mesterazon -> mester tevekenyseg.tevekenysegazon -> munka.mtazon -> mester.mesterazon -> tevekenyseg.tevekenysegazon -> munka.megrendeloazon -> megrendelo.megrendeloazon -> mester tevekenyseg.mtazon A kettőspont után az adatmező típusát adtuk meg, a „->” karakterek után pedig a más táblákkal való kapcsolatot. Az elsődleges kulcsot aláhúzás jelöli. írásbeli vizsga 1021 16 / 19 2011. május 13 Informatikai alapismeretek emelt szint Javítási-értékelési

útmutató A mester adattábla tartalmazza a mesteremberek egyedi azonosítóját, nevét, városát és telefonszámát. A táblában szerepelhet több, ugyanolyan nevű mester, akár azonos városban is A tevekenyseg adattábla tartalmazza a mesterek által végzett tevékenységek azonosítóját és megnevezését. A mester tevekenyseg adattábla (kapcsolótábla) tartalmazza, hogy melyik mester milyen tevékenységet végez. Ugyanaz a mester több különböző tevékenységet is végezhet, és ugyanazt a tevékenységet több különböző mester is végezheti. Minden mester-tevékenység párosítás egyedi azonosítóval rendelkezik. A megrendelo adattábla a megrendelők azonosítóját, nevét, városát, lakcímét és telefonszámát tartalmazza. A munka adattábla tartalmazza az elvégzett munkákkal kapcsolatos adatokat: a megrendelő azonosítóját, a mester-tevékenység azonosítót, a megrendelés és teljesítés dátumát, a munkadíjat és a garancia években

mért idejét. A. Készítsen lekérdezést, amely megadja azoknak a mestereknek az azonosítóját, nevét és városát, akik valamelyik munkájukat a megrendeléstől számított 5 napon belül teljesítették, és ugyanarra a munkára 3 évnél kevesebb garanciát vállaltak! B. Siófokon a következő rendelkezést hozták: minden olyan mester, aki legalább 3 különböző tevékenységet végez, az elvégzett munkák összértéke után 10%-os támogatást kap. Készítsen lekérdezést, amely megadja a siófoki mestereknek kifizetett összes támogatás értékét! C. A pécsi mesterek az egyszerűbb kommunikáció érdekében ugyanahhoz a mobilszolgáltatóhoz szerződnek, de a régi számukat szeretnék megtartani Készítsen lekérdezést, amely a pécsi mesterek (20) és (30) kezdetű telefonszámaiban a szolgáltató-azonosítót egységesen (70)-re változtatja, a telefonszám további részét pedig változatlanul hagyja! A (70)-es számokat a lekérdezés semmilyen

módon ne módosítsa! o A telefonszámok 12 mind karakter hosszúak, pl. „(30) 1234567” o A feladat megoldása előtt készítsen másolatot a mestertábláról mester2 néven, és erre vonatkozóan készítse el a lekérdezést! írásbeli vizsga 1021 17 / 19 2011. május 13 Informatikai alapismeretek emelt szint Javítási-értékelési útmutató Megoldás, értékelés: a) Lekérdezés A . 4 pont – A lista a megadott mezőket tartalmazza1:1 pont – Mindegyik mester csak egyszer jelenik meg a listában2: 1 pont – A munkavégzés idejére és a garanciára vonatkozó szűrőfeltétel helyes3: 1 pont – A táblák közötti kapcsolat helyes4: 1 pont Egy lehetséges megoldás MS Access SQL-ben: Segédlekérdezés (ASeged): 1 SELECT mester.mesterazon, mesternev, mestervaros FROM munka, mester, mester tevekenyseg 4 WHERE (mester tevekenyseg.mtazon=munkamtazon) AND 4 (mester tevekenyseg.mesterazon=mestermesterazon) AND 3 (munka.teljdatum-munkamegrenddatum<=5) AND

(garancia<3) ; Fő lekérdezés (A): 1 SELECT mesterazon, nev, varos FROM Feladat1a 2 GROUP BY mesterazon, nev, varos ; b) Lekérdezés B . 7 pont – A városra vonatkozó szűrőfeltétel helyes 1:1 pont – A tevékenységek számára vonatkozó szűrőfeltétel helyes 2: 1 pont – A lekérdezés előállítja a feltételnek megfelelő mesterek azonosítóit3: 1 pont – Csoportosítás a mesterek azonosítója szerint4: 1 pont – A táblák közötti kapcsolat mindenütt helyes5: 1 pont – Szűrés a kiválogatott mesterekre vonatkozóan, a munkadíjak előállítása6: 1 pont – Helyes a számított mező7: 1 pont Egy lehetséges megoldás: Segédlekérdezés (BSeged): 6 SELECT munka.munkadij FROM munka, mester tevekenyseg 5 WHERE (mester tevekenyseg.mtazon=munkamtazon) AND 6 mester tevekenyseg.mesterazon In ( 3 SELECT mester tevekenyseg.mesterazon FROM mester tevekenyseg, mester WHERE 5 (mester.mesterazon=mester tevekenysegmesterazon) AND 1

(mester.varos="Siófok") 4 GROUP BY mester tevekenyseg.mesterazon 2 HAVING Count(mester tevekenyseg.tevekenysegazon)>=3 ; ); Fő lekérdezés (B): 7 SELECT Sum(munkadij)*0.1 AS Tamogatas FROM BSeged; írásbeli vizsga 1021 18 / 19 2011. május 13 Informatikai alapismeretek emelt szint Javítási-értékelési útmutató c) Lekérdezés C . 4 pont – A mester2 tábla létrehozása, frissítő lekérdezés alkalmazása1:1 pont – Helyes a telefonszámra vonatkozó szűrőfeltétel2: 1 pont – Helyes a városra vonatkozó szűrőfeltétel3: 1 pont – Helyes a módosítás4: 1 pont 1 1 UPDATE mester2 SET telefon = "(70"+Right(mester2.telefon,9) WHERE ( Left(mester2.telefon,3)="(30" Or 2 3 Left(mester2.telefon,3)="(20" ) AND mester2varos="Pécs" ; írásbeli vizsga 1021 19 / 19 4 2011. május 13