sobota 20. prosince 2014

Vánoční stromeček

Vyhlašuji soutěž o nejkrásnější vánoční stromeček. Ne úplně stromeček samotný, jako spíše kód který ho zobrazuje.

Zde je takový malý textový stromeček:


       *
      ***
     *****
       *
      ***
     *****
    *******
   *********
       *
      ***
     *****
    *******
   *********
  ***********
 *************


parametry = (blockCount:3, growFactor:2, firstBlockSize: 3}


Úkolem je udělat program, který podle daných parametrů vytiskne stromeček do konzole (nebo jinam dle chuti a libosti).  Stromeček se skládá z jednoho a více bloků (trojúhelníků) a každý blok z několika řádků.

Program si bere následující parametry:

block count - požadovaný počet bloků ve výsledném stromečku.
grow factor - o kolik řádků je blok delší než blok předchozí.  V obrázku nahoře si všimněte, že první blok má 3 řádky, druhý 5 a třetí 7. Počet řádků se zvyšuje blok od bloku o dva, tedy grow factor 2.
first block size - počet řádků prvního (horního) bloku.

Problém samotný není složitý, záleží jak k jeho řešení přistoupíte. Přímočaře by ho měl zvládnout bez větších problému prvák, ale s trochou experimentálního přístupu může být zajímavý i pro ostřílené programátory. Hotová řešení mi posílejte nebo rovnou uploadněte na github a pošlete odkaz. Zvláště si cením netradičních řešení se zajímavým nápadem. Volbu jazyka nechám na vás, klidně si to pište třeba v LOLCODE :) Různá vaše řešení si rozebereme zde po Vánocích.

Řešení pro funkcionální drsňáky - nepoužívejte cykly (while, for) a obejděte se i bez mutabilního stavu tzn. v javě používat pouze final proměnné. Využijte rekurze nebo prvků z JAVA 8 (píšete-li v Javě) viz. odkazy níže.

pro drsňáky pár odkazů:
Functional Programming in Java 8 video 
Turorial
Top 10 Java 8 Tutorials








středa 10. prosince 2014

Vánoční programování od Google

Google nám stejně jako minulý rok připravil Santa Tracker. Na Štědrý večer tak budete moci sledovat, kterou část planety Santa zrovna obsluhuje. Pro ty, kteří se nemohou dočkat Vánoc, připravil i adventní kalendář, který každý den odkrývá novou hru, video nebo naučné udělátko. A proč o tom mluvím já? Google se nás totiž mimo jiné rozhodl vzdělat i v psaní kódu. První cvičení uvolnil v úterý a další budou následovat. Cílí na úplné neprogramátory (děti), takže si cvičení může zkusit opravdu každý.

Tak jen do toho: https://santatracker.google.com/#codelab