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,59 @@
---
id: matematika-1-algebraicke-vyrazy
puvodni: mat.3
nazev: Algebraické výrazy
popis: Dosazení, druhá mocnina součtu a rozklad rozdílu čtverců.
nazev_cviceni: Příklady
nadpis_kvizu: Algebraické výrazy
---
# Výklad
## Písmeno je číslo
*Dosazení*
- Do výrazu se za proměnnou dosadí dané číslo.
- 2(x + 3) při x = 4 je 2 · 7 = 14.
- 3x − 2x + 5 se nejdřív sloučí na x + 5.
- Při x = 2 je x + 5 = 7.
> Tip: nejdřív závorky, potom mocniny a násobení.
## Druhá mocnina dvojčlenu
*Vzorce*
- (a + b)² = a² + 2ab + b².
- (a − b)² = a² − 2ab + b².
- a² − b² = (a − b)(a + b).
- Pro a = 3 a b = 1 je (a + b)² = 16.
> Tip: (a + b)² není a² + b².
## Rozdíl čtverců
*Zkrácení*
- x² − 9 = (x − 3)(x + 3).
- (x² − 9)/(x − 3) = x + 3 pro x ≠ 3.
- Při x = 5 je hodnota 8.
- Dosazení x = 3 by dělilo nulou, výraz tam není definován.
> Tip: krátit lze jen pro x, která nejsou kořenem jmenovatele.
# Příklady
## Do výrazu 2(x + 3) dosažte x = 4.
= num:14
> 2 · (4 + 3) = 14. Výsledek je 14.
## Do výrazu (a + b)² dosažte a = 3 a b = 1.
= num:16
> 4² = 16. Rozepsáno 9 + 6 + 1 = 16. Výsledek je 16.
## Do výrazu 3x − 2x + 5 dosažte x = 2.
= num:7
> Výraz je x + 5, při x = 2 je 7. Výsledek je 7.
## Do výrazu (x² − 9)/(x − 3) dosažte x = 5.
= num:8
> Pro x ≠ 3 je výraz roven x + 3, tedy 8. Výsledek je 8.