Soutěž v programování pro SŠ! (ukázkové zadání)






Národní institut pro další vzdělávání vyhlašuje Soutěž v programování 32. ročník - 2017/2018

Pořadatelem okresního kola, pro žáky žáky SŠ do 19 let včetně z Prahy 5 a Prahy 13 je Smíchovská střední průmyslová škola, Preslova 25, Praha 5 na základě spolupráce DDM Praha 5. NIDV je vyhlašovatelem soutěže, jednotlivá kola organizují pověřené DDM, popř. na základě domluvy školy.

Kategorie:

1. Programování - určená pro žáky SŠ do 19 let včetně
základy algoritmizace, řídicí struktury, pole

2. Programování mikrořadičů - určená pro žáky SŠ do 19 let včetně
Předpokládané znalosti: základy algoritmizace, řídicí struktury, pole
Vývojové prostředí: Arduino IDE nebo podobné vývojové prostředí. Další vývojová prostředí podle požadavků soutěžících je možno nainstalovat.

3. Programování webu - určená pro žáky SŠ do 19 let včetně
Tato kategorie je zaměřena na použití frontendových technologií (HTML, CSS, JavaScript).

Programovací jazyky: C#, C++, C, Python, Java (případné poznámky vyplňte na konci přihlášky)
software: MS Visual Studio 2012, NetBeans, PSPad (případné poznámky vyplňte na konci přihlášky)

PRO ÚČASTNÍKY BUDOU V BLÍZKÉ DOBĚ ZVEŘEJNĚNY UKÁZKOVÉ CVIČNÉ ÚLOHY!

Každá střední škola může přihlásit do soutěže 3 účastníky. V případě, že celkový počet přihlášených do okresního kola překročí technické kapacity organizátora, bude počet pozvaných účastníků z jednotlivých škol omezen. Školy budou o této situaci včas informovány.

Přihlášky: do 13. února 2018 přes TENTO webový formulář
Termín konání: 20. února 2018
Prezence: 20. února 2018 8:00- 9:00
Zahájení soutěže: 9:15

Místo konání: Smíchovská střední průmyslová škola, Preslova 25, Praha 5

Předpokládaný konec:
• 11:30 pro soutěžící, kteří se zúčastní jedné soutěže
• 14:00 pro soutěžící, kteří se zúčastní obou soutěží
• 16:00 pro soutěžící, kteří se zúčastní všech tří soutěží

Vybavení: soutěžící si přinesou psací potřeby
Postup: soutěžící na 1. a 2. místě postupují do krajského kola
Vyhlášení: soutěžící budou o vyhlášení výsledků informováni emailem
Soutěžící se budou přihlašovat doménovým účtem. S přihlašovacími údaji budou seznámeni v průběhu zahájení soutěže.

Vyplněné informace slouží pouze pro účely soutěže.


Kontaktní osoby:

Ing. Yveta Scharnaglová
yveta.scharnaglova@ssps.cz
732 617 719

František Flachs
frantisek.flachs@ssps.cz
774 111 392

_____________________________________________________________________________________________________________________________________


Programovací jazyky pro SŠ – ukázkové zadání


Celkové hodnocení se bude skládat z těchto hodnocených částí:


·         smysluplnost kódu a jeho čitelnost včetně logického pojmenování proměnných a metod


·         důmyslnost a propracování aplikace


·         komentování složitějších bloků kódu


·         krátký textový popis, jak aplikace funguje


·         intuitivní ovládání a pochopitelné výpisy pro uživatele


Geometrické tvary


Vytvořte program pro výpočet obvodu a obsahu tří geometrických útvarů, které si vybere. Vstupní hodnoty: strany nebo poloměr zadaných rovinných útvarů v cm. Strany mohou být zadány jako celé číslo nebo jako desetinné. Snažte se co nejvíce ošetřit vstupy. Výsledek zaokrouhlete na 3 desetinná čísla. Příklad vytvořte tak, ať je uživatelsky příjemný. Na začátku programu si uživatel může vybrat, který geometrický tvar chce vypočítat.


Určení nejdelší rostoucí posloupnosti čísel


Vstupem programu bude několik hodnot:


·         délka číselné posloupnosti


·         spodní hranice pro náhodný generátor čísel


·         horní hranice pro náhodný generátor čísel


Vaším úkolem je náhodně vygenerovat řadu čísel dle zadaných parametrů při startu aplikace. Následně bude program vyhledá nejdelší rostoucí posloupnost v této řadě čísel, kterou jste si vygenerovali. Tato posloupnost bude na závěr vypsána současně s číslem, které bude označovat počet prvků v nejdelší rostoucí posloupnosti. Pokud se budou objevovat např. dvě stejné posloupnosti, vypište jednu z nich. (není potřeba obě).


př. 1 5 2 4 3 15 4 5 6 7 8 18 8 9 10 11 9 13


·         nejdelší posloupnost je 4 5 6 7 8


·         počet čísel v této posloupnosti je 5