Build all apps from Markdown content; Compose Desktop replaces GTK on Linux and Windows

- content/ + scripts/build-content.py produce content.json for every app
- stable lesson IDs with one-time progress migration (Swift, Kotlin)
- shared answer-check tests (tests/answers.json) for Kotlin and Swift
- android/desktop: Compose app with updater, speech and GTK progress import
- CI packages AppImage and Windows zip with ProGuard, runs the tests

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
pepaskopec-blip 2026-10-09 20:40:37 +02:00
commit c3bc32113b
964 changed files with 57285 additions and 1156 deletions

View file

@ -0,0 +1,6 @@
---
nazev: The quadratic function
popis: The vertex, the roots and a value of a parabola.
nazev_cviceni: Practice
nadpis_kvizu: The quadratic function
---

View file

@ -0,0 +1,59 @@
---
id: matematika-3-kvadraticka-funkce
puvodni: mat3.1
nazev: Kvadratická funkce
popis: Vrchol, kořeny a hodnota paraboly.
nazev_cviceni: Příklady
nadpis_kvizu: Kvadratická funkce
---
# Výklad
## f(x) = ax² + bx + c
*Parabola*
- Grafem kvadratické funkce je parabola.
- Průsečík s osou y je bod [0; c].
- U f(x) = x² − 4x + 3 je f(0) = 3.
- Osa paraboly je svislá.
> Tip: pro a > 0 má parabola minimum, pro a < 0 maximum.
## x = −b/(2a)
*Vrchol*
- x-ová souřadnice vrcholu je −b/(2a).
- U x² − 4x + 3 je to −(−4)/2 = 2.
- f(2) = 4 − 8 + 3 = −1.
- Vrchol je tedy [2; −1].
> Tip: souřadnice vrcholu pište x;y.
## Průsečíky s osou x
*Kořeny*
- x² − 4x + 3 = (x − 1)(x − 3).
- Kořeny jsou 1 a 3.
- Leží symetricky kolem osy paraboly.
- f(4) = 16 − 16 + 3 = 3, stejně jako f(0).
> Tip: kořeny jsou řešení f(x) = 0.
# Příklady
## Najděte vrchol funkce f(x) = x² − 4x + 3. Napište x a y oddělené středníkem.
= pair:2;-1
> x = 4/2 = 2 a f(2) = −1. Napište 2;-1.
## Najděte kořeny funkce f(x) = x² − 4x + 3. Oddělte je středníkem.
= set:1;3
> (x − 1)(x − 3) = 0. Napište 1;3.
## Kolik je f(0) u funkce f(x) = x² − 4x + 3?
= num:3
> f(0) = 3, to je absolutní člen. Výsledek je 3.
## Kolik je f(4) u funkce f(x) = x² − 4x + 3?
= num:3
> 16 − 16 + 3 = 3. Výsledek je 3.

View file

@ -0,0 +1,6 @@
---
nazev: Exponentials and logarithms
popis: A power and the logarithm as its inverse.
nazev_cviceni: Practice
nadpis_kvizu: Exponentials and logarithms
---

View file

@ -0,0 +1,59 @@
---
id: matematika-3-exponencialni-funkce-a-logaritmus
puvodni: mat3.2
nazev: Exponenciální funkce a logaritmus
popis: Mocnina se základem a logaritmus jako její opak.
nazev_cviceni: Příklady
nadpis_kvizu: Exponenciální funkce a logaritmus
---
# Výklad
## Logaritmus je exponent
*Definice*
- Základ logaritmu je kladný a různý od 1.
- Argument logaritmu je kladný.
- log₁₀(1000) = 3, protože 10³ = 1000.
- log₂(32) = 5, protože 2⁵ = 32.
> Tip: log_b(x) = y právě tehdy, když bʸ = x.
## Stejný základ
*Rovnice*
- Exponentialní rovnice se stejným základem porovná exponenty.
- 2ˣ = 16 má řešení x = 4.
- log₃(81) = 4, protože 3⁴ = 81.
- log_b(b) = 1 a log_b(1) = 0.
> Tip: 2ˣ = 16 se přepíše jako 2ˣ = 2⁴.
## Součin a podíl
*Pravidla*
- log_b(xy) = log_b(x) + log_b(y).
- log_b(x/y) = log_b(x) − log_b(y).
- log_b(xⁿ) = n · log_b(x).
- Těmito pravidly se argument zjednodušuje, ne základ.
> Tip: logaritmus součinu je součet logaritmů.
# Příklady
## Spočítejte logaritmus o základu 10 z 1000.
= num:3
> 10³ = 1000, takže logaritmus je 3. Výsledek je 3.
## Spočítejte logaritmus o základu 2 z 32.
= num:5
> 2⁵ = 32. Výsledek je 5.
## Vyřešte 2ˣ = 16. Napište x.
= num:4
> 16 = 2⁴, takže x = 4. Výsledek je 4.
## Spočítejte logaritmus o základu 3 z 81.
= num:4
> 3⁴ = 81. Výsledek je 4.

View file

@ -0,0 +1,6 @@
---
nazev: Trigonometric functions
popis: Sine and cosine on the unit circle.
nazev_cviceni: Practice
nadpis_kvizu: Trigonometric functions
---

View file

@ -0,0 +1,59 @@
---
id: matematika-3-goniometricke-funkce
puvodni: mat3.3
nazev: Goniometrické funkce
popis: Sinus a kosinus na jednotkové kružnici.
nazev_cviceni: Příklady
nadpis_kvizu: Goniometrické funkce
---
# Výklad
## Úhel od kladné poloosy x
*Jednotková kružnice*
- Bod na jednotkové kružnici pod úhlem α má souřadnice [cos α; sin α].
- cos 0° = 1 a sin 0° = 0.
- sin 90° = 1 a cos 90° = 0.
- cos 180° = −1 a sin 180° = 0.
> Tip: sinus je y-ová souřadnice, kosinus x-ová.
## Polovina pravého úhlu
*45°*
- Úhel 45° půlí čtvrtkružnici.
- Souřadnice bodu splňují x = y a x² + y² = 1.
- Kladné řešení je √2/2.
- Odpověď lze psát jako sqrt(2)/2 nebo 1/sqrt(2).
> Tip: sin 45° = cos 45° = √2/2.
## Čtyři kvadranty
*Znaménka*
- Ve druhém kvadrantu je sinus kladný a kosinus záporný.
- Ve třetím jsou oba záporné.
- Ve čtvrtém je kosinus kladný a sinus záporný.
- Tangens je sinus dělený kosinem a není definován při cos α = 0.
> Tip: v prvním kvadrantu jsou sinus i kosinus kladné.
# Příklady
## Kolik je sin 90°?
= num:1
> Bod [0; 1] má y-ovou souřadnici 1. Výsledek je 1.
## Kolik je cos 180°?
= num:-1
> Bod [−1; 0] má x-ovou souřadnici −1. Výsledek je -1.
## Kolik je sin 45°? Můžete psát sqrt(2)/2.
= num:sqrt(2)/2
> sin 45° = √2/2. Stejnou hodnotu má 1/√2.
## Kolik je cos 0°?
= num:1
> Úhel 0° je bod [1; 0]. Výsledek je 1.

View file

@ -0,0 +1,6 @@
---
nazev: The sine and cosine rules
popis: A general triangle, the circumradius and the area.
nazev_cviceni: Practice
nadpis_kvizu: The sine and cosine rules
---

View file

@ -0,0 +1,59 @@
---
id: matematika-3-sinova-a-kosinova-veta
puvodni: mat3.4
nazev: Sinová a kosinová věta
popis: Obecný trojúhelník, poloměr kružnice a obsah.
nazev_cviceni: Příklady
nadpis_kvizu: Sinová a kosinová věta
---
# Výklad
## a/sin α = 2R
*Sinová věta*
- a/sin α = b/sin β = c/sin γ = 2R.
- R je poloměr kružnice opsané.
- Když a = 10 a α = 30°, je 10 / (1/2) = 20 = 2R.
- Poloměr R je 10.
> Tip: poměr strany a sinu protilehlého úhlu je pro všechny strany stejný.
## c² = a² + b² − 2ab cos γ
*Kosinová věta*
- Kosinová věta dopočítá stranu proti známému úhlu.
- Jsou-li dvě strany 2 a sevřený úhel 60°, je třetí strana také 2.
- a² = 4 + 4 − 2 · 2 · 2 · cos 60° = 8 − 8 · 1/2 = 4.
- Rovnostranný trojúhelník má všechny úhly 60°.
> Tip: pro pravý úhel je cos 90° = 0 a věta přejde v Pythagora.
## Dvě strany a sevřený úhel
*Obsah*
- Obsah je polovina součinu dvou stran a sinu sevřeného úhlu.
- (1/2) · 4 · 6 · sin 30° = 12 · 1/2 = 6.
- Sinová věta také dopočítá další stranu: b = a · sin β / sin α.
- Pro a = 8, α = 30° a β = 45° je b = 8√2.
> Tip: S = (1/2) · b · c · sin α.
# Příklady
## Strana a = 10 leží proti úhlu 30°. Jaký je poloměr kružnice opsané?
= num:10
> a/sin 30° = 20 = 2R, takže R = 10. Výsledek je 10.
## Dvě strany trojúhelníku mají délku 2 a svírají úhel 60°. Jak dlouhá je třetí strana?
= num:2
> a² = 4 + 4 − 8 · 1/2 = 4, takže a = 2. Výsledek je 2.
## Dvě strany mají délky 4 a 6 a svírají úhel 30°. Jaký je obsah trojúhelníku?
= num:6
> (1/2) · 4 · 6 · 1/2 = 6. Výsledek je 6.
## Strana a = 8 je proti 30° a úhel β je 45°. Jak dlouhá je strana b? Sin 45° je √2/2.
= num:8*sqrt(2)
> b = 8 · sin 45° / sin 30° = 8 · (√2/2) / (1/2) = 8√2.

View file

@ -0,0 +1,6 @@
---
nazev: Sequences and series
popis: An arithmetic and a geometric sequence, and an infinite series.
nazev_cviceni: Practice
nadpis_kvizu: Sequences and series
---

View file

@ -0,0 +1,59 @@
---
id: matematika-3-posloupnosti-a-rady
puvodni: mat3.5
nazev: Posloupnosti a řady
popis: Aritmetická a geometrická posloupnost a nekonečná řada.
nazev_cviceni: Příklady
nadpis_kvizu: Posloupnosti a řady
---
# Výklad
## Stálý rozdíl
*Aritmetická*
- Aritmetická posloupnost přičítá stále stejný rozdíl d.
- Pro a₁ = 3 a d = 2 je a₅ = 3 + 4 · 2 = 11.
- Součet prvních n členů je sₙ = n/2 · (2a₁ + (n − 1)d).
- s₅ = 5/2 · (6 + 8) = 35.
> Tip: aₙ = a₁ + (n − 1)d.
## Stálý kvocient
*Geometrická*
- Geometrická posloupnost násobí stále stejným kvocientem q.
- Pro a₁ = 2 a q = 3 je a₄ = 2 · 3³ = 54.
- q = 1 znamená, že se členy nemění.
- q = 0 je po prvním členu samá nula, pokud je první člen definován.
> Tip: aₙ = a₁ · qⁿ⁻¹.
## Součet pro |q| < 1
*Nekonečná řada*
- Nekonečná geometrická řada má součet jen pro |q| < 1.
- Pro a₁ = 6 a q = 1/2 je s = 6 / (1/2) = 12.
- Pro |q| ≥ 1 se součet členů neblíží ke konečnému číslu, kromě případu q = 1 a a₁ = 0.
- Řada 6 + 3 + 3/2 + … se tedy blíží ke 12.
> Tip: s = a₁ / (1 − q).
# Příklady
## Aritmetická posloupnost má a₁ = 3 a d = 2. Kolik je a₅?
= num:11
> a₅ = 3 + 4 · 2 = 11. Výsledek je 11.
## Aritmetická posloupnost má a₁ = 3 a d = 2. Kolik je součet prvních pěti členů?
= num:35
> s₅ = 5/2 · (6 + 8) = 35. Výsledek je 35.
## Geometrická posloupnost má a₁ = 2 a q = 3. Kolik je a₄?
= num:54
> a₄ = 2 · 27 = 54. Výsledek je 54.
## Nekonečná geometrická řada má a₁ = 6 a q = 1/2. Jaký je její součet?
= num:12
> s = 6 / (1/2) = 12. Výsledek je 12.

View file

@ -0,0 +1,6 @@
---
nazev: Combinatorics
popis: Permutations, variations and combinations.
nazev_cviceni: Practice
nadpis_kvizu: Combinatorics
---

View file

@ -0,0 +1,59 @@
---
id: matematika-3-kombinatorika
puvodni: mat3.6
nazev: Kombinatorika
popis: Permutace, variace a kombinace.
nazev_cviceni: Příklady
nadpis_kvizu: Kombinatorika
---
# Výklad
## Pořadí všech prvků
*Permutace*
- Permutace je uspořádání všech n různých prvků.
- Počet je n!.
- 4! = 24 a 3! = 6.
- Na prvním místě je n možností, na dalším n − 1, a tak dál.
> Tip: n! = 1 · 2 · … · n a 0! = 1.
## Pořadí vybraných prvků
*Variace*
- Variace vybírá k prvků z n a záleží na pořadí.
- V(5, 2) = 5 · 4 = 20.
- Opakování by dovolilo vybrat stejný prvek víckrát.
- Permutace je variace, která vybírá všech n prvků.
> Tip: variace bez opakování V(n, k) = n! / (n − k)!.
## Pořadí nehraje roli
*Kombinace*
- Kombinace vybírá k prvků a dvě vybrané skupiny se stejným obsahem jsou jedna.
- C(5, 2) = 10.
- C(n, k) = C(n, n − k).
- Počet variací je k! krát větší než počet kombinací.
> Tip: C(n, k) = n! / (k! · (n − k)!).
# Příklady
## Kolik je permutací čtyř různých prvků?
= num:24
> 4! = 24. Výsledek je 24.
## Kolik je kombinací 2 prvků z 5?
= num:10
> C(5, 2) = (5 · 4) / 2 = 10. Výsledek je 10.
## Kolik je variací 2 prvků z 5 bez opakování?
= num:20
> V(5, 2) = 5 · 4 = 20. Výsledek je 20.
## Kolik je 3!?
= num:6
> 3 · 2 · 1 = 6. Výsledek je 6.

View file

@ -0,0 +1,6 @@
---
nazev: Probability
popis: Classical probability with a die, a coin and cards.
nazev_cviceni: Practice
nadpis_kvizu: Probability
---

View file

@ -0,0 +1,59 @@
---
id: matematika-3-pravdepodobnost
puvodni: mat3.7
nazev: Pravděpodobnost
popis: Klasická pravděpodobnost, kostka, mince a karty.
nazev_cviceni: Příklady
nadpis_kvizu: Pravděpodobnost
---
# Výklad
## Příznivé ku všem
*Definice*
- Klasická pravděpodobnost je počet příznivých výsledků dělený počtem všech.
- Hodnota leží od 0 do 1.
- Jev jistý má pravděpodobnost 1, jev nemožný 0.
- Na kostce je sudé číslo ve třech případech ze šesti, tedy 1/2.
> Tip: všechny výsledky musí být stejně možné.
## Součin pravděpodobností
*Nezávislost*
- U dvou nezávislých mincí jsou možnosti PP, PO, OP a OO.
- Dva panny jsou jedna možnost ze čtyř, tedy 1/4.
- U dvou kostek je 36 stejně možných dvojic.
- Součet 7 nastane u šesti dvojic: 1+6, 2+5, 3+4, 4+3, 5+2 a 6+1.
> Tip: dvě mince mají čtyři stejně možné dvojice výsledků.
## Čtyři esa v balíčku 32 karet
*Karty*
- Pravděpodobnost esa je 4/32 = 1/8.
- Tažení jedné karty považuje každou kartu za stejně možnou.
- Doplňkový jev má pravděpodobnost 1 − p.
- Výsledek se krátí do základního tvaru.
> Tip: mariášový balíček má 32 karet.
# Příklady
## Jaká je pravděpodobnost sudého čísla při hodu hrací kostkou?
= num:1/2
> Sudá jsou 2, 4 a 6, tedy 3 ze 6, čili 1/2. Výsledek je 1/2.
## Jaká je pravděpodobnost, že na dvou mincích padnou dvě panny?
= num:1/4
> Ze čtyř dvojic je příznivá jedna. Výsledek je 1/4.
## V balíčku 32 karet jsou 4 esa. Jaká je pravděpodobnost, že tažená karta je eso?
= num:1/8
> 4/32 = 1/8. Výsledek je 1/8.
## Jaká je pravděpodobnost, že součet na dvou hracích kostkách je 7?
= num:1/6
> Příznivých dvojic je 6 z 36, tedy 1/6. Výsledek je 1/6.

View file

@ -0,0 +1,6 @@
---
nazev: Solid geometry
popis: The cube, the cylinder, the sphere and a pyramid.
nazev_cviceni: Practice
nadpis_kvizu: Solid geometry
---

View file

@ -0,0 +1,59 @@
---
id: matematika-3-stereometrie
puvodni: mat3.8
nazev: Stereometrie
popis: Krychle, válec, koule a jehlan.
nazev_cviceni: Příklady
nadpis_kvizu: Stereometrie
---
# Výklad
## Objem a povrch
*Krychle*
- Objem je počet jednotkových krychlí, které se do tělesa vejdou.
- Krychle o hraně 3 má objem 27.
- Povrch je součet obsahů všech stěn: 6 · 9 = 54.
- Jednotky objemu jsou krychlové, jednotky povrchu čtvereční.
> Tip: krychle o hraně a má objem a³ a povrch 6a².
## Vzorce s π
*Válec a koule*
- Objem válce je πr²v.
- Pro r = 2 a v = 5 je objem 20π.
- Objem koule je (4/3)πr³.
- Pro r = 3 je objem (4/3)π · 27 = 36π.
> Tip: výsledek nechte v násobcích π.
## Třetina hranolu
*Jehlan*
- Jehlan má stejný objem jako třetina hranolu se stejnou podstavou a výškou.
- Podstava o obsahu 12 a výška 4 dávají objem 16.
- Výška je kolmá vzdálenost vrcholu od roviny podstavy.
- Stejný vztah třetiny platí i pro kužel vůči válci.
> Tip: objem jehlanu je (1/3) · obsah podstavy · výška.
# Příklady
## Krychle má hranu 3. Jaký je její objem?
= num:27
> 3³ = 27. Výsledek je 27.
## Krychle má hranu 3. Jaký je její povrch?
= num:54
> Šest stěn o obsahu 9 dává 54. Výsledek je 54.
## Válec má poloměr 2 a výšku 5. Jaký je jeho objem? Nechte π ve výsledku.
= num:20*pi
> πr²v = π · 4 · 5 = 20π. Výsledek je 20π.
## Koule má poloměr 3. Jaký je její objem? Nechte π ve výsledku.
= num:36*pi
> (4/3)π · 27 = 36π. Výsledek je 36π.