Soutěž

Na konci roku jsme se rozhodli věnovat do soutěže naše prototypové vybavení. Jedná se o čerstvě zaběhnutá zařízení, která pro nás již splnila svůj účel, ale mohou skvěle posloužit začínajícím programátorům a technikům.

Co můžete vyhrát?

  1. cena: 3D tiskárna Průša Mini
  2. cena: Mobilní telefon Motorola Edge 50
  3. cena: Laboratorní zdroj 0-24 VDC
  4. až 10. cena: Termotaška

Pravidla soutěže

Soutěž je určena pro žáky a studenty do 15 let a probíhá od 1. do 15. prosince 2025. Soutěžící musí samostatně vypracovat 3 soutěžní úkoly a zaslat řešení v Pythonu, PHP nebo JavaScriptu na e-mailovou adresu soutez (at) ardat.cz . Rozhodující je datum doručení do 15. prosince. Doručená řešení úloh budou otestována našimi testery a ohodnocena z hlediska funkčnosti, čistoty kódu a kvality dokumentace (za dokumentaci se v tomto případě považují i kvalitní komentáře – naprostou nezbytností je pak úvodní hlavička popisující spuštění skriptu). V případě rovnosti hlasů bude výsledné pořadí určeno losem. Výsledky soutěže budou oznámeny soutěžícím e-mailem.

Na výhru není právní nárok. Zasláním e-mailu na soutěžní adresu účastník souhlasí se zpracováním osobních údajů a s Všeobecnými obchodními podmínkami společnosti ARDAT.

Zadání

Úkol 1

Vytvoř jednoduchý šifrátor, který posune každé písmeno abecedy o N pozic doprava, podobně jako Caesarova šifra.

Požadavky:

  1. Program načte řetězec a číslo N.
  2. Posouvají se pouze písmena (a–z, A–Z).
  3. Ostatní znaky se nemění.
  4. Po dosažení konce abecedy se pokračuje od začátku.

Rozšíření:

  1. Přidej i dešifrování.
  2. Umožni volbu směru rotace (záporné N).

Úkol 2

Napiš dva programy. První program A náhodně vygeneruje celé číslo v rozsahu 1 až 100. Úkolem hráče je toto číslo uhodnout pomocí opakovaných tipů. Druhý program B čísla hádá. Zajisti komunikaci mezi těmito dvěma programy tak, aby program B uhodl číslo generované programem A.

Požadavky:

  1. Program náhodně vybere číslo pomocí modulu random.
  2. Uživatel (program B) postupně zadává své tipy.
  3. Po každém tipu program A vypíše, zda je hledané číslo větší, menší, nebo správně uhodnuté.
  4. Program A počítá počet pokusů.
  5. Po uhodnutí čísla program A vypíše gratulaci a počet pokusů.

Poznámka:

Komunikace mezi programy může probíhat přes textové soubory nebo jako client-server (toto řešení bude bodově zvýhodněno). Pokud si na řešení netroufáte, zkuste napsat alespoň oba programy s textovým vstupem.

Úkol 3

Napiš program, který přečte textový soubor a zadaný text analyzuje a vypíše:

  1. počet slov (slovo je jakákoliv posloupnost písmen) ,
  2. počet vět (věta končí tečkou, otazníkem nebo vykřičníkem),
  3. nejčastěji se opakující slovo (bez ohledu na velikost písmen).

Požadavky:

  1. Program by měl mít ošetřen nestandardní stavy (soubor neexistuje apod.).
  2. Zadání textového souboru může být konstantou nebo parametrem programu.

Rozšíření:

  1. Zobraz pět nejvíce opakujících se slov.