Negyedik beadandó feladat 2013.05.14 -- 2013.06.14:
(1 pont)
RUBY beadandó!
Adott egy adatfájl, ami tartalmaza egy terem beosztását a következő alakban (az egyes elemek TAB-al és esetleg további
space-ekkel vannak elválasztva, illetve a sor elején is mindig található egy TAB) :
Hétfo 8:00 10:00 ETR_28135 lh1n1522 Vízföldrajz EA eloadás 1
Hétfo 12:00 14:00 ETR_28134 lh1n1544 Természetföldrajzi szintézis EA eloadás 1
Hétfo 14:00 16:00 ETR_23516 IP-08cSCNYE Scriptnyelvek eloadás 1
Kedd 8:00 10:00 teremtatk Teremfoglalás - TÁTK teremfoglalás 13
Kedd 10:00 12:00 ETR_29205 og1n1K19 Földfizika eloadás 1
Kedd 12:15 13:00 ETR_30934 wxxxsote001 Gyógyszerészeti növénytan EA eloadás 1
Kedd 13:00 14:00 ETR_69880 IP-08WF1EG Web fejlesztés 1 EA+GY (BSc 08 T) eloadás 1
Szerda 9:00 12:00 ETR_29109 bb1n1418 Növényélettan - I. EA eloadás 1
Szerda 12:00 14:00 ETR_27255 ga1n1022 Környezetgeológia eloadás 1
Szerda 14:00 15:00 ETR_64212 IP-08bcAN3G Analízis 3 EA+GY eloadás 1
Szerda 15:00 16:00 ETR_64815 IP-08bEVALK1EG Eseményvezérelt alkalmazások fejlesztése 1 EA+GY. (BSc,08,B) eloadás 1
Szerda 16:00 17:45 ETR_55797 IP-08abcFNYEG Formális nyelvek és automaták EA+GY. (BSc 08 A,B,C) eloadás 2
Csütörtök 8:00 11:00 ETR_29112 bb1n1630 Állatélettan - II. EA eloadás 1
Csütörtök 11:00 12:00 ETR_41670 IP-tWF2E Web-fejlesztés 2. EA (T) eloadás 1
Csütörtök 12:00 14:00 TÁTK_57550 NTb24 Nemzetközi gazdaságtan II. eloadás 1
Csütörtök 14:00 16:00 TÁTK_52425 TT123 Kommunikációelmélet eloadás 1
Péntek 8:00 10:00 ETR_29094 bb1n1413 Növényrendszertan - II. EA eloadás 1
Péntek 10:00 12:00 TÁTK_52468 TTD501 A kultúra arcai II. gyakorlat 1
Péntek 12:00 14:00 TÁTK_53314 SZ322 Statisztika 1 eloadás 1
Péntek 14:00 16:00 ETR_28974 xh1n1322 Az Európai Unió EA eloadás 1
Készíts olyan ruby programot, ami a fentiek alapján elkészít két fájlt. Az első (legyen a neve "pentek.txt") a pénteki előadások nevét
tartalmazza a következő alakban:
Növényrendszertan - II. EA
Statisztika 1
Az Európai Unió EA
A második pedig (legyen a neve "tiz.txt") a 10:00-tól 12:00-ig tartó órák kódját a következő alakban:
ETR_29205
TÁTK_52468
A program neve legyen "bead5.rb", az inputfájl neve legyen a program parancssori paramétere.
További követelmény, hogy a program hianyzó paraméter esetén: "Keves parameter!", míg rosszul
megadott paraméter esetén: "Nincs ilyen file!" hibaüzenetet adjon.
Minta fájlok: terem.txt,
pentek.txt, tiz.txt,
Beadás módja: a https://pnyf.inf.elte.hu/ebr beadandó szerveren keresztül.
Harmadik beadandó feladat (ugyanaz, mint nappali egypontos része) 2013.04.30 -- 2013.05.31:
(1 pont)
Vegyünk egy olyan programozási nyelvet, amelyben a szekvenciát "utasitas ::: utasitas" szerkezet, az elágazást
"IF feltetel BLOCKB utasitasok BLOCKE" szerkezet, míg a ciklust "FOR szekv BLOCKB utasitasok BLOCKE" szerkezet jelöli és legyen
adott egy ilyen nyelven írt program (a szerkezetekben az utasítások helyes python utasítások):
import sys
n = int(sys.argv[1]) ::: print "A program eleje!"
FOR k in range(1,n) BLOCKB print "Az ertek:" ::: print k BLOCKE
IF n < 5 BLOCKB print n ::: print "Kisebb, mint 5!" BLOCKE
Készíts olyan programot, ami a fentiek alapján egy helyes python programot készít "for",
illetve "if" szerkezeteket használva a belső blokkokat mindig 1 db TAB-al beljebb kezdve:
import sys
n = int(sys.argv[1])
print "A program eleje!"
for k in range(1,n) :
print "Az ertek:"
print k
if n < 5 :
print n
print "Kisebb, mint 5!"
Feltehető, hogy a ciklusokon/elágazásokon belül nincs újabb ciklus/elágazás.
A program neve legyen "bead3.py", az inputfájl neve legyen a program parancssori paramétere, az elkészített fájl neve
pedig legyen "out.py". További követelmény, hogy a program hianyzó paraméter esetén: "Keves parameter!", míg rosszul
megadott paraméter esetén: "A megadott inputfajl nem letezik!" hibaüzenetet adjon.
Minta fájlok és ellenőrző szkript: check.zip. (Nektek csak az egypontos részt kell figyelni!)
Beadás módja: a https://pnyf.inf.elte.hu/ebr beadandó szerveren keresztül.
Regisztrációt követően lehet belépni és a megfelelő beadandónál zip-pel tömörített formában lehet feltölteni a kész programot.
Második beadandó feladat (ugyanaz, mint nappalin)(bead2.py), 2013.04.03 -- 2013.05.01:
(1 pont)
Adott egy adatfájl, ami egy adott reptérről induló gépek menetrendjét tartalmazza a
következő alakban:
Járatszám Hova Tervezett Várható Term. Megj.
W6201 London Luton 06:00 06:37 1 Felszállt
LH1685 Munich 06:50 07:08 2A Felszállt
SN7158 Munich 06:50 07:08 2A Felszállt
UA9143 Munich 06:50 07:08 2A Felszállt
LH3449 Frankfurt 07:05 07:15 2A Felszállt
BA4450 London-LGW 07:20 07:34 2B Felszállt
BT5770 Berlin TXL 07:25 07:25 2A Felszállt
AA7277 Frankfurt 07:45 07:54 2A Felszállt
LH1335 Frankfurt 09:45 09:56 2A Felszállt
AC9039 Frankfurt 09:45 09:56 2A Felszállt
EZS4238 Paris ORY 10:25 10:15 1 Felszállt
MA4869 London LHR 12:45 12:55 2B Felszállt
MA110 Kiev 12:50 2B
MA6558 Paris CDG 12:50 2A
LH3445 Frankfurt 15:35 2A
SK3772 Frankfurt 15:35 2A
MA614 London-LGW 16:30 2B
BA4452 London-LGW 16:30 2B
MA240 Beirut 23:10 2B
(A járatszám minimum 5, maximum 7 hosszú, a lufthansa járatok esetén 'LH' karakterekkel kezdődő karaktersorozat,
a várható felszállási időpont nem szerepel kötelezően, ilyenkor a várható időpont a tervezettel egyezik meg.)
Készíts olyan programot, ami a fentiek alapján "+f" kapcsoló hatására egy olyan fájlt készít, amely a Frankfurtba induló járatok járatszámát tartalmazza, míg "+l" kapcsoló hatására olyat, ami
a késve elindult Lufthansa járatok járatszámát és késését percben (vesszővel elválasztva).
Pl. a fenti input.txt esetén: "python bead2.py +f input.txt" eredménye:
LH3449
AA7277
LH1335
AC9039
LH3445
SK3772
"python bead2.py +l input.txt" eredménye:
LH1685,18
LH3449,10
LH1335,11
A program neve legyen "bead2.py", az inputfájl neve legyen a program parancssori paramétere, az elkészített fájl neve
pedig mindkét esetben legyen "eredmeny.txt". További követelmény, hogy a program hianyzó (azaz kettőnél kevesebb) paraméter esetén: "Nincs argumentum!", míg rosszul
megadott fájlnév paraméter esetén: "Nincs ilyen file!" hibaüzenetet adjon.
Minta fájlok és ellenőrző szkript: check.zip.
Beadás módja: a https://pnyf.inf.elte.hu/ebr beadandó szerveren keresztül.
Regisztrációt követően lehet belépni és a megfelelő beadandónál zip-pel tömörített formában lehet feltölteni a kész programot (csak a "bead2.py"-t kell).
Első beadandó feladat (ugyanaz, mint nappalin)(bead1.py), 2013.03.13 -- 2013.04.12:
(1 pont)
Adott egy adatfájl, ami különböző személyek heti utalásait tartalmazza (feltehető, hogy mindegyik személyhez tartozik legalább egy adat), egy utalás egy azonosítót és egy értéket tartalmaz (valahány szóközzel elválasztva). Emellett a fájl üres sorokat is tartalmazhat:
Kiss Ádám
12 2345
45 6780
63 3210
Nagy Péter
10 15430
11 1230
23 3450
Fehér Zsolt
2 12130
11 32410
15 4520
Készíts olyan programot, ami a fentiek alapján egy olyan fájlt készít, amely minden személy esetén megadja a heti legnagyobb utalás azonosítóját
a következő alakban:
Kiss Ádám 45
Nagy Péter 10
Fehér Zsolt 11
A program neve legyen "bead1.py", az inputfájl neve legyen a program parancssori paramétere, az elkészített fájl neve
pedig legyen "eredmeny.txt". További követelmény, hogy a program hianyzó paraméter esetén: "Nincs argumentum!", míg rosszul
megadott paraméter esetén: "Nincs ilyen file!" hibaüzenetet adjon.
Minta fájlok: adatok2.txt, adatok3.txt,
eredmeny2.txt, eredmeny3.txt.
A program működését tesztelni lehet a következő scripttel: check.py (javított verzió). (Használat:
az elkészített bead1.py-t és az előbbi 5 fájlt egy könyvtárba helyezve: "python check.py"). A script csak az alapvető működést vizsgálja,
ha "Jó eredmény!"-t jelez, még nem biztos, hogy 1 pontos a program, viszont ha nem ezt jelzi, akkor biztosan 0 pontos.
Beadás módja: a https://pnyf.inf.elte.hu/ebr beadandó szerveren keresztül. Regisztrációt követően (a Neptun azonosítóval) lehet belépni és a megfelelő beadandónál zip-pel tömörített formában lehet feltölteni a kész programot (csak a "bead1.py"-t kell).
A szerver nem ellenőrzi automatikusan a beadott program helyességét. Az ellenőrzést segítő minta fájlok néhány napon belül felkerülnek az oldalra.