Ročník 2016
Transkript
9. ROČNÍK ŠKOLNÍ SOUTĚŽE V PROGRAMOVÁNÍ – 2016 Pořadí úloh si určujete sami, u každé úlohy je uvedeno její bodové hodnocení. Můžete řešit různé úlohy v různých programovacích jazycích. Každou hotovou úlohu raději ihned nahrajte na server: http://programovani.sspbrno.cz/nahravani Při nahrávání volte pozorně číslo úlohy, můžete nahrávat vícekrát stejnou úlohu, uloží se všechny verze, budeme opravovat poslední! Nahrávejte vždy jen ZDROJOVÝ KÓD (tj. soubor končící příponou c, cpp, cs, php, java, py, js) Pište do zdrojových kódů krátké komentáře, které usnadní orientaci v kódu Pokud nebude výslovně řečeno, nemusíte kontrolovat uživatelské vstupy Nahrajte i rozpracované a nedokončené úlohy. 1 Klasifikace Nejmenovaný učitel stanovil pravidla pro stanovení výsledné známky z předmětu pro každého studenta: známky průběžné klasifikace patří vždy nějaké konkrétní kapitole, udávají se s přesností na celý stupeň: 1, 2, 3, 4, 5 nebo N (nemá z dané kapitoly známku) z každé kapitoly musí mít student právě jednu známku pokud je byť jen jediná ze známek 5 nebo N, pak nemá student uzavřenu kapitolu a výsledná známka z předmětu je 5 pokud není výsledná známka 5, je výsledná známka studenta určena pouze průměrem známek (pro průměr v rozmezí 1-1.5 je výsledná známka 1, pro průměr v rozmezí >1.5 až 2.5 je výsledná známka 2, ...) Napište program na výpočet výsledné známky: vstup uživatele: počet kapitol v daném pololetí vstup uživatele: všechny známky jednoho žáka pro dané pololetí kontrola vstupu známky výpočet výsledné známky, výstup programu: výsledná známka Příklad vstupu Zadej počet kapitol: 6 Zadej známky: 1,2,3,1,N,4 Příklad výstupu Výsledná známka: 5 Bodování Načtení známek, kontrola vstupu – 2 body, výpočet známky – 2 body, celkem 4 body 2 Tabulka mocnin Napište program/funkci, který vypíše tabulku velikosti N x N (N je vstup od uživatele – celé číslo), která pro číslo N=7 vypadá následovně (čísla jsou díky doplňkovým nulám pod sebou) - příklad výstupu: 01 04 09 16 25 36 49 04 01 04 09 16 25 36 09 04 01 04 09 16 25 16 09 04 01 04 09 16 25 16 09 04 01 04 09 36 25 16 09 04 01 04 49 36 25 16 09 04 01 Školní soutěž v programování 2016 1/4 Příklad vstupu Zadej celé číslo (velikost tabulky): 7 Bodování Tabulka nezarovnaná – 3 body, zarovnání – 2 body, celkem 5 bodů 3 Sázkař Olin Olin se rozhodl vsadit nějaká čísla. Použil pro rozhodování náhodu, a to takto: Tiket má N čísel (od jedné do N). Olin hází zaráz dvěma kostkami (šestistěnnými). Po prvním hodu Olin sečte hody na obou kostkách a zaškrtne toto číslo na tiketu. V dalších hodech Olin přičte hody na obou kostkách k číslu, které zaškrtl minule, a zaškrtne nový součet. Pokud někdy padne alespoň jedna šestka, Olin hází znova. Sčítá pak všechna padlá čísla (viz příklad výpisu). Hra končí, pokud je nový součet větší než počet čísel na tiketu (a tedy není co zaškrtnout). Vstupem od uživatele je pouze počet čísel N. Použijte funkce random(), randint(), … - viz dokumentace Příklad vstupu Zadej celé číslo – počet čísel na tiketu: 80 Příklad výstupu V 1. Olin V 2. Olin V 3. Olin V 4. Olin V 5. Olin V 6. Olin kole padlo 5 5 zaškrtl číslo 10. kole padlo 3 5 zaškrtl číslo 18. kole padlo 6 4 a dále 5 1 zaškrtl číslo 34. kole padlo 6 6 a dále 1 6 a dále 6 3 a dále 1 1 zaškrtl číslo 64. kole padlo 1 2 zaškrtl číslo 67. kole padlo 1 6 a dále 5 5 už nic nemůže zaškrtnout. Bodování Hody – 2 body, výpočet zaškrtnutí – 3 body, celkem 5 bodů 4 Rýmovač Pomozte básníkům a naprogramujte „rýmovač“, který najde pět nejvíce se rýmujících slov se slovem na vstupu. K vyhledávání použijte slova ze souboru rymovnicek.txt To, jak moc se slova rýmují, je dáno pouze počtem shodných znaků na konci slova (nepřerušená řada od konce). Např. TRAPAS a KONIPAS mají index rýmování 3, TRAPAS a LOPATA 0, TRAPAS a KLAS 2. Pokud najdete více než pět slov se stejným maximálním indexem rýmování, můžete z nich vybrat jakýchkoli 5. Měkké I a tvrdé Y jsou z hlediska rýmování shodné, tedy BIDLO a BYDLO má index rýmování 5. V rýmovníčku není diakritika a je psán velkými písmeny Vypište 5 nejvíce rýmujících slov se slovem na vstupu uživatele. Příklad vstupu (+ vstup ze souboru) Zadej slovo: PALOUCEK Školní soutěž v programování 2016 2/4 Příklad výstupu Rýmuje se: KLOUCEK, TLOUCEK, BROUCEK, OBROUCEK, SOUCEK (index 5) Bodování Nalezení shody rýmu a výpočet indexu – 3 body, vypsání slov podle indexu – 3 body, celkem 6 bodů 5 Nejkratší cesta V souboru mesta.txt najdete seznam cest mezi městy, na 1 řádku je uvedena vzdálenost mezi 2 městy ve formátu: A-B-5 (z města A do města B je to 5km). Vaším úkolem je najít nejkratší cestu z jednoho města do druhého, např. z města A do města F. Načtěte data ze souboru a uložte do vhodné struktury Vypište seznam všech měst Pokud je v souboru duplicita a vzdálenost mezi 2 městy je uvedena 2x, vyřaďte tu s větší vzdáleností, každá vzdálenost pak bude zapsána jen 1x, „A-B“ je shodná s „B-A“ Uživatel zadá 2 města – začátek a konec cesty (program kontroluje, jestli máte města v seznamu měst), program najde a vypíše nejkratší možnou cestu (žádným městem nesmíte projít 2x). Pokud jsou 2 stejně dlouhé, stačí vypsat jen jednu z nich. Příklad cest na obrázku. Z A do F se dostanete více cestami (např. ACF, ADF, ABDF, …), nejkratší je cesta ADF nebo ABDF, obě mají součet 10 (neodpovídá délce spojnice v nákresu) Příklad vstupu ze souboru C-F-9 A-B-4 A-C-5 A-D-6 B-A-8 D-B-2 F-D-4 . . . Příklad výstupu V seznamu Zadej bod Zadej bod Nejkratší jsou města: ['C', 'F', 'A', 'B', 'D', 'E'] = začátek cesty: A = konec cesty: F cesta ADF meří 10 Bodování Načtení souboru – 1 bod, odstranění duplicit – 3 body, seznam měst – 2 body, nalezení nejkratší cesty – 7 bodů, celkem 13 bodů Školní soutěž v programování 2016 3/4 6 Osmisměrka Naprogramujte aplikaci na vytváření osmisměrek, případně čtyřsměrek (bez diagonál) ze zadaných slov (pravidla stejná jako u příkladu 4 – bez diakritiky), který funguje podobně jako aplikace: http://puzzlemaker.discoveryeducation.com/WordSearchSetupForm.asp. Uživatel zadá hledaná slova a velikost osmisměrky/čtyřsměrky. Úkolem aplikace je umístit písmena slov do osmisměrky/čtyřsměrky. Umístěná písmena pak doplňte náhodnými písmeny a osmisměrku/řtyřsměrku zobrazte. Příklad vstupu Zadej počet slov: 8 Vstup slov: BIT, BYTE, COMPUTER, JAVA, KLAVESNICE, MONITOR, PROCESOR, PYTHON Velikost osmisměrky: 10 Příklad výstupu Řešení Bodování Vstupy od uživatele – 1 bod, nalezení společných písmen – 2 body, umístění do mřížky – 5 bodů, doplnění náhodnými písmeny – 2 body, celkem 10 bodů Školní soutěž v programování 2016 4/4
Podobné dokumenty
Unit 1 - Základní škola Sv. Čecha, Choceň
d) čte samostatně (potichu nebo nahlas) a ukazuje zvýrazněná slovíčka na obrázku.
Nakonec ukáže na obrázku Marka. Ptáme se: „Where´s Mark?“
(Učitel pozná, že žák dočetl do konce a spojil si informa...
Vyjmenovaná slova 4
Základní škola a Mateřská škola Loučany
Čeština nás baví
I2 – 2 – 04 Vyjmenovaná slova 4
IPEX SOAP brána 1
odeslat pouze když je zůstatek kreditu větší než 10 Kč. Limit pro odeslání SMS u Prepaid
účtu je 5 zpráv za minutu.
Autorizace na SOAP bránu může byt realizována přes přístup na B2BWS pro všechna č...
Test slovní zásoby
spisovatel, tím lepší slovní zásoba. Mnohdy byly výsledky až zarážející.
Velká slovní zásoba nám dává větší možnost vyjadřovat se.
Průměrný český člověk by měl dosáhnout výsledku mezi 200 až 300 bo...
HLEDÁME ZLATÉ ČÍSLO V PRAZE
Fibonacciho posloupnost fascinovala matematiky po celá staletí. Všimli si, že tato čísla se
objevují v mnoha dalších souvislostech a nejrůznějších přírodních strukturách a obdivovali
jejich krásu.
...