Gábor Dénes Számítástechnikai Emlékverseny 2014/2015
2. forduló
Alkalmazói kategória
III. korcsoport
Gábor Dénes Számítástechnikai Emlékverseny 2014/2015 Programozói kategória 2. forduló
Kedves Versenyző!
• A feladatsor megoldására 180 perc áll rendelkezésre. • A forrásállományokat a forras_prog mappa megfelelő almappáiban találod! • A három, különböző felépítésű feladatsor közül egyet kell megoldanod. Választásod, továbbjutás esetén a döntőre is vonatkozik. • A feladatok megoldásához használható eszközök: a versenyző számára kijelölt számítógép, papír, toll, ceruza, lepecsételt jegyzetlap. • A feladatok megoldása során internetet nem lehet használni! • A feladatok tetszőleges sorrendben megoldhatók. • Hozz létre egy XXXXXXXXXXX szerkezetű könyvtárat, melybe a feladatok megoldásait mentheted. Az X-ek helyére a 11 jegyű oktatási azonosítód kerüljön. • Felhívjuk a figyelmedet a gyakori (10 percenkénti) mentésre, és feltétlenül javasoljuk a mentést minden esetben, mielőtt egy másik feladatba kezdesz. • A verseny végén ellenőrizd, hogy minden megoldás a megadott könyvtárban van-e, mert csak ezek értékelésére van lehetőség! • Javasoljuk, hogy a feladatokat először olvasd végig, utána egyenként oldd meg az egyes részfeladatokat! • Amennyiben a számítógéppel műszaki probléma van, jelezd a felügyelő tanárnak! A jelzés tényét és a megállapított hibát jegyzőkönyvezni kell. A kiesett idővel a verseny ideje meghosszabbítható. A feladatok megoldásával maximálisan 200 pontot érhetsz el.
Jó versenyzést kívánunk!
Feladatok - Programozói 2. forduló
1. oldal
2015. január 22.
Gábor Dénes Számítástechnikai Emlékverseny 2014/2015
2. forduló
Alkalmazói kategória
III. korcsoport
1. Felvételi (200 pont) (érettségi típusú feladat) A felveteli.txt állomány a Szegedi Tudományegyetem Természettudományi és Informatikai Karának 2009 és 2014 közötti felvételi adatait tartalmazza időrendi sorrendben. Egy adatsor pontosvesszővel elválasztva a következő értékeket tárolja: Év és felvételi időszak, Szak-szakpár, KMF, összes jelentkező, Első helyen jelentkező, Felvettek száma, Ponthatár. Az év és felvételi időszak két részre bontható. Elöl szerepel az évszám, majd egy „/” jellel elválasztva a felvételi időszak, ami három értéket vehet fel az alábbiak szerint: Á: szeptemberben induló képzések felvételi eljárása. P: szeptemberben induló képzések felvételi eljárása. (Pótfelvételi) K: februárban induló képzések felvételi eljárása. A KMF oszlop 3 információt közöl: • K képzési szint: o A alap o M mester • M: munkarend: o N nappali o L levelező • F: finanszírozási forma: o Á államilag finanszírozott o K önköltséges
2013/Á
biológus
MNA
137
95
59
77
A fenti adatsor értelmezése: • 2013 Szeptemberi felvételi eljárás • Biológus szak • Mester képzés • Nappali tagozat • Államilag finanszírozott • 137 jelentkező • első helyen 95 jelentkező • 59 felvett • ponthatár 77 Abban az esetben, ha a felvettek száma nulla, a ponthatárnál a nincs információ jelenik meg, rövidítve: „n.i.”
Feladatok - Programozói 2. forduló
2. oldal
2015. január 22.
Gábor Dénes Számítástechnikai Emlékverseny 2014/2015
2. forduló
Alkalmazói kategória
III. korcsoport
Készítsen programot felveteli néven, amely az alábbi feladatokat megoldja. Minden részfeladat megoldása előtt írja a képernyőre a feladat sorszámát! Ha a felhasználótól kér be adatot, jelenítse meg a képernyőn, hogy milyen értéket vár! 1. Olvassa be az adatokat majd oldja meg az alábbi feladatokat! 2. Írja ki, hány adatsor van az állományban, az alábbi formátumban: Az állományban 1000 db adatsor van! 3. Kérjen be egy egész számot Majd írja a képernyőre a megadott számú sor adatait a lentebbi formában! Amennyiben a szám nagyobb az adatsorok számánál, a „Túl nagy szám!” szöveget jelenítse meg! 2009/Á környezetmérnöki ALK 30 3 3 226 4. Jelenítse meg az alábbi formában, hogy 2011 szeptemberében (nem pótfelvételi), hány geográfus hallgató kezdhette el tanulmányait! 2011 szeptemberben 10 geográfus hallgatót vettek fel. 5. Számolja össze, hogy 2013 szeptemberében, hány államilag finanszírozott és hány önköltséges hallgatót vettek fel! Államilag finanszírozott: 1000 hallgató Önköltséges: 100 hallgató 6. Jelenítse meg, milyen tanári szakokat indítottak a megfigyelt időszakban! 7. Vajon létezik olyan szak, amiből alap- és mesterképzés is volt már? Ha igen írja ki ezeket, vagy a „Nincs ilyen!” feliratot jelenítse meg! 8. Keresse meg azon képzéseket, melyek az előző évekhez képest újdonságnak számítottak! Azaz az előző években nem szerepeltek sem nappali, sem levelező képzésben, vagy újonnan indították levelezőn. Írja ki az új képzés indítási évét és a szakot! 9. Fontos jelzőszám, hogy egy bizonyos szakra hányan jelentkeznek és ezeknek hány százalékát veszik fel. A tömörség kedvéért most csak az évenkénti és azon belül félévenkénti jelentkezések és felvettek számára vagyunk kíváncsiak, valamint a túljelentkezés százalékos értékére. Készítsen egy tuljel.txt állományt, melybe az adatok az alábbi formában jelennek meg! 2012 Február Összes jelentkező: 80 Összesen felvettek: 40 Túljelentkezés: 200% Szeptember Összes jelentkező: 6000 Összesen felvettek: 2000 Túljelentkezés: 300%
Feladatok - Programozói 2. forduló
3. oldal
2015. január 22.
Gábor Dénes Számítástechnikai Emlékverseny 2014/2015
2. forduló
Alkalmazói kategória
III. korcsoport
2. Jutalom, Űrhajók (vizuális fejlesztő eszközök használata) Jutalom (50 pont) Egy cég az alkalmazottainak jutalmat oszt. A jutalom maximális összege 500 000, minimális összege 50 000 forint. Az alkalmazottak nevei egy szövegfájlban találhatók (a versenyző hozza létre). Készítsen programot, amellyel a cégvezető grafikus felületen tudja beállítani az alkalmazottak jutalmát. A jutalom összegét az alkalmazott neve mellett megjelenő, a jutalom összegével arányos magasságú oszlop jelképezi. Az oszlop magasságát egérrel lehessen beállítani úgy, hogy a tetejét megragadva lehessen növelni vagy csökkenteni. Ha az egér az adott oszlop felett van, akkor jelenítse meg, a jutalom összegét. Az oszlop átméretezése közben is látszódjon, milyen összegnél tartunk éppen. Legyen egy mentés gomb, ami az adatokat fájlba menti. Ha a programot elindítjuk, akkor a fájlba mentett adatok töltődjenek be. Űrhajók (150 pont) Írjon egyszerű játékprogramot. Jelenjen meg a képernyőn néhány ellenséges űrhajó és a saját űrhajónk is. Az ellenséges űrhajók számát lehessen beállítani 3 és 10 között. A saját űrhajónkat a kurzor mozgató billentyűkkel lehessen irányítani. Az F billentyűvel lehessen lőni, egy lenyomással egy rakétát. Abba az irányba lövünk, amerre az ágyúnk mutat. A J és B billentyűkkel lehessen forgatni az űrhajónkat. Az ellenséges űrhajók maguktól mozogjanak és lőjenek, próbáljanak minket eltalálni. A kilőtt rakétákat lehessen látni a képernyőn, egyszerre akár többet is. Az eltalált űrhajók robbanjanak fel. Az ellenséges űrhajók, ha rosszul céloznak, egymást is tudják felrobbantani.
Feladatok - Programozói 2. forduló
4. oldal
2015. január 22.
Gábor Dénes Számítástechnikai Emlékverseny 2014/2015
2. forduló
Alkalmazói kategória
III. korcsoport
3. Liliom virágüzlet (webprogramozás) Készíts weblapot a LILIOM virágüzletnek! Az első lapon a jobb sarokban helyezz el egy animációt, amit önállóan készítesz el! Az animációban 6 kép (anim1.jpg, anim2.jpg, anim3.jpg, anim4.jpg, anim5.jpg és anim6.jpg) váltakozzon. Mindegyik kép után másfajta átmenet legyen! Mindegyik kép 5 másodpercig legyen látható, majd jöjjön a következő, végül a „LILIOM VIRÁGÜZLET” szöveg jelenjen meg! Stíluslappal készítsd el a következő beállításokat, majd a stíluslapot csatold az oldalhoz: • • • • •
a kekhatter.jpg kép legyen a háttérkép és ismétlődjön csak felül! Az oldal háttérszíne: # b9d3f6! A betűk színe: # 00279d! A menü szövegén, ha elhúzzuk az egeret, váltson #f5a8f6 színre! A táblázat szegélye legyen 2 pontos és # 00279d színű! a div-ek szélessége 80% és a képernyő közepén vannak!
A weblap szerkezete a következő legyen:
Felirat
felso div animáció menü
menu div tartalom div A felso div-ben: legyen egy felirat # 00279d színnel: „Üdvözöljük a LILIOM VIRÁGÜZLET honapján!”, ne takarja a felső virágokat! Az animáció jobbról. A felso div magassága 250px. A menu div-ben a menüpontok vízszintesen egymás mellett jelenjenek meg, a linkeket pedig az alatta lévő tartalom div-be töltse. A menu div magassága 105px és a háttérszíne #5295ef legyen! • Rólunk • Virágok • Árjegyzék • Megrendelés • Keresés A RÓLUNK lapra kattintva legyen olvasható a szöveg, amit a rolunk.txt fájlban találsz. A szöveg a lapon 80% szélességben jelenjen meg! A rolunk.jpg képet is illeszd a lapra, balról vegye körbe a szöveg! Állíts a képnek 2pt-os szegélyt! A VIRÁGOK lapon legyen 2 gomb: CSOKROK és KOSARAK! Ha a felhasználó rákattint a CSOKROK gombra a csokor.txt fájlból íródjon ki a szöveg a képernyőre, ha viszont a KOSARAK gombra kattint, akkor a kosarak.txt-ből kerüljön a szöveg a képernyőre! A beolvasást úgy készítsd el, hogy a szövegfájlra hivatkozz, hogy a mindenkori szövegfájl tartalma töltődjön a képernyőre! Csokor választása esetén, a szöveg alatt jelenjen meg a csokor.jpg kép, kosár választása esetén jelenjen meg a kosar.jpg kép! Az ÁRJEGYZÉK lapon legyen egy legördülő menü, és egy OK gomb. A legördülő menüből a virágok neveit lehessen választani, melyet az arak.txt-ben találsz. Miután kiválasztjuk a virágot, jelenjen meg egy 3 oszlopos 1 soros táblázat, amelynek az első oszlopa tartalmazza a megfelelő virág képét (1.jpg, 2.jpg…15.jpg), a második oszlopban jelenjen meg a virág neve, a harmadikban pedig az ára! Feladatok - Programozói 2. forduló
5. oldal
2015. január 22.
Gábor Dénes Számítástechnikai Emlékverseny 2014/2015
2. forduló
Alkalmazói kategória
III. korcsoport
A MEGRENDELÉS lapon legyen 5 beviteli mező, mely a megrendelő nevét, címét, irányítószámát, városát és telefonszámát tartalmazza! Ezek alatt egy megrendelés dátuma beviteli mező, amelybe íródjon be automatikusan a mai dátum. Legördíthető menüben jelennek meg a virágok (arak.txt), amik választhatók, mellette egy darabszám mező, alatta 2 választókapcsoló csokor vagy kosár választási lehetőséggel, valamint egy jelölőnégyzetben, hogy kér e kiszállítást vagy nem. A beviteli mezők alatt legyen, a Megrendel gomb, amire kattintva a kiválasztott virág és a darabszáma, valamint az, hogy csokor-e vagy kosár, a megrendelő adatai (név, város, cím, irányítószám, telefon) és a fizetendő összeg (virag), beíródik egy rendelesek.csv fájlba! Segítség a számoláshoz: (Fizetendő összeg: virag x darabszam +(ha csokor akkor még +1000Ft, ha kosár akkor még +2000Ft) + (ha kér szállítást akkor még +500Ft) A megrendelés ellenőrzése végett a képernyőre is íródjon ki, amit a fájlba beírtál! A rendelés tételei automatikusan továbbítódjanak emailben a
[email protected] címre! A KERESÉS lapon legyen egy bejelentkezési űrlap felhasználónév és jelszó szövegdobozokkal. Ha ide az admin felhasználónevet és az 12345 jelszót írják be jelenjen meg legyen egy legördülő menü, amelyből választhatók a virágok (arak.txt-ben találod)! Legyen egy Szűrés gomb, amelyre ha kattintunk, kiválogatja a rendelesek.csv fájlból a kiválasztott virágot rendelő személyeket! Táblázatba rendezve jelenjen meg a Megrendelő neve, városa és a kiválasztott virág! Ha nem a fent megadott felhasználónévjelszó párost írják be, a bejelentkezési űrlap alatt jelenjen meg a „Hibás adatok” felirat!
Feladatok - Programozói 2. forduló
6. oldal
2015. január 22.