Soutěž v programování: Porovnání verzí

Z MediaWiki SPŠ a VOŠ Písek
Skočit na navigaci Skočit na vyhledávání
Bez shrnutí editace
Bez shrnutí editace
Řádek 31: Řádek 31:
=== Zadání soutěžních úloh prezenční části soutěže ===
=== Zadání soutěžních úloh prezenční části soutěže ===
''Vlastní zadání třetí soutěžní úlohy:''<br />
''Vlastní zadání třetí soutěžní úlohy:''<br />
Vaším úkolem je naprogramovat aplikaci v libovolném programovacím jazyce, která dle zadaných rozměrů dárků vyčíslí obsah potřebného balícího papíru. Vaše řešení musí vycházet z následujících požadavků:<br />
* Uživatel může ve smyčce vkládat dárky do té doby, než sám určí, že již vložil všechny. (Není třeba typové ošetření, hodnoty budou voleny tak, aby výsledný obsah nepřesáhl 32-bitového integeru.)<br />
* Dárky mohou být tvaru krychle nebo kvádru. Celočíselné rozměry bude možno vkládat v '''cm''' nebo '''dm''', a to u každého dárku dle uživatelovy volby.<br />
* Jelikož při balení se spotřebuje více papíru (například na ohyby) – k potřebnému obsahu papíru na zabalení dárků ve tvaru krychle připočtěte 5% papíru, pro tvar kvádru poté 10% balícího papíru.<br />
* V papírnictví jsou k dispozici role balícího papíru o obsahu '''100 dm2''', '''75 dm2''', '''50 dm2''' a '''25 dm2'''.
* Výstup Vaší aplikace zobrazí obsah potřebného balícího papíru na zabalení všech dárků a počet jednotlivých rolí, které v papírnictví bude potřeba nakoupit.<br />
<br />
<br />
<br />''Vlastní zadání druhé soutěžní úlohy:''<br />
<br />''Vlastní zadání druhé soutěžní úlohy:''<br />

Verze z 15. 2. 2011, 17:16

OPVK-logo.jpg
OPVK-logo.jpg

Ve školním roce 2010/2011

Soutěž v programování je realizována v rámci modernizace výuky na SPŠ a VOŠ Písek, spolufinancovaná Evropským sociálním fondem a rozpočtem České republiky.

Korespondenční část soutěže v programování

Únorové soutěžní kolo můžete řešit od úterý 15. 2. až do pátku 25. 2. - http://soutezprg.howto.cz

  • Počátkem lednového kola dochází ke změně v průběhu soutěže v programování. Všechny soutěžní úlohy se nyní budou řešit korespondenční formou přes školní server. Věříme, že řešení v klidném domácím prostředí přinese nové nápady a další účastníky naší soutěže :-)!
  • http://www.sps-pi.cz/2011/01/korespondencni-cast-souteze-v-programovani

Průběžné výsledky korespondenční části soutěže

Aktuální foto programátorského týmu


Příjmení a jméno (třída) 1. soutěž. úloha (max.: 10 b.)
Hilař Kryštof (B1.I) -
Toušek Dominik (B2.I) -
Kučera Matěj (A1.S) -
Cigler Tomáš (B4.I) -
Jani Filip (B1.I) -


Hodnocení jednotlivých úloh také naleznete u zadání na korespondenčním webu!

Zadání soutěžních úloh prezenční části soutěže

Vlastní zadání třetí soutěžní úlohy:
Vaším úkolem je naprogramovat aplikaci v libovolném programovacím jazyce, která dle zadaných rozměrů dárků vyčíslí obsah potřebného balícího papíru. Vaše řešení musí vycházet z následujících požadavků:

  • Uživatel může ve smyčce vkládat dárky do té doby, než sám určí, že již vložil všechny. (Není třeba typové ošetření, hodnoty budou voleny tak, aby výsledný obsah nepřesáhl 32-bitového integeru.)
  • Dárky mohou být tvaru krychle nebo kvádru. Celočíselné rozměry bude možno vkládat v cm nebo dm, a to u každého dárku dle uživatelovy volby.
  • Jelikož při balení se spotřebuje více papíru (například na ohyby) – k potřebnému obsahu papíru na zabalení dárků ve tvaru krychle připočtěte 5% papíru, pro tvar kvádru poté 10% balícího papíru.
  • V papírnictví jsou k dispozici role balícího papíru o obsahu 100 dm2, 75 dm2, 50 dm2 a 25 dm2.
  • Výstup Vaší aplikace zobrazí obsah potřebného balícího papíru na zabalení všech dárků a počet jednotlivých rolí, které v papírnictví bude potřeba nakoupit.



Vlastní zadání druhé soutěžní úlohy:
Vaším úkolem je naprogramovat aplikaci v libovolném programovacím jazyce, která dle zadaného celočíselného vstupu uživatele (v rozsahu hodnot: 3 – 20) vygeneruje určený počet náhodných čísel z intervalu <0; 99>, která dále seřadí pomocí Vámi navrhnutého třídícího algoritmu. Třídění bude vycházet z metody postupného porovnávání sousedních hodnot (tzv. ‚Bubble Sort‘).

  • Ukázky z řešení soutěžících:
PRG_2.png
PRG_2.png



Vlastní zadání první soutěžní úlohy:
Vaším úkolem je naprogramovat aplikaci v libovolném programovacím jazyce, která bude šifrovat čitelný text zadaný uživatelem do Morseovy abecedy. Překládat bude text i číslice, slova a věty budou odděleny speciálními znaky. Program navíc vypíše počet slov a vět, které zašifroval.

  • Ukázky z řešení soutěžících:
PRG_1.png
PRG_1.png


Přihlaste se!

  • I v letošním školním roce navazujeme na zavedenou soutěž v programování. Letošní ročník bude probíhat ve formě schůzek v odborných učebnách VYT, kde budete mít prostor na řešení zadaných úloh a problémů. Své práce můžete realizovat v jazycích: C, C++, C# a Pascal. Zaměříme se na Vaši kreativitu a přístupnost programu pro uživatele. Výsledné práce bude možné odevzdát ve formě konzolové (CLI) i grafické 'okenní' aplikace (GUI). Na vítěze čekají poutavé odměny!
  • Na Vaše přihlášky se těšíme na e-mailové adrese: soutezprg@ithvezda.cz, a to do konce září! Bližší informace můžete získat na uvedeném e-mailu a informačních letácích v prostorách školy. Nezapomeňte sledovat tuto stránku, kde se průběžně budou vyskytovat zprávy z dění soutěže.

PRG-2010-01.jpg


Ve školním roce 2009/2010

Vyhodnocení soutěže

Příjmení a jméno 1. kolo (max 10 b.) 2. kolo (max 10 b.) 3. kolo (max 10 b.) 4. kolo (max 10 b.) 5. kolo (max 10 b.) Celkem bodů
Šenkýř David 10 10 10 10 10 50
Opekar Tomáš 10 9 10 10 10 49
Háva Jakub 8 10 8 9 0 35
Zeman Josef 10 8 5 10 0 33
Vazač Tomáš 10 8 0 0 0 18
Frčka Pavel 8 8 0 0 0 16


Znění zadávané úlohy v prvním kole, pro Vás všechny kteří jste propásli první kolo a chtěli by jste si to zkusit. Vytvořte program (v C/C++, C#, VB, PHP, apod), který bude umět vypočítat kořeny  zadané libovolné lineární rovnice. A to ve tvaru:

ax + b = c

nebo

ax – b = c
Například:

Vstup bude:


3x + 1 = 7

Výstup bude:

x = 2


Znění zadávané úlohy ve druhém kole, pro Vás všechny kteří jste propásli druhé kolo a chtěli by jste si to zkusit. Vlastní zadání: Vytvořte program (v C/C++, C#, VB, PHP, apod), který bude umět vypočítat počet bankovek a mincí pro potřebu mzdové účetní. Tak, aby věděla po zadání výše výplat, kolik bankovek v jakých hodnotách má vyzvednout v bance, proto aby měla pro každého zaměstance přesnou částku. Zadávané výplaty budou pouze v celých korunách a program bude umět počítat počet bankovech z libovolného počtu mezd


Znění zadávané úlohy ve třetím kole, pro Vás všechny kteří jste propásli třetí kolo a chtěli by jste si to zkusit. Vlastní zadání: 

  • Úloha a)

Vytvořte program, který hráči dokáže pomoci při hraní hry Hanojské věže. Navrhněte  a implementujte algoritmus, který vypíše správné tahy hry čísla věží ABC, patro 1–8. Zde jsou její pravidla: hráč musí přesunout patra věže z levé strany na pravou, tak že může použít prostřední věže jako pomocné. Nesmí ovšem při přesouvání nikdy položit patro s větším průměrem na patro s průměrem menším. Hra končí v okamžiku kdy jsou přesunuty patra ze levé krajní věže na pravou.

  • Úloha b)

Pastva zvířete – zěmědělec má k dispozici plochu o poloměru „r“ Zvíře je uvázáno na provazu délky „d“. Zvíře bude napaseno jedině tehdy, když  bude moci spást minimálně polovinu plochy kterou má zemědělec k dispozici. Napište program který na základě zadané délky provazu na kterém je zvíře uvázáno k okraji pozemku a poloměru kruhové plochy pastviny napíše zda bude zvíře dostatečně nasyceno.


Znění zadávané úlohy ve čtvrtém kole, pro Vás všechny kteří jste propásli čtvrté kolo a chtěli by jste si to zkusit. Vlastní zadání:

  • Navrhněte vlastní implementaci šifrovacího algoritmu. K šifrování a dešifrování bude nutno použít tajný klíč, do algoritmu šifrování přidejte i náhodnou složku. Ošetřete aby nešlo vkládat netisknutelné znaky. Šifrovani

Příklad vstupu:

Heslo

Výstup:

23:AF:45:DE:2F:2B:36:FA

--> Dešifrováni -->

Příklad vstupu:

23:AF:45:DE:2F:2B:36:FA

Výstup:

Heslo
  • Hodnocena bude propracovanost algoritmu, odolnost vůči chybám, použitelnost a univerzálnost řešení.

PS.: Datum zadání příští úlohy bude 17. 6. 2010.

Ve školním roce 2008/2009

  • V rámci projektu OPVK, který je spolufinancován Evropským sociálním fondem a státním rozpočtem ČR, se konalo dne 28. 4. 2009 na SPŠ a VOŠ Písku školní kolo Soutěže v programování, které bylo určené pro studenty druhých a třetích ročníků. Zadání v podobě návrhu a realizace vlastního databázového dotazovacího jazyka prověřilo přihlášené studenty na maximum. Svištění kláves během soutěžního klání ukazovalo, že studenti přípravu nepodcenili. Vzduch plný napětí a konkurence, ve kterém vytvářeli soutěžící vlastní jedinečná řešení, se dal doslova krájet. Po velmi vyrovnaném boji a složitém hodnocení obsadili prvních pět míst z celkového počtu 16 soutěžících tito studenti:
PRG-1.jpg


1. Zeman Josef – B2.I
2. Hýbek Jiří – B2.I
3. Závitkovský Lukáš – B3.I
4. Frčka Pavel – B2.I
5. Šenkýř David – B2.I



  • Poděkování patří firmě I-services, která sponzorskými dary motivovala studenty k maximálním výkonům a rovněž tak vedení školy, které i v hektické době konání dlouhodobých praktických maturitních zkoušek dokázalo organizačně zvládnout celodenní obsazení pedagogickými dozory v jedné z počítačových učeben a v neposlední řadě patří poděkování všem studentům, kteří se soutěže účastnili a ukázali tak, že svoje řemeslo opravdu umí.

Dušan Jícha, DiS., učitel předmětů výpočetní techniky SPŠ a VOŠ Písek.