Hodnocení soutěžních úloh



Podobné dokumenty
Zadání soutěžních úloh

Hodnocení soutěžních úloh

Zadání soutěžních úloh

Zadání soutěžních úloh

Zadání soutěžních úloh

Hodnocení soutěžních úloh

Hodnocení soutěžních úloh

Zadání soutěžních úloh

Hodnocení soutěžních úloh

FortiaViewer verze 5.0

Zadání soutěžních úloh

Programy na PODMÍNĚNÝ příkaz IF a CASE

Školní kolo soutěže Mladý programátor 2013, kategorie C, D

Hodnocení soutěžních úloh

UniLog-D. v1.01 návod k obsluze software. Strana 1

BARVY. Příkaz barva. Barvy TrueColor. Se objeví dialogové okno

6. ROČNÍK ŠKOLNÍ SOUTĚŽE V PROGRAMOVÁNÍ 2013

Formulář pro křížový filtr

Cykly a pole

Při bodování se mohou přidělovat body za každou dílčí úlohu (tj. a, b ), maximální bodové hodnocení je uvedeno na konci každé dílčí úlohy.

Mezinárodní kolo soutěže Baltík 2010, kategorie C a D

Mistrovství České republiky v logických úlohách

Copyright 2013 Martin Kaňka;

Kreslení a vlastnosti objektů

P R OGR AM P R O NÁVRH VÝVAR U

Hledání správné cesty

Mezinárodní kolo soutěže Baltík 2009, kategorie A a B

Ovládání programu Měření délky

Zatížení nohou. Pro: Plantograf Petr Novák

Regionální kolo soutěže Mladý programátor 2016, kategorie A, B

2. cvičení z ZI1 - Excel

strategická desková hra pro dva hráče

Možnosti programu. KAPITOLA 5 Možnosti

Nápověda k používání mapové aplikace Katastrální mapy Obsah

Logika je logika Úlohy na dvoudenní turnaj v Brně 2012

Dotazy tvorba nových polí (vypočítané pole)

2. Svoje řešení pojmenujte podle čísel zadání úloh: uloha1.sgpbprj uloha4.sgpbprj

Školní kolo soutěže Baltík 2009, kategorie C

Zadání soutěžních úloh

2. Svoje řešení pojmenujte podle čísel zadání úloh: uloha1. sgpbprj uloha4. sgpbprj

Zadání soutěžních úloh

Školní kolo soutěže Mladý programátor 2015, kategorie A, B

UŽIVATELSKÁ PŘÍRUČKA PRO HOMEBANKING PPF banky a.s.


AC FORM FILLER. aplikace pro podání žádosti o poskytnutí finančního příspěvku. Verze 1.0

zobrazuje názvy polí, vložené hodnoty jednotlivých záznamů, lze v něm zadávat data (přidávat záznamy) v návrhovém zobrazení:

Reliance 3 design OBSAH

Celostátní kolo soutěže Mladý programátor 2012, kategorie A, B

II. Úlohy na vložené cykly a podprogramy

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Mezinárodní kolo soutěže Baltík 2007, kategorie A a B

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Databáze prodejců. Tlačítka. Vytvoří kartu nového prodejce (Alt+N); Změní vybraného prodejce Uloží nového prodejce nebo změnu (Alt+U);

PŘIDÁNÍ SOUBORŮ DO OBLASTI PŘIPRAVENÝCH ZMĚN

3 Makra Příklad 4 Access Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker.

Soutěž v programování - kategorie mládež 2010 Okresní kolo Gymnázium Klatovy

2. Technické požadavky k úpravě materiálů pro umístění ve 2GIS

UniLog-L. v0.81 návod k obsluze software. Strana 1

Práce s programem MPVaK

Registrační číslo projektu: Škola adresa:

Příjmení, jméno... Třída... Skupina...Počet bodů...

Konvertibilní Tablet STRUČNÁ PŘÍRUČKA 8085 LKB001X CJB1FH002ASA

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro editaci ŽS. Verze 1.

Archiv elektronických dokumentů Zela

Zadání soutěžních úloh

3 Makra Příklad 4 Access Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker.

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Označení šablony/označení sady VY_32_INOVACE_04_M3 M 3

téma: Parametrické a křížové dotazy v MS Access

Regionální kolo soutěže Baltík 2008, kategorie A a B

VISUAL BASIC. Přehled témat

Podrobný postup pro vyplnění, odeslání a stažení žádosti o poskytnutí dotace prostřednictvím veřejnoprávní smlouvy v elektronickém systému dle

Úloha 1 prokletá pyramida

DUM 06 téma: Tvorba makra pomocí VBA

Reporting. Ukazatele je možno definovat nad libovolnou tabulkou Helios Orange, která je zapsána v nadstavbě firmy SAPERTA v souboru tabulek:

59. ročník Matematické olympiády 2009/2010

Dotyková obrázovká v prográmu TRIFID

Aplikované úlohy Solid Edge. SPŠSE a VOŠ Liberec. Ing. Jan Boháček [ÚLOHA 27 NÁSTROJE KRESLENÍ]

Booklet soutěže družstev

SEMESTRÁLNÍ PROJEKT Y38PRO

Obslužný software. PAP ISO 9001

Celostátní kolo soutěže Mladý programátor 2014, kategorie A, B

Gymnázium, Praha 6, Arabská 16. předmět Programování, vyučující Tomáš Obdržálek Lodě Dokumentace ročníkového projektu Martin Karlík, 1E 17.5.

Supernova 16 Ovládací zkratky. Akce Funkce Stolní počítač Přenosný počítač Automatické popisování grafických objektů LEVÝ CONTROL + PRAVÁ HRANATÁ

Jak namalovat obraz v programu Malování

Zadání soutěžních úloh

Uživatelská příručka pro respondenty

3 Formuláře a sestavy Příklad 1 Access 2007

HELIOS - Zálohování BüroKomplet, s.r.o.

Vánoční turnaj GP Praha 2012

Mezinárodní kolo soutěže Baltík 2007, kategorie C

BLUE GAMES 300 MOD elektronik, s.r.o., Bělisko 1386, Nové Město na Moravě

PŘÍKAZ K ZADÁNÍ SEPA PLATBY V APLIKACI MULTICASH KB

Celostátní kolo soutěže Mladý programátor 2016, kategorie C

Dotykova obrazovka v programu TRIFID

1. Podmínky chodu aplikace

PROJEKT MINY - DOKUMENTACE

Sada 1 - Základy programování

Úvod do počítačových sítí

63. ročník Matematické olympiády 2013/2014

Celostátní kolo soutěže Mladý programátor 2015, kategorie C

Transkript:

Hodnocení soutěžních úloh Superciferný součet Koeficient 1 Kategorie mládež Soutěž v programování 24. ročník Krajské kolo 2009/2010 15. až 17. dubna 2010 Vaší úlohou je vytvořit program, který spočítá superciferný součet zadaného čísla. Ciferný součet je číslo, které je součtem všech číslic zadaného čísla. Superciferný součet je takové číslo, které vznikne opakováním operace ciferný součet tak dlouho, dokud není výsledek menší než 10. Příklad 1. Zadané číslo = 99 999 999 999 Ciferný součet = 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 = 99 Protože výsledek není menší než 10, opakujeme operaci Ciferný součet = 9 + 9 = 18 Protože výsledek není menší než 10, opakujeme operaci Ciferný součet = 1 + 8 = 9 9 je výsledný superciferný součet Příklad 2. Zadané číslo = 1 234 567 890 Ciferný součet = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 0 = 45 Protože výsledek není menší než 10, opakujeme operaci Ciferný součet = 4 + 5 = 9 9 je výsledný superciferný součet Zadané číslo se čte z textového souboru zvoleného uživatelem. Jiné znaky než číslice při čtení souboru ignorujte. Vstupní soubor může být velmi dlouhý. Počet číslic ale nepřesáhne 238 609 294. Výstupem programu je výsledný superciferný součet zobrazený na obrazovce. 1

Hodnocení Funkčnost dokumentace 2 body Program lze spustit Lze zadat vstupní soubor Lze zadat vstupní soubor komfortně -> procházení adresářů -> nemusí se vypisovat ručně Program spočítá test1.txt (výsledek je 3) do 2 s (malý soubor lze spočítat z hlavy) Spočítaný ciferný součet je na výstupu jasný a zřetelný Program spočítá test2.txt (výsledek je 9) do 5 s (soubor velký cca 1kB, obsahuje různé znaky) Program spočítá test3.txt (výsledek je 7) do 10 s (soubor velký cca 500MB, obsahuje různé znaky, počet číslic ale nepřesáhne 238 609 294) Program počítá vše do 1 s nebo ukazuje průběh výpočtu komentáře, přehlednost, výstižné názvy proměnných, 2

Závorky Koeficient 1 Napište program, který dostane jako parametr vstupní soubor. V souboru je velké množství závorek různých typů: kulaté ( ) hranaté [ ] složené { } lomené < > Kromě závorek se v souboru mohou vyskytovat i další znaky, které můžete ignorovat. Zjistěte, zda je uzávorkování správné. Uzávorkování je správné když: první závorka je levá a existuje k ní pravá závorka stejného typu; vnitřek mezi těmito závorkami je správně uzávorkován; zbytek za pravou závorkou je správně uzávorkován. Program vypíše OK, je-li uzávorkování správné a Chyba, není-li uzávorkování správné. Příklad 3. (<{}<>>){<><>} OK (<{}<>)>{<><>} Chyba (<{}<>>{<><>} Chyba Zkuste program napsat tak, aby fungoval rychle i pro velké soubory (řádově stovky miliónů závorek). 3

Hodnocení Funkčnost dokumentace Program lze spustit a soubor nic.txt lze vyhodnotit (ne nutně správně) a program nehavaruje Vstupní soubor lze zadat komfortně -> procházení adresářů -> nemusí se vypisovat ručně Správně vyhodnotí všechny soubory zadani1.txt, zadani2.txt a zadani3.txt Správně vyhodnotí oba soubory TestA_ERR.txt a TestA_OK.txt, jinak nic Správně vyhodnotí soubor TestB_OK.txt Správně vyhodnotí soubor TestC_OK.txt Program vyhodnotí soubor 200MB Test_big_OK do 8 minut Program vyhodnotí soubor 200MB Test_big_ERR do 8 minut Program počítá vše do jedné minuty nebo ukazuje průběh výpočtu (např. pomocí procent, progressbaru, ) komentáře, přehlednost, výstižné názvy proměnných, 4

Translácie Koeficient 2 Obyvatelé planety Translácie se vždy živili tím, že překládali stránky nalezené vyhledávači Túdle a Blink do jazyků všech ostatních galaktických národů. Kvůli nenadálé ekologické katastrofě však na Translácii vyhynuly všechny vzácné babylonské rybky, které se o překládání staraly. Pomozte se obyvatelům Translácie zachránit. Mají dobré překladatele, ale ti umějí vždy překládat jen z jednoho jazyka. Napište program, který pozná v jakém jazyce je zapsán vstupní soubor, aby mohl být odeslán správnému překladateli. Jazyk celého souboru určete podle jazyka převládajícího u nejvíce slov. Aby program mohl určit příslušnost slova k nějakému jazyku, bude mít na vstupu i slovníky jednotlivých jazyků. Takových slovníků může být maximálně 16. Za slovo se považuje souvislá posloupnost složená ze znaků A Z (na velikosti písmen nezáleží). Jakýkoliv jiný znak je považován za oddělovač slov. Soubor se slovníkem je textový soubor, kde je na každé řádce jedno slovo. Jazyk slovníku odpovídá jménu souboru. 5

Příklad 4. Ukázka určení jazyka Vstupní soubor: Bezi liska k taboru nese pytel zazvoru. Soubor slovníku cesky: ahoj amater liska pytel zazvoru Soubor slovníku anglicky: abort after fox ginger Očekávaný výstup programu: Vstupní text je cesky 6

Hodnocení Funkčnost dokumentace 2 body Program lze spustit a lze mu předat parametry vstupní soubor a soubory se slovníky Program správně určí jazyk souboru ustava.txt při použití dvou slovníků cesky a slovensky (vstup je česky) Program oznámí nemožnost zjištění jazyka, pokud se slova ze souboru nesmysly.txt nevyskytují ani v jednom slovníku (testovat lze pro libovolné dva slovníky) Program si poradí se situací, kdy vstup nastejno.txt obsahuje stejně slov ze dvou různých jazyků (použijte slovníky cesky a anglicky) Program správně určí jazyk souboru xml.txt jako francouzštinu pro 3 slovníky (nemecky, anglicky a francouzsky) Program správně určí jazyk souboru xml.txt jako francouzštinu pro 4 slovníky (cesky, nemecky, anglicky a francouzsky) Program správně určí jazyk souboru xml.txt jako francouzštinu pro 5 slovníků (cesky, slovensky, nemecky, anglicky a francouzsky) Program okamžitě (do cca 3 sekund) a správně určí jazyk jako češtinu u velkého vstupu velky.txt při použití slovníků cesky a anglicky komentáře, přehlednost, výstižné názvy proměnných, 7

PEXESO Koeficient 2 Napište program pro hru PEXESO pro jednoho hráče. Velikost hracího pole je 8 8 nebo 4 4 hracích karet. Sady obrázků pro hrací karty jsou umístěny v podadresáři obrazky. Každá sada má určený název, který je shodný s názvem podadresáře. V podadresáři jsou už obrázky očíslovány od 01 až do 32 a uloženy v souboru s příponou png. Tyto obrázky definují líc hracích karet. Obrázek 00.png vždy definuje rub hracích karet. Například sada vlajky je umístěna v adresáři./obrazky/vlajky a jednotlivé obrázky mají název 01.png, 02.png,, 32.png. Pro velikost hracího pole 4 4 použijte pouze obrázky 01.png až 08.png. Po spuštění programu PEXESO umožněte uživateli zvolit si velikost hracího pole a sadu obrázků. Dále si uživatel zvolí, zda se na začátku hry zobrazí hrací karty rubem nebo lícem nahoru. V případě volby lícem nahoru se po 30 sekundách všechny karty otočí zpátky do stavu s rubem nahoru. Zobrazte počítadlo všech tahů a počítadlo úspěšných tahů. Tahem se rozumí kliknutí myší uživatelem na dvojici neotočených (rubem nahoru) hracích karet. Kliknutí na otočenou hrací kartu (lícem nahoru) je ignorováno. Každé platné kliknutí se projeví otočením hrací karty. Úspěšným tahem se rozumí otočení dvojice stejných hracích karet a hrací karty zůstanou trvale otočené. Při neúspěšném tahu se karty vrátí po dvou sekundách zpět. Po každém tahu se aktualizují počítadla tahů. Hra končí při úspěšném otočení všech hracích karet. Nakonec zobrazte počty všech tahů a úspěšných tahů. Tah zobrazíte jako dvojici čísel hracích karet oddělených čárkou. Úspěšný tah bude mít za dvojicí čísel ještě znak + (plus). Pak program ukončete nebo nabídněte možnost hraní další hry. 8

Hodnocení Funkčnost dokumentace 0.5 bodu 0.5 bodu 0.5 bodu y 0.5 bodu možnost zadání velikosti a sady hracích karet a způsob zobrazení rub / líc načtení a zobrazení hracích karet do hracího pole 4x4 načtení a zobrazení hracích karet do hracího pole 8x8 zobrazení hracích karet lícem nahoru se po 30s vrátí zpět kliknutí na kartu s lícem se ignoruje kliknutí na kartu s rubem a karta se otočí lícem nahoru neúspěšný tah karta se po cca 2 s otočí rubem nahoru kliknutí na třetí kartu během neúspěšného tahu se ignoruje počítadlo průběžně zobrazuje správně počet všech a úspěšných tahů zobrazení všech tahů na konci hry zobrazení úspěšnosti tahů komentáře, přehlednost, výstižné názvy proměnných, 9

Domino Koeficient 3 Napište program DOMINO, který načte z grafických souborů hrací kostky hry DOMINO. Určí jejich počty puntíků a uspořádá je tak, že nalezne nejdelší řetěz hracích kostek. Po spuštění programu DOMINO umožněte uživateli si zvolit adresář, kde jsou grafické soubory ve formátu png (kostka01.png, kostka02.png, ). Každý jednotlivý soubor reprezentuje hrací kostku hry domino. Soubor je definován jako obdélník, kde výška a délka obdélníku je v poměru 2:1 nebo 1:2. Plocha obdélníku je rozdělena na dva stejné čtverce ležící vedle sebe nebo nad sebou. Každý čtverec má rám o velikosti jednoho pixelu. Středová úsečka má tedy šířku dvou pixelu. Minimální rozměr hrací kostky je 50 100 pixelů a maximální 500 1000 pixelů včetně rámů. V souborech jsou pouze dvě barvy: barva podkladu a barva puntíků. Rámy mají barvu puntíků. Puntíky mohou mít různý tvar a všechny pixely jednoho puntíku spolu sousedí vodorovně nebo svisle, čili nestačí, pokud spolu sousedí pouze přes roh. Mezi rámem a puntíkem je minimálně jeden pixel. V každém čtverci musí být aspoň jeden puntík a nejvýše šest puntíků. Puntíky jsou umístěné libovolně tak, že se vzájemně nedotýkají vodorovně nebo svisle, ale mohou se dotýkat přes roh jednoho pixelu. Zde je ukázka tvarů a umístění puntíků ve čtverci: Vaším úkolem je načíst hrací kostky a zjistit počty puntíků každé hrací kostky. Za to dostanete polovinu bodů. Výstup uložte do souboru kostky.txt tak, že na každém řádku bude jméno souboru hrací kostky bez přípony png a vedle ní počty puntíků ve formátu x:y, kde x je počet puntíků levého nebo horního čtverce a y počet puntíků na pravém či dolním čtverci. Jména souborů s kostkami musí být ve vzestupném abecedním pořadí. Zbytek bodů dostanete za nalezení co nejdelšího řetězu hracích kostek takového, že se skládá z ležících kostek (dané kostky tedy můžete libovolně otočit tak, aby ležely) a sousedící kostky se dotýkají čtverci se stejným počtem puntíků. Pokud nejdelší řetěz hracích kostek naleznete, vypište jeho délku jako jediný řádek do souboru retez.txt. Počet hracích kostek domina může být maximálně 50. 10

Hodnocení Zkouší se na devíti vstupních adresářích (v kategorii žáci to jsou adresáře zaci_1..zaci_9, v kategorii mládež adresáře mladez_1..mladez_9), za každý může soutěžící dostat 0 bodů, 0.5 bodu nebo. Program soutěžících se spustí s daným adresářem a musí doběhnout do 10 vteřin. Pokud program vytvoří soubor kostky.txt, který se přesně shoduje se vzorovým, dostane 0.5 bodu. (Porovnání dvou souborů podle obsahu lze provést ve Windows pomocí příkazu fc, v Linuxu pomocí příkazu diff.) Pokud program vytvořil také soubor retez.txt, který se přesně shoduje se vzorovým, dostane dalších 0.5 bodu. Pokud program nevytvoří správný soubor kostky.txt, ale vytvoří správný soubor retez.txt, nedostane žádné body. Funkčnost dokumentace testovací adresář 1 testovací adresář 2 testovací adresář 3 testovací adresář 4 testovací adresář 5 testovací adresář 6 testovací adresář 7 testovací adresář 8 testovací adresář 9 komentáře, přehlednost, výstižné názvy proměnných, 11