Pyramida porozumění základů programování

V jakém jste patře? Co jsem schopni udělat bez jakékoliv nápovědy sami? Vyzkoušejte si.
| autor | datum |
|---|---|
| Michal Bubílek | 03/2025 |
Tento materiál je stále WIP (Work In Progress).
1. patro
Jedná se o naprosté základy. Umím použít VS Code a napsat a spustit jednořádkový script. Do tohoto skillu patří i základní práce s počítačem, nainstalování interpreta programovacího jazyka a nastavení IDE.
Zadání:
- Výpis textového řetězce "Hello world" do textové konzole.
2. patro
Zde je základní práce s proměnnými a základní aritmetické operace.
Zadání:
- Napište program, ve kterém si na začátku vytvoříte dvě proměnné
mah.mje pro hmotnost v kg ahje pro výšku v cm. Váš program spočítá vaše BMI a vypíše jeho hodnotu. - Napište program, který bude umět spočítat kolik je
xprocent z nějaké hodnotyn. - Napište program, kderý ze zadaného poloměru kružnice
r, vypočte její obvod a obsah. - Napište program, který spočítá o kolik se zvednou dvě 1km koleje, pokud se každá prodlouží o 1 mm? Koleje jsou na svých koncích upevněny a je vyloučen pohyb do strany. Při jejich zvětšení je umožněn tedy jen pohyb vzhůru.
- Napište program, který spočítá a vypíše vzdálenost dvou bodů v rovině (2D). První bod je zadán souřadnicemi
axaay, druhý bod pakbxaby.
3. patro
Student již umí použít podmíněný příkaz a dříve naučené příkazy. Student umí rozhodnout, jakou podmínku použije.
Zadání:
- Napište program, který ověří (Vypíše Ano/Ne), je-li hodnota v proměnné
nkladné číslo. - Napište program, který ověří, je-li hodnota v proměnné
nv intervalu (10,20>. - Napište program, který ověřím je-li hodnota v proměnné
nčíslo dělitelné pěti. - Napište program, který ověřím je-li hodnota v proměnné
nčíslo dělitelné pěti, kladné a není násobkem čísla 10. - Napište program, který vypíše číslo s větší hodnotou ze dvou hodnot uložených v proměnných
xay. - Napište program, který vypíše vždy jen absolutní hodnotu z obsahu proměnné
n.
4. patro
Student pochopil cykly. Umí algoritmizovat problém do cyklů.
Zadání:
- Vypište hodnoty pro malou násobilku sedmi.
- Vypište všechna sudá čísla z intervalu <
min,max>. - Napište program, který spočítá výslednou sumu pro jeden haléř, který budu postupně po dobu 30 dní zdvojnásobovat svou hodnotu.
- Napište program, který sečte všechna čísla malé násobilky šesti.
- Napište program, který spočítá výsledek investování původní částky
puvodni_castkaponletech při ročním zhodnocenízhodnoceni. - Předchozí program rozšiřte o možnost definovat pravidelný měsíční vklad
vklad.
5. patro (první důležitý milník)
Student umí již pomocí základních struktur (proměnná, aritmetická operace, podmínka, cyklus) algoritmizovat jednoduchou úlohu. Umí spojit užití podmínek a cyklů dohromady v jeden celek řešící problém.
Zadání:
- Mějme úlohu "Lidé a koně", která říká: Ve stáji jsou lidé a koně. Celkem je ve stáji zde 22 hlav a 72 nohou. Napište program, která postupně projede všechny možné varianty počtu lidí a koní ve stáji a vybere z nich tu jednu jedinou, která je validní.
- Napište program, který vypíše šachovnici z 0 a 1 do textové konzole. Velikost šachovnice bude vytvořena dle konstanty
Nnadefinované na začátku programu. - Napište program, který spočítá zbytek po dělení dvou celých čísel
xay. Nesmíte však použít operaci%a ani jakoukoliv jinou funkci, která je pro tuto operaci přímo určena.
6. patro
Student pracuje již se vstupy a výstupy.
Zadání:
- Napište program, který vypíše malou násobilku dvou na řádku.
- Napište program, který vypíše mocniny dvou od 2 do 65 536 pod sebe tak, aby byly jednotky pod sebou, desítky pod sebou atp.
- Napište program, který bude na vstupu vyžadovat číslo. Toto se bude opakovat tak dlouho, dokud nezadáme 0. Program pak vypíše sumu všech dříve zadaných čísel.
7 patro
Zde se již pracuje s listy a tuples.
Zadání:
- Vytvořte si nějaký jednoduchý
tupleoncelých kladných číslech a napište program, který:- spočte součet všech čísel
- spočte součet všech sudých a lichých čísel zvlášt
- vybere maximální hodnotu z čísel
- vybere druhou největší hodnotu čísel
- zjistí, jeslti jdou čísla vzestupně/sestupně
- zjistí, jestli jdou čísla po sobě
- zjistí, jestli se číslo
xv tuple nachází
- Vytvořte si jednoduchý
listoncelých kladných číslech napište program, který:- ke všem sudým číslům přičte jedničku
- převrátí pořadí čísel. Tedy to, které bylo první, bude nyní poslední, to druhé bude předposlední atp.
- čísla seřadí od nejmenšího do největšího
- ze seznamu odstraňte všechna čísla dělitelná pěti
- Vytvořte si dvourozměrný list, který bude značit prodej jablek a hrušek pro všechna čtvrtletí. Hodnoty si určete dle libosti. Pro tento list napište program:
- Přidejte prodej banánů.
- Zvyšte prodej jablek ve druhém a třetím čtvrtletí o 50%.
- Určete, které ovoce se v průběhu roku nejvíce prodávalo.
- Určete, které čtvrtletí bylo na prodej ovoce nejhorší.
8. patro
Student by měl prokázat práci s textovými řetězci.
Zadání:
- Spočtěte počet znaků v proměnné
text. - Převěďte zadaný text v proměnné
textna velká písmena (uppercase). - Spočtěte počet samohlásek v zadaném textu v proměnné
text. - Zašifrujte vstupní text pomocí Caesarovy šifry.
- Převeďte text z podoby v kebab-case do UPPER_SNAKE_CASE.
9. patro
Slovníky, slovníky, slovníky - cesta k objektům.
Zadání:
- Vytvořte si
slovníkpro pár písmen Morseovy abecedy a pomocí tohoto slovníku proveďte překlad textu do Morseovky. - Vytvořte si
slovník, který bude značit prodej jablek a hrušek pro všechna čtvrtletí. Strukturu zvolte názornou, jasno a přehlednou. Hodnoty si určete dle libosti. Pro tento list napište program:- Přidejte prodej banánů.
- Zvyšte prodej jablek ve druhém a třetím čtvrtletí o 50%.
- Určete, které ovoce se v průběhu roku nejvíce prodávalo.
- Určete, které čtvrtletí bylo na prodej ovoce nejhorší.
10. patro (druhý milník)
Zde by měl již student umět použít elementární dříve naučené znalosti pro složitějjší, ale ne tak komplexní úlohy.
- Vygenerujte a vypište pole min tak, aby se do něj náhodně rozmístil přesný počet min. Na vstupu bude počet min
mine_counta rozměr hedního polewidthxheight. - Předchozí pole ohodnoťte tak, aby u každého neminového pole bylo číslo, které určuje počet sousedních polí (až 8), které jsou miny.
- Do konzole vypište Pascalův trojúhelník.
11. patro
Student umí rozložit komplexnější problém na menší úlohy, které vyřeší zvláště a spojí je v řešení celé úlohy.
Zadání:
- Napište hru logik pro textovou konzoli.
- Napište hru miny pro textovou konzoli.
- Napište program, který umí šifrovat/dešifrovat pomocí šifrovací mřížky.