Programování

Programovací jazyky

Python

Python je v současné době velmi populární a rozšířený programovací jazyk. Pokud váháš, s kterým jazykem začít, doporučujeme zvolit právě Python. Python je vhodný pro začátečníky, v praxi je také často využíván ve vědecké sféře, kde pomáhá s jednoduchým a rychlým způsob jak pracovat s informacemi a zobrazovat je. S Pythonem se lze také setkat při vývoji webu společně s frameworkem Django nebo Flask.

Python online - online kurz v češtině od Czechitas - 10 lekcí, které obsahují videa, studijní materiály a úkoly pro samostatnou práci

Pokud preferuješ stručnější úvod a angličtina pro tebe není problém doporučujeme Learn Python in Y minutes

Java

Další populární programovací jazyk je Java. Tento jazyk se využívá při tvorbě různých aplikací pro počítače, mobily, tablety i web. Dříve jsme se mohli setkat s Javou ME na mobilních telefonech, u dnešních chytrých telefonů se ale stále Java používá při vývoji aplikací pro Android. Java EE je hojně využívána při vývoji velkých webových aplikací (např. různé bankovní portály atp.). Společně s JavaFX nebo starším Swing lze ale Javu použít i pro vývoj desktopových aplikací.

Java online - online kurz v češtině od Czechitas

Javascript

Javascript je programovací jazyk hojně využívaný na webu. Zpočátku běžel hlavně v prohlížeči a webové stránky díky němu mohly být interaktivní a bylo na nich možné programovat věci, které s HTML a CSS nebylo možné udělat. V posledních letech Javascript ale také získává své místo na backendu (kód, který běží na serveru, generuje stránky a komunikuje s prohlížečem uživatele - například při zobrazování dat v reálném čase), kde se používá při vývoji v NodeJS.

Learn Javascript od W3 Schools

C++

Pokud chceš, abych tvoje programy běžely rychle, jednou z dobrých voleb bude určitě jazyk C++. Jedná se o jazyk, který je velmi mocný. Nicméně s velkou mocí přichází i velká zodpovědnost. Programátor zde musí myslet například na správu paměti a její uvolňování nebo na způsoby přístupu k ní. Z tohoto důvodu je doporučováno se učit první programátorské návyky v některém z jiných jazyků a k C++ přejít až bude mít programátor základní programátorské dovednosti.

Pascal

Programovací jazyk Pascal byl vyvinutí v 70. letech jako vhodný jazyk pro výuku programování. Jak na středních tak na vysokých školách se byl velmi rozšířený a někde se používá dodnes. Pokud chceš s programováním začít, doporučujeme zvolit mějaký modernější a více používaný jazyk než Pascal.

Úlohy

Obecné pokyny k řešení úloh naleznete zde v sekci Tipy a triky. Úlohy jsou opendatové, co znamená, že k jejich řešení můžete použít libovolný programovací jazyk. Jak obecně pracovat s opendatovými úlohami naleznete v sekci Vstup a výstup.

Doporučujeme následující postup:
  1. přečíst si zadání
  2. napsat řešení v libovolném programovacím jazyce
  3. vyzkoušet si, zda vaše řešení pro vzorový vstup odpovídá vzorovému výstupu
  4. vyřešit jednodušší vstup
  5. vyřešit složitější vstup
  6. v případě problémů se podívat na autorské řešení, které je u každé úlohy

Úlohy pro začátečníky

Níže je 10 jednoduchých úloh, na kterých si můžete vyzkoušet, zda zvládáte základní použítí libovolného programovacích jazyka. Úlohy jsou seřazené podle obtížnosti. Na řešení všech by mělo stačit umět používat pole a cyklus.

Level I Level II


Úlohy pro mírně pokročilé

Následujích 20 úloh prověří nejen základní znalosti programovacího jazyka, ale i logické a matematické uvažování. Pro zvládnutí obou vstupů u každé úlohy je třeba uvažovat o časové náročnosti programu.

Level III Level IV
Level V Level VI



Úlohy pro středně pokročilé

Úlohy zde jsou opět o něco náročnější. Je dobré umět pracovat s datovými strukturami jako jsou haldy nebo stromy stromy a zvládat algoritmy pro procházení stromů do šířky a do hloubky a dynamické programování.

Level VII Level VIII
Level IX Level X


Úlohy pro velmi pokročilé

Úlohy v této sekci už jsou opravdu náročné. Pokud tě řešení takových úloh baví a zajímá, určitě se podívej na Korespondenční seminář z programování, Matematickou olympiádu kategorii P a nezapomeň na soutěž Kasiopea.

Level XI Level XII
Level XII Level XIV