mirror of
https://github.com/pepaskopec-blip/Graduately.git
synced 2026-10-27 15:14:35 +00:00
Add a C# course with a side-by-side code runner.
Each lesson explains a topic and runs the edited program next to the text through the local .NET SDK. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
6662eb185e
commit
333085ee53
86 changed files with 2482 additions and 5 deletions
4
content/programovani/2-rocnik/01-if.en.md
Normal file
4
content/programovani/2-rocnik/01-if.en.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
nazev: If and else
|
||||
popis: A branch that runs only sometimes.
|
||||
---
|
||||
43
content/programovani/2-rocnik/01-if.md
Normal file
43
content/programovani/2-rocnik/01-if.md
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
---
|
||||
id: cs-2-if
|
||||
nazev: If a else
|
||||
popis: Větev, která se spustí jen někdy.
|
||||
---
|
||||
|
||||
# Výklad
|
||||
|
||||
## Podmínka
|
||||
*if*
|
||||
|
||||
- if (vek >= 18) spustí blok ve složených závorkách, jen když je podmínka true.
|
||||
- else je větev pro opačný případ.
|
||||
- else if přidá další podmínku mezi ně.
|
||||
|
||||
> Tip: Za if není středník. Středník by podmínku oddělil od bloku.
|
||||
|
||||
## Porovnání
|
||||
*==*
|
||||
|
||||
- Čísla porovnávejte >, <, >=, <=, == a !=.
|
||||
- Text se porovnává ==. "Anna" == "anna" je false.
|
||||
- Do podmínky patří bool, ne přiřazení.
|
||||
|
||||
> Tip: Změňte vek a sledujte, která věta se vypíše.
|
||||
|
||||
# Kód
|
||||
|
||||
```
|
||||
int vek = 17;
|
||||
if (vek >= 18)
|
||||
{
|
||||
Console.WriteLine("plnoletý");
|
||||
}
|
||||
else if (vek >= 15)
|
||||
{
|
||||
Console.WriteLine("téměř");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("ještě ne");
|
||||
}
|
||||
```
|
||||
4
content/programovani/2-rocnik/02-switch.en.md
Normal file
4
content/programovani/2-rocnik/02-switch.en.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
nazev: Switch
|
||||
popis: Several branches for one value.
|
||||
---
|
||||
43
content/programovani/2-rocnik/02-switch.md
Normal file
43
content/programovani/2-rocnik/02-switch.md
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
---
|
||||
id: cs-2-switch
|
||||
nazev: Switch
|
||||
popis: Víc větví podle jedné hodnoty.
|
||||
---
|
||||
|
||||
# Výklad
|
||||
|
||||
## Větve
|
||||
*case*
|
||||
|
||||
- switch vybere case, který se rovná hodnotě.
|
||||
- break ukončí větev. Bez něj se překlad v klasickém zápisu zastaví.
|
||||
- default je větev, když nesedí žádný case.
|
||||
|
||||
> Tip: Na známku 1 až 5 se switch hodí víc než řada else if.
|
||||
|
||||
## Nový zápis
|
||||
*šipka*
|
||||
|
||||
- case 1 => "výborně" je krátká větev bez break.
|
||||
- Výraz switch umí hodnotu rovnou vrátit.
|
||||
- V lekci je klasický zápis, ať je vidět break.
|
||||
|
||||
> Tip: Přidejte case 5 a spusťte se znamkou 5.
|
||||
|
||||
# Kód
|
||||
|
||||
```
|
||||
int znamka = 2;
|
||||
switch (znamka)
|
||||
{
|
||||
case 1:
|
||||
Console.WriteLine("výborně");
|
||||
break;
|
||||
case 2:
|
||||
Console.WriteLine("chvalitebně");
|
||||
break;
|
||||
default:
|
||||
Console.WriteLine("jiná známka");
|
||||
break;
|
||||
}
|
||||
```
|
||||
4
content/programovani/2-rocnik/03-while.en.md
Normal file
4
content/programovani/2-rocnik/03-while.en.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
nazev: While
|
||||
popis: Repeat while a condition holds.
|
||||
---
|
||||
38
content/programovani/2-rocnik/03-while.md
Normal file
38
content/programovani/2-rocnik/03-while.md
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
---
|
||||
id: cs-2-while
|
||||
nazev: While
|
||||
popis: Opakování, dokud podmínka platí.
|
||||
---
|
||||
|
||||
# Výklad
|
||||
|
||||
## Smyčka
|
||||
*while*
|
||||
|
||||
- Tělo se opakuje, dokud je podmínka true.
|
||||
- Když podmínku nikdy nezměníte, smyčka neskončí.
|
||||
- Aplikace dlouhý běh po chvíli zastaví.
|
||||
|
||||
> Tip: i = i + 1 nebo i++ posune čítač. Bez toho se i nemění.
|
||||
|
||||
## Součet
|
||||
*1 až 4*
|
||||
|
||||
- Začněte součtem 0 a přičítejte i.
|
||||
- 1+2+3+4 je 10.
|
||||
- Podmínka i <= 4 pustí i číslo 4 dovnitř.
|
||||
|
||||
> Tip: Změňte 4 na 10. Součet 1 až 10 je 55.
|
||||
|
||||
# Kód
|
||||
|
||||
```
|
||||
int i = 1;
|
||||
int soucet = 0;
|
||||
while (i <= 4)
|
||||
{
|
||||
soucet = soucet + i;
|
||||
i++;
|
||||
}
|
||||
Console.WriteLine(soucet);
|
||||
```
|
||||
4
content/programovani/2-rocnik/04-for.en.md
Normal file
4
content/programovani/2-rocnik/04-for.en.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
nazev: For
|
||||
popis: A loop with its counter in one place.
|
||||
---
|
||||
34
content/programovani/2-rocnik/04-for.md
Normal file
34
content/programovani/2-rocnik/04-for.md
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
---
|
||||
id: cs-2-for
|
||||
nazev: For
|
||||
popis: Smyčka s čítačem na jednom místě.
|
||||
---
|
||||
|
||||
# Výklad
|
||||
|
||||
## Tři části
|
||||
*start; podmínka; krok*
|
||||
|
||||
- for (int i = 0; i < 3; i++) má začátek, podmínku a krok.
|
||||
- i < 3 pustí 0, 1 a 2. Trojku už ne.
|
||||
- Krok i++ se provede až po těle.
|
||||
|
||||
> Tip: Když potřebujete přesný počet opakování, for je přehlednější než while.
|
||||
|
||||
## Násobilka
|
||||
*výpis*
|
||||
|
||||
- V těle můžete počítat i * 2.
|
||||
- WriteLine v těle vypíše jeden řádek na každé opakování.
|
||||
- Čítač nemusí začínat nulou.
|
||||
|
||||
> Tip: Přepište podmínku na i <= 5 a sledujte další řádek.
|
||||
|
||||
# Kód
|
||||
|
||||
```
|
||||
for (int i = 1; i <= 3; i++)
|
||||
{
|
||||
Console.WriteLine($"{i} krát 2 je {i * 2}");
|
||||
}
|
||||
```
|
||||
4
content/programovani/2-rocnik/05-pole.en.md
Normal file
4
content/programovani/2-rocnik/05-pole.en.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
nazev: Arrays
|
||||
popis: Several values of one type under one name.
|
||||
---
|
||||
35
content/programovani/2-rocnik/05-pole.md
Normal file
35
content/programovani/2-rocnik/05-pole.md
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
---
|
||||
id: cs-2-pole
|
||||
nazev: Pole
|
||||
popis: Víc hodnot stejného typu pod jedním jménem.
|
||||
---
|
||||
|
||||
# Výklad
|
||||
|
||||
## Index
|
||||
*od nuly*
|
||||
|
||||
- new int[] { 2, 4, 6 } je pole tří čísel.
|
||||
- První prvek je znamky[0], poslední znamky[2].
|
||||
- Length je počet prvků, ne index posledního.
|
||||
|
||||
> Tip: znamky[3] u pole délky 3 spadne. Poslední index je 2.
|
||||
|
||||
## Zápis
|
||||
*prvku*
|
||||
|
||||
- Do prvku se dá uložit nová hodnota: znamky[1] = 5.
|
||||
- Ostatní prvky zůstanou.
|
||||
- Pole má pevnou délku. Přidat čtvrtý prvek nejde, na to je později List.
|
||||
|
||||
> Tip: Vyměňte první známku a spusťte znovu.
|
||||
|
||||
# Kód
|
||||
|
||||
```
|
||||
int[] znamky = { 1, 3, 2 };
|
||||
Console.WriteLine(znamky[0]);
|
||||
Console.WriteLine(znamky.Length);
|
||||
znamky[1] = 5;
|
||||
Console.WriteLine(znamky[1]);
|
||||
```
|
||||
4
content/programovani/2-rocnik/06-foreach.en.md
Normal file
4
content/programovani/2-rocnik/06-foreach.en.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
nazev: Foreach
|
||||
popis: Visit every item without an index.
|
||||
---
|
||||
35
content/programovani/2-rocnik/06-foreach.md
Normal file
35
content/programovani/2-rocnik/06-foreach.md
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
---
|
||||
id: cs-2-foreach
|
||||
nazev: Foreach
|
||||
popis: Projít každý prvek bez indexu.
|
||||
---
|
||||
|
||||
# Výklad
|
||||
|
||||
## Projítí
|
||||
*foreach*
|
||||
|
||||
- foreach (int z in znamky) vezme prvky od prvního po poslední.
|
||||
- z je kopie hodnoty. U int se zápisem do z pole nezmění.
|
||||
- Když index nepotřebujete, foreach je kratší než for.
|
||||
|
||||
> Tip: Součet ve smyčce přičítá aktuální z.
|
||||
|
||||
## Texty
|
||||
*string[]*
|
||||
|
||||
- Pole může být i ze stringů.
|
||||
- Stejný foreach funguje pro oba typy, jen se liší typ prvku.
|
||||
- Pořadí je pořadí v závorce při vytvoření.
|
||||
|
||||
> Tip: Přidejte do pole třetí jméno.
|
||||
|
||||
# Kód
|
||||
|
||||
```
|
||||
string[] jmena = { "Anna", "Eva", "Jan" };
|
||||
foreach (string jmeno in jmena)
|
||||
{
|
||||
Console.WriteLine(jmeno);
|
||||
}
|
||||
```
|
||||
4
content/programovani/2-rocnik/07-metody.en.md
Normal file
4
content/programovani/2-rocnik/07-metody.en.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
nazev: Methods
|
||||
popis: A named piece of the program you can call.
|
||||
---
|
||||
37
content/programovani/2-rocnik/07-metody.md
Normal file
37
content/programovani/2-rocnik/07-metody.md
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
---
|
||||
id: cs-2-metody
|
||||
nazev: Metody
|
||||
popis: Pojmenovaný kus programu, který lze zavolat.
|
||||
---
|
||||
|
||||
# Výklad
|
||||
|
||||
## Volání
|
||||
*jméno()*
|
||||
|
||||
- static void Pozdrav() je metoda bez výsledku.
|
||||
- Zavolá se Pozdrav(); včetně závorek.
|
||||
- Bez závorek by to bylo jen jméno, ne volání.
|
||||
|
||||
> Tip: Metodu lze zavolat víckrát a pokaždé udělá totéž.
|
||||
|
||||
## Proč
|
||||
*jednou*
|
||||
|
||||
- Kód, který se opakuje, patří do metody.
|
||||
- Jméno metody říká, co dělá: Pozdrav, ne Metoda1.
|
||||
- void znamená, že nevrací hodnotu.
|
||||
|
||||
> Tip: Přidejte druhé volání Pozdrav().
|
||||
|
||||
# Kód
|
||||
|
||||
```
|
||||
Pozdrav();
|
||||
Pozdrav();
|
||||
|
||||
static void Pozdrav()
|
||||
{
|
||||
Console.WriteLine("Ahoj");
|
||||
}
|
||||
```
|
||||
4
content/programovani/2-rocnik/08-navrat.en.md
Normal file
4
content/programovani/2-rocnik/08-navrat.en.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
nazev: Parameters and return
|
||||
popis: A method receives values and can return one.
|
||||
---
|
||||
38
content/programovani/2-rocnik/08-navrat.md
Normal file
38
content/programovani/2-rocnik/08-navrat.md
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
---
|
||||
id: cs-2-navrat
|
||||
nazev: Parametry a návrat
|
||||
popis: Metoda dostane hodnoty a může jednu vrátit.
|
||||
---
|
||||
|
||||
# Výklad
|
||||
|
||||
## Parametr
|
||||
*vstup*
|
||||
|
||||
- int a v závorce je parametr. Volající dodá argument.
|
||||
- Součet(2, 5) uloží 2 do a a 5 do b.
|
||||
- Jména parametrů platí jen uvnitř metody.
|
||||
|
||||
> Tip: Změňte argumenty a výsledek se změní, metoda ne.
|
||||
|
||||
## return
|
||||
*výstup*
|
||||
|
||||
- int před jménem je typ výsledku.
|
||||
- return hodnotu vrátí a metodu ukončí.
|
||||
- Volající si výsledek může uložit: int s = Soucet(2, 5);
|
||||
|
||||
> Tip: return 0 omylem na začátku by zbytek metody nespustil.
|
||||
|
||||
# Kód
|
||||
|
||||
```
|
||||
int s = Soucet(2, 5);
|
||||
Console.WriteLine(s);
|
||||
Console.WriteLine(Soucet(10, 1));
|
||||
|
||||
static int Soucet(int a, int b)
|
||||
{
|
||||
return a + b;
|
||||
}
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue