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: Vectors
popis: Magnitude, a sum, the dot product and an endpoint.
nazev_cviceni: Practice
nadpis_kvizu: Vectors
---

View file

@ -0,0 +1,63 @@
---
id: matematika-4-vektory
puvodni: mat4.1
nazev: Vektory
popis: Velikost, součet, skalární součin a koncový bod.
nazev_cviceni: Příklady
nadpis_kvizu: Vektory
---
# Výklad
## Velikost a součet
*Souřadnice*
- Vektor má velikost a směr.
- |(3; 4)| = 5, protože 9 + 16 = 25.
- Vektory se sčítají po souřadnicích.
- (1; 2) + (3; −1) = (4; 1).
> Tip: velikost vektoru (a; b) je √(a² + b²).
## Číslo, ne vektor
*Skalární součin*
- Skalární součin dvou vektorů je číslo.
- (1; 2) · (3; 4) = 3 + 8 = 11.
- Nulový skalární součin znamená kolmé vektory.
- Velikost lze psát jako odmocninu ze skalárního součinu vektoru se sebou.
> Tip: (a; b) · (c; d) = ac + bd.
## Velikost rozdílu
*Vzdálenost*
- Vzdálenost bodů je velikost vektoru mezi nimi.
- Od [1; 1] do [4; 5] je vektor (3; 4) a vzdálenost 5.
- Koncový bod vektoru (3; 2) umístěného do [1; 1] je [4; 3].
- Pořadí souřadnic je x a potom y.
> Tip: na mřížce osa y míří nahoru.
# Příklady
## Jaká je velikost vektoru (3; 4)?
= num:5
> √(9 + 16) = √25 = 5. Výsledek je 5.
## Sečtěte vektory (1; 2) a (3; −1). Napište souřadnice oddělené středníkem.
= pair:4;1
> (1 + 3; 2 + (−1)) = (4; 1). Napište 4;1.
## Spočítejte skalární součin vektorů (1; 2) a (3; 4).
= num:11
> 1 · 3 + 2 · 4 = 11. Výsledek je 11.
## Jaká je vzdálenost bodů [1; 1] a [4; 5]?
= num:5
> Rozdíl je (3; 4) a jeho velikost je 5. Výsledek je 5.
## Z bodu A = [1; 1] naneste vektor (3; 2). Zakreslete koncový bod.
= points:4,3;fix:1,1
> Ke každé souřadnici se přičte složka vektoru: [1 + 3; 1 + 2] = [4; 3].

View file

@ -0,0 +1,6 @@
---
nazev: The line in the plane
popis: Slope, intercept, a parametric equation and the distance from a line.
nazev_cviceni: Practice
nadpis_kvizu: The line in the plane
---

View file

@ -0,0 +1,63 @@
---
id: matematika-4-analyticka-primka
puvodni: mat4.2
nazev: Analytická přímka
popis: Směrnice, úsek, parametrické vyjádření a vzdálenost od přímky.
nazev_cviceni: Příklady
nadpis_kvizu: Analytická přímka
---
# Výklad
## y = ax + b
*Směrnice*
- Body [1; 2] a [4; 8] určují směrnici (8 − 2)/(4 − 1) = 2.
- Přímka procházející bodem [0; 1] se směrnicí 2 má rovnici y = 2x + 1.
- Úsek na ose y je 1.
- Svislá přímka směrnici tohoto tvaru nemá.
> Tip: a = (y₂ − y₁)/(x₂ − x₁).
## Bod a směrový vektor
*Parametr*
- Parametrické vyjádření je x = x₀ + t · u₁, y = y₀ + t · u₂.
- Přímka (1; 3) + t(2; 0) má při t = 2 bod [5; 3].
- Každé t dá právě jeden bod přímky.
- Směrový vektor (2; 0) je vodorovný.
> Tip: X = A + t · u.
## Bod od přímky
*Vzdálenost*
- Přímka 3x + 4y − 10 = 0 má a = 3, b = 4 a c = −10.
- Vzdálenost počátku je |−10| / √(9 + 16) = 10/5 = 2.
- Čitatel je absolutní hodnota, vzdálenost není záporná.
- Čtvrtý vrchol rovnoběžníku k bodům A, B a C je B + C − A.
> Tip: pro ax + by + c = 0 je vzdálenost |ax₀ + by₀ + c| / √(a² + b²).
# Příklady
## Jaká je směrnice přímky body [1; 2] a [4; 8]?
= num:2
> (8 − 2)/(4 − 1) = 2. Výsledek je 2.
## Přímka má rovnici y = 2x + 1. Jaký je její úsek na ose y?
= num:1
> Úsek je absolutní člen, tedy 1. Výsledek je 1.
## Bod přímky je (1; 3) + t(2; 0). Kam přímka dojde pro t = 2? Napište x a y středníkem.
= pair:5;3
> (1; 3) + 2 · (2; 0) = (5; 3). Napište 5;3.
## Jaká je vzdálenost bodu [0; 0] od přímky 3x + 4y − 10 = 0?
= num:2
> |−10| / √(9 + 16) = 10/5 = 2. Výsledek je 2.
## A = [1; 1], B = [4; 1] a C = [2; 3]. Zakreslete čtvrtý vrchol rovnoběžníku, ve kterém jsou AB a AC sousední strany.
= para:1,1;4,1;2,3
> D = B + C − A = [4 + 2 − 1; 1 + 3 − 1] = [5; 3].

View file

@ -0,0 +1,6 @@
---
nazev: Conic sections
popis: A circle and an ellipse aligned with the axes.
nazev_cviceni: Practice
nadpis_kvizu: Conic sections
---

View file

@ -0,0 +1,63 @@
---
id: matematika-4-kuzelosecky
puvodni: mat4.3
nazev: Kuželosečky
popis: Kružnice a elipsa v osové poloze.
nazev_cviceni: Příklady
nadpis_kvizu: Kuželosečky
---
# Výklad
## Střed a poloměr
*Kružnice*
- Kružnice je množina bodů stejně vzdálených od středu.
- (x − 1)² + (y + 2)² = 9 má střed [1; −2].
- y + 2 je totéž co y − (−2).
- Poloměr je √9 = 3, ne 9.
> Tip: (x − m)² + (y − n)² = r² má střed [m; n].
## Dvě poloosy
*Elipsa*
- Elipsa v osové poloze se středem v počátku má rovnici x²/a² + y²/b² = 1.
- U x²/25 + y²/9 = 1 je a = 5 a b = 3.
- Delší poloosa je hlavní, kratší vedlejší.
- Vrcholy na ose x jsou [±a; 0], na ose y [0; ±b].
> Tip: ve tvaru x²/a² + y²/b² = 1 je a poloosa na ose x.
## Vzdálenost ohniska od středu
*Excentricita*
- Lineární výstřednost e splňuje e² = a² − b², když je a hlavní poloosa.
- √(25 − 9) = √16 = 4.
- Ohniska elipsy jsou [±e; 0].
- Součet vzdáleností bodu elipsy od obou ohnisek je 2a.
> Tip: pro a > b je e = √(a² − b²).
# Příklady
## Kružnice má rovnici (x − 1)² + (y + 2)² = 9. Napište souřadnice středu jako x;y.
= pair:1;-2
> Střed je [1; −2]. Napište 1;-2.
## Jaký je poloměr kružnice (x − 1)² + (y + 2)² = 9?
= num:3
> Pravá strana je r², takže r = 3. Výsledek je 3.
## Elipsa má rovnici x²/25 + y²/9 = 1. Jak dlouhá je poloosa a na ose x?
= num:5
> a² = 25, takže a = 5. Výsledek je 5.
## Elipsa má rovnici x²/25 + y²/9 = 1. Jak dlouhá je poloosa b na ose y?
= num:3
> b² = 9, takže b = 3. Výsledek je 3.
## Elipsa má a = 5 a b = 3. Jaká je její lineární výstřednost e?
= num:4
> e = √(25 − 9) = √16 = 4. Výsledek je 4.

View file

@ -0,0 +1,6 @@
---
nazev: Complex numbers
popis: A sum, a product, the modulus and a power of i.
nazev_cviceni: Practice
nadpis_kvizu: Complex numbers
---

View file

@ -0,0 +1,59 @@
---
id: matematika-4-komplexni-cisla
puvodni: mat4.4
nazev: Komplexní čísla
popis: Součet, součin, absolutní hodnota a mocnina i.
nazev_cviceni: Příklady
nadpis_kvizu: Komplexní čísla
---
# Výklad
## a + bi
*Tvar*
- Komplexní číslo a + bi má reálnou část a a imaginární část b.
- i je imaginární jednotka a i² = −1.
- Čísla se sčítají po složkách.
- (2 + 3i) + (1 − i) = 3 + 2i.
> Tip: i² = −1. Reálnou a imaginární část pište oddělené středníkem.
## Jako dvojčlen
*Násobení*
- (a + bi)(c + di) = ac + adi + bci + bdi².
- bdi² = −bd, proto se imaginární jednotka ve výsledku nemusí objevit.
- (1 + i)(1 − i) = 1 − (i)² = 1 − (−1) = 2.
- Komplexní čísla lze násobit i v goniometrickém tvaru sčítáním argumentů.
> Tip: (1 + i)(1 − i) je rozdíl čtverců.
## Vzdálenost od nuly
*Absolutní hodnota*
- Absolutní hodnota je vzdálenost obrazu čísla od počátku Gaussovy roviny.
- |3 + 4i| = 5.
- |z| je vždy reálné nezáporné číslo.
- i² = −1, i³ = −i a i⁴ = 1.
> Tip: |a + bi| = √(a² + b²).
# Příklady
## Sečtěte 2 + 3i a 1 − i. Napište reálnou a imaginární část středníkem.
= pair:3;2
> (2 + 1) + (3 − 1)i = 3 + 2i. Napište 3;2.
## Spočítejte (1 + i)(1 − i).
= num:2
> 1 − i² = 1 − (−1) = 2. Výsledek je 2.
## Jaká je absolutní hodnota čísla 3 + 4i?
= num:5
> √(9 + 16) = 5. Výsledek je 5.
## Kolik je i²?
= num:-1
> Imaginární jednotka splňuje i² = −1. Výsledek je -1.

View file

@ -0,0 +1,6 @@
---
nazev: The derivative
popis: The derivative of a power, a tangent and the derivative of sine.
nazev_cviceni: Practice
nadpis_kvizu: The derivative
---

View file

@ -0,0 +1,59 @@
---
id: matematika-4-derivace
puvodni: mat4.5
nazev: Derivace
popis: Derivace mocniny, tečna a derivace sinu.
nazev_cviceni: Příklady
nadpis_kvizu: Derivace
---
# Výklad
## (xⁿ)' = n xⁿ⁻¹
*Mocnina*
- Derivace funkce v bodě je směrnice tečny grafu v tom bodě.
- (x³)' = 3x². V bodě x = 2 je 3 · 4 = 12.
- (5x²)' = 10x. V bodě x = 1 je 10.
- Derivace konstanty je 0 a konstanta se vytýká.
> Tip: derivace je směrnice tečny.
## Směrnice v bodě
*Tečna*
- Tečna ke grafu y = x² v bodě x = 1 má směrnici 2.
- Rovnice tečny používá bod [1; 1] a tuto směrnici.
- Kladná derivace znamená, že funkce v bodě roste.
- Záporná derivace znamená, že funkce klesá.
> Tip: u f(x) = x² je f'(x) = 2x.
## Derivace sinu je kosinus
*Sinus*
- Derivace funkce sin x je cos x.
- Derivace funkce cos x je −sin x.
- V bodě x = 0 je derivace sinu rovna cos 0 = 1.
- Úhel v tomto vzorci je v radiánech, ale nula je nula v obou jednotkách.
> Tip: (sin x)' = cos x a cos 0 = 1.
# Příklady
## Jaká je derivace funkce x³ v bodě x = 2?
= num:12
> (x³)' = 3x² a 3 · 4 = 12. Výsledek je 12.
## Jaká je derivace funkce 5x² v bodě x = 1?
= num:10
> (5x²)' = 10x a v jedničce je 10. Výsledek je 10.
## Jakou směrnici má tečna ke grafu y = x² v bodě x = 1?
= num:2
> Derivace 2x je v bodě 1 rovna 2. Výsledek je 2.
## Jaká je derivace funkce sin x v bodě x = 0? Derivace sinu je kosinus.
= num:1
> (sin x)' = cos x a cos 0 = 1. Výsledek je 1.

View file

@ -0,0 +1,6 @@
---
nazev: The shape of a function
popis: Stationary points, local extrema and a zero derivative.
nazev_cviceni: Practice
nadpis_kvizu: The shape of a function
---

View file

@ -0,0 +1,59 @@
---
id: matematika-4-prubeh-funkce
puvodni: mat4.6
nazev: Průběh funkce
popis: Stacionární body, lokální extrémy a nulová derivace.
nazev_cviceni: Příklady
nadpis_kvizu: Průběh funkce
---
# Výklad
## Derivace je nula
*Stacionární bod*
- V lokálním extrému diferencovatelné funkce je derivace nulová.
- U f(x) = x³ − 3x je f'(x) = 3x² − 3.
- 3(x² − 1) = 0 dává x = −1 a x = 1.
- To jsou jediní kandidáti na lokální extrém.
> Tip: f'(x) = 0 je vodorovná tečna.
## Znaménko druhé derivace
*Maximum a minimum*
- V x = −1 je f''(−1) = −6 < 0, takže jde o lokální maximum.
- f(−1) = −1 + 3 = 2.
- V x = 1 je f''(1) = 6 > 0, takže jde o lokální minimum.
- f(1) = 1 − 3 = −2.
> Tip: f''(x) = 6x. Záporná druhá derivace znamená lokální maximum.
## Lineární derivace
*Jiný příklad*
- Kde je derivace nula, má graf vodorovnou tečnu.
- Rovnice 2x − 4 = 0 má řešení x = 2.
- Pro x < 2 je derivace 2x − 4 záporná, funkce klesá.
- Pro x > 2 je derivace kladná, funkce roste.
> Tip: g'(x) = 2x − 4 je nula při x = 2.
# Příklady
## Funkce f(x) = x³ − 3x. Ve kterém x má lokální maximum?
= num:-1
> f'(x) = 3x² − 3 = 0 pro x = ±1 a v −1 je maximum. Výsledek je -1.
## Funkce f(x) = x³ − 3x. Jaká je hodnota lokálního maxima?
= num:2
> f(−1) = −1 + 3 = 2. Výsledek je 2.
## Funkce f(x) = x³ − 3x. Ve kterém x má lokální minimum?
= num:1
> Druhá derivace 6x je v x = 1 kladná. Výsledek je 1.
## Derivace funkce je g'(x) = 2x − 4. Pro které x je derivace nulová?
= num:2
> 2x − 4 = 0 dává x = 2. Výsledek je 2.

View file

@ -0,0 +1,6 @@
---
nazev: The integral
popis: The definite integral of a power as the area under the graph.
nazev_cviceni: Practice
nadpis_kvizu: The integral
---

View file

@ -0,0 +1,59 @@
---
id: matematika-4-integral
puvodni: mat4.7
nazev: Integrál
popis: Určitý integrál mocniny jako obsah pod grafem.
nazev_cviceni: Příklady
nadpis_kvizu: Integrál
---
# Výklad
## Opačný postup k derivaci
*Primitivní funkce*
- Neurčitý integrál je množina primitivních funkcí.
- Liší se o konstantu, protože derivace konstanty je nula.
- Primitivní funkce k 2x je x².
- Primitivní funkce k x² je x³/3.
> Tip: primitivní funkce k xⁿ je xⁿ⁺¹/(n + 1) pro n ≠ −1.
## Newtonův vzorec
*Určitý integrál*
- Určitý integrál nezáporné funkce je obsah plochy pod grafem.
- ∫ od 0 do 3 z 2x dx = [x²] od 0 do 3 = 9.
- ∫ od 0 do 2 z x² dx = [x³/3] od 0 do 2 = 8/3.
- Dolní mez 0 u těchto mocnin často vynuluje první člen.
> Tip: ∫ od a do b z f je F(b) − F(a).
## Násobek lze vytknout
*Konstanta*
- ∫ od 0 do 1 z 3x² dx = [x³] od 0 do 1 = 1.
- ∫ od 0 do 2 z 6x dx = [3x²] od 0 do 2 = 12.
- Záporná funkce dává záporný integrál, nejde vždy o obsah beze znaménka.
- Součet funkcí se integruje člen po členu.
> Tip: integrál z c · f je c krát integrál z f.
# Příklady
## Spočítejte integrál od 0 do 3 z funkce 2x.
= num:9
> Primitivní funkce je x² a 9 − 0 = 9. Výsledek je 9.
## Spočítejte integrál od 0 do 2 z funkce x².
= num:8/3
> Primitivní funkce je x³/3 a 8/3 − 0 = 8/3. Výsledek je 8/3.
## Spočítejte integrál od 0 do 1 z funkce 3x².
= num:1
> Primitivní funkce je x³ a 1 − 0 = 1. Výsledek je 1.
## Spočítejte integrál od 0 do 2 z funkce 6x.
= num:12
> Primitivní funkce je 3x² a 12 − 0 = 12. Výsledek je 12.

View file

@ -0,0 +1,6 @@
---
nazev: Maturita mix
popis: A logarithm, a combination, a vector, a fraction and a quadratic equation.
nazev_cviceni: Practice
nadpis_kvizu: Maturita mix
---

View file

@ -0,0 +1,63 @@
---
id: matematika-4-maturitni-mix
puvodni: mat4.8
nazev: Maturitní mix
popis: Logaritmus, kombinace, vektor, zlomek a kvadratická rovnice.
nazev_cviceni: Příklady
nadpis_kvizu: Maturitní mix
---
# Výklad
## Logaritmus a zlomek
*Číslo*
- Logaritmus vrací exponent.
- 1/2 + 1/3 = 5/6.
- Společný jmenovatel se hledá i v maturitním příkladu stejně jako na základní škole.
- Výsledek se krátí.
> Tip: log₂(8) = 3, protože 2³ = 8.
## Kombinace a velikost
*Počet a vektor*
- C(6, 2) = (6 · 5) / 2 = 15.
- Pořadí vybrané dvojice se nepočítá dvakrát.
- Velikost vektoru (3; 4) je přepona trojúhelníku 3-4-5.
- Skalární součin by u kolmých vektorů vyšel nula.
> Tip: C(6, 2) = 15 a |(3; 4)| = 5.
## x² − 1 = 0
*Rovnice*
- x² − 1 = 0 má kořeny −1 a 1.
- Oba se napíšou, oddělené středníkem.
- Diskriminant je 0 − 4 · 1 · (−1) = 4.
- Zkouška: 1 − 1 = 0 a 1 − 1 = 0.
> Tip: rozdíl čtverců (x − 1)(x + 1).
# Příklady
## Spočítejte logaritmus o základu 2 z 8.
= num:3
> 2³ = 8. Výsledek je 3.
## Kolik je kombinací 2 prvků ze 6?
= num:15
> C(6, 2) = 15. Výsledek je 15.
## Jaká je velikost vektoru (3; 4)?
= num:5
> √(9 + 16) = 5. Výsledek je 5.
## Spočítejte 1/2 + 1/3.
= num:5/6
> 3/6 + 2/6 = 5/6. Výsledek je 5/6.
## Najděte kořeny rovnice x² − 1 = 0. Oddělte je středníkem.
= set:-1;1
> (x − 1)(x + 1) = 0. Napište -1;1.