Recent Changes - Search:

Oktatás

* Programozás 2
  + feladatsor
  + C feladatsor
  + Python feladatsor
  + GitHub oldal

* Szkriptnyelvek
  + feladatsor
  + quick link

* levelezősök
  + Adator. prog.
  + feladatsor
  + quick link

teaching assets


Félévek

* 2024/25/1
* archívum


Linkek

* kalendárium
   - munkaszüneti napok '20
* tételsorok
* jegyzetek
* szakdolgozat / PhD
* ösztöndíjak
* certificates
* C lang.
* C++
* C#
* Clojure
* D lang.
* Java
* Nim
* Scala


[ edit | logout ]
[ sandbox | passwd ]

Py3 /

20150525a

256 byte compo, avagy "Addig tömörítsük, amíg lehet!"

Háttér

"A demoscene (ejtsd: demószín) egy nemzetközi, underground számítástechnikai szubkultúra, melynek tagjai különböző számítógépes digitális művészeti alkotásokat készítenek, legyen az zene, grafika, animáció vagy programozás, kizárólag az alkotás öröme miatt. A demoscene-en belül, hasonlóan más önszerveződő szubkultúrákhoz a résztvevők többnyire néhány fős, olykor nemzetközi csapatokba tömörülve hozzák létre a közös műveiket. A csapatok legfontosabb tagjai a programozó (coder), a grafikus, a zenész és az utóbbi időkben a 3D modeller, aki a három dimenziós látványvilág tervezéséért felelős…

A demoscene-ben mindenféle alkotói önmegvalósítás (grafika, zene, programozás, animáció) jól megfér egymás mellett, de mégis a műfaj csúcsát egy demo elkészítése jelenti, mivel itt a legteljesebb a csapatmunka. A demo (a demonstráció szóból eredeztetve) egy audiovizuális, non-interaktív, valós idejű bemutató, ami egy számítógépes program formájában készül el…

A demók lehetnek méretkorlátozottak is, ezeket hívja a zsargon intronak (az introdukció (bevezetés) szóból). Manapság a legnépszerűbb intro kategória a 64 kilobyte-os és a 4 kilobyte-os intro, de kedvelt kategória még pl. a 256 byte-os intro is. Az intro leginkább a coderek műfaja, itt mutathatják meg, hogy ilyen kis méretű programokkal mennyire meglepően, időnként pedig megdöbbentően nagyszerű látványvilágot lehet produkálni…" (idézet a scene.hu oldalról)

Feladat

Most nem demót kell írnunk, hanem egy méretkorlátozott Python programot. Az a nyerő, aki a feladatot a legrövidebb forráskódú programmal megoldja. A programnak ki kell írnia a képernyőre a Himnusz első két verszakát:

Isten, áldd meg a magyart
Jó kedvvel, bőséggel,
Nyújts feléje védő kart,
Ha küzd ellenséggel;
Bal sors akit régen tép,
Hozz rá víg esztendőt,
Megbűnhődte már e nép
A múltat s jövendőt!

Őseinket felhozád
Kárpát szent bércére,
Általad nyert szép hazát
Bendegúznak vére.
S merre zúgnak habjai
Tiszának, Dunának,
Árpád hős magzatjai
Felvirágozának.

Szabályok

  • A kódot Python 2-ben vagy Python 3-ban is megírhatja.
  • A Python forráskód hossza maximum 256 byte lehet!
  • A programot abból a könyvtárból kell indítani, ahol a forráskód elhelyezkedik.
  • A program így is indítható: bash$ python file_neve.py
  • A forráskódban nem lehet semmilyen fájlművelet (vagyis a verset nem lehet egy fájlból beolvasni).
  • A kód nem tartalmazhat semmilyen hálózati kommunikációt (vagyis a verset nem lehet egy webcímről letölteni).
  • A verset nem egy adatbázisból kell kiolvasni.
  • A forráskódban csak a standard könyvtár moduljai használhatók.
  • A programnak futnia kell egy ext* (ext2 / ext3 / ext4) fájlrendszerrel rendelkező Linux gépen.
  • A produkált kimenet a fenti két versszak legyen. Ha ezt átirányítja egy fájlba, akkor a fájl méretének 387 byte hosszúnak kell lenni.
  • A produkált kimenet pontosan úgy nézzen ki, mint fentebb látható. Ha a fenti két versszakot copy/paste módszerrel elmenti egy fájlba, s ezt összeveti a programja kimenetével, akkor a kettő között ne legyen eltérés (lásd diff parancs).
  • A program legyen gyors, max. néhány másodperc lehet a futási idő.
  • Megosztott memóriaterület, pipe, socket, stb. használata nem engedélyezett. Egy egyszerű kis programot kell írni, amit lefuttatva megkapjuk a fenti verset. Vagyis ha fogom a programot, s átmásolom egy frissen telepített, hálózat nélküli Linux gép tetszőleges könyvtárába, ott is fusson le, s a kívánt eredményt produkálja.

A feladat megoldható :)

Beküldött megoldások

Ez itt az Ön számára fenntartott hely :)

Cloud City

  

Blogjaim, hobbi projektjeim

* The Ubuntu Incident
* Python Adventures
* @GitHub
* heroku
* extra
* haladó Python
* YouTube listák


Debrecen | la France


[ edit ]

Edit - History - Print *** Report - Recent Changes - Search
Page last modified on 2018 April 16, 16:56