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/1-rocnik/01-ahoj-svete.en.md
Normal file
4
content/programovani/1-rocnik/01-ahoj-svete.en.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
nazev: Hello, world
|
||||
popis: The first program: writing to the console.
|
||||
---
|
||||
42
content/programovani/1-rocnik/01-ahoj-svete.md
Normal file
42
content/programovani/1-rocnik/01-ahoj-svete.md
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
---
|
||||
id: cs-1-ahoj-svete
|
||||
nazev: Ahoj světe
|
||||
popis: První program: výpis na konzoli.
|
||||
---
|
||||
|
||||
# Výklad
|
||||
|
||||
## Výpis
|
||||
*WriteLine*
|
||||
|
||||
- Console.WriteLine vypíše text a odřádkuje.
|
||||
- Console.Write vypíše text a zůstane na stejném řádku.
|
||||
- Text se píše do uvozovek. Středník ukončuje příkaz.
|
||||
|
||||
> Tip: Bez středníku se program nepřeloží.
|
||||
|
||||
## Krátký a dlouhý zápis
|
||||
*Main*
|
||||
|
||||
- Starší učebnice mají třídu Program a metodu Main.
|
||||
- Nový projekt stejný program zapíše několika řádky bez třídy.
|
||||
- Obojí spustí stejný výpis. V lekcích používáme krátký zápis.
|
||||
|
||||
> Tip: Krátký zápis je pořád C#. Není to jiný jazyk.
|
||||
|
||||
## Vyzkoušejte
|
||||
*Editor*
|
||||
|
||||
- Vpravo je kód. Upravte ho a stiskněte Spustit.
|
||||
- Výstup se objeví hned vedle.
|
||||
- Obnovit ukázku vrátí původní program.
|
||||
|
||||
> Tip: Změňte text v uvozovkách a spusťte znovu.
|
||||
|
||||
# Kód
|
||||
|
||||
```
|
||||
Console.WriteLine("Ahoj světe");
|
||||
Console.Write("Toto je ");
|
||||
Console.WriteLine("C#");
|
||||
```
|
||||
4
content/programovani/1-rocnik/02-komentare.en.md
Normal file
4
content/programovani/1-rocnik/02-komentare.en.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
nazev: Comments
|
||||
popis: Notes the program does not run.
|
||||
---
|
||||
35
content/programovani/1-rocnik/02-komentare.md
Normal file
35
content/programovani/1-rocnik/02-komentare.md
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
---
|
||||
id: cs-1-komentare
|
||||
nazev: Komentáře
|
||||
popis: Poznámky, které se nespouštějí.
|
||||
---
|
||||
|
||||
# Výklad
|
||||
|
||||
## Jednořádkový
|
||||
*//*
|
||||
|
||||
- Vše za // na stejném řádku počítač přeskočí.
|
||||
- Komentář vysvětluje, proč tam řádek je, ne co je vidět.
|
||||
- Kód bez komentáře pořád běží stejně.
|
||||
|
||||
> Tip: Komentář není výpis. Na konzoli se neobjeví.
|
||||
|
||||
## Více řádků
|
||||
*/* */*
|
||||
|
||||
- Blok začíná /* a končí */.
|
||||
- Hodí se, když chcete dočasně vypnout několik řádků.
|
||||
- Zapomenuté */ rozbije zbytek souboru.
|
||||
|
||||
> Tip: Nevnořujte blokové komentáře do sebe.
|
||||
|
||||
# Kód
|
||||
|
||||
```
|
||||
// Tohle se nespustí.
|
||||
Console.WriteLine("Tento řádek ano");
|
||||
/*
|
||||
Console.WriteLine("A tento ne");
|
||||
*/
|
||||
```
|
||||
4
content/programovani/1-rocnik/03-promenne.en.md
Normal file
4
content/programovani/1-rocnik/03-promenne.en.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
nazev: Variables
|
||||
popis: A named value you can change.
|
||||
---
|
||||
36
content/programovani/1-rocnik/03-promenne.md
Normal file
36
content/programovani/1-rocnik/03-promenne.md
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
---
|
||||
id: cs-1-promenne
|
||||
nazev: Proměnné
|
||||
popis: Pojmenovaná hodnota, kterou lze změnit.
|
||||
---
|
||||
|
||||
# Výklad
|
||||
|
||||
## Deklarace
|
||||
*typ jméno*
|
||||
|
||||
- Nejdřív typ, pak jméno, pak hodnota: int vek = 17;
|
||||
- Jméno začíná písmenem. Mezery v něm být nesmí.
|
||||
- Do stejné proměnné lze později uložit novou hodnotu stejného typu.
|
||||
|
||||
> Tip: int drží celé číslo. string drží text.
|
||||
|
||||
## Čtení
|
||||
*jméno*
|
||||
|
||||
- Jméno bez uvozovek je proměnná. Uvozovky by z něj udělaly text.
|
||||
- WriteLine umí vypsat proměnnou i text spojený plusem.
|
||||
- Hodnota se dosadí až při běhu, ne při psaní.
|
||||
|
||||
> Tip: Změňte vek na 18 a spusťte znovu.
|
||||
|
||||
# Kód
|
||||
|
||||
```
|
||||
string jmeno = "Anna";
|
||||
int vek = 17;
|
||||
jmeno = "Eva";
|
||||
Console.WriteLine(jmeno);
|
||||
Console.WriteLine(vek);
|
||||
Console.WriteLine(jmeno + " má " + vek + " let");
|
||||
```
|
||||
4
content/programovani/1-rocnik/04-typy.en.md
Normal file
4
content/programovani/1-rocnik/04-typy.en.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
nazev: Data types
|
||||
popis: int, double, bool, char and string.
|
||||
---
|
||||
40
content/programovani/1-rocnik/04-typy.md
Normal file
40
content/programovani/1-rocnik/04-typy.md
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
---
|
||||
id: cs-1-typy
|
||||
nazev: Datové typy
|
||||
popis: int, double, bool, char a string.
|
||||
---
|
||||
|
||||
# Výklad
|
||||
|
||||
## Čísla
|
||||
*int a double*
|
||||
|
||||
- int je celé číslo: 42.
|
||||
- double je číslo s desetinnou tečkou: 3.14.
|
||||
- V kódu je desetinná tečka, ne čárka.
|
||||
|
||||
> Tip: 3,14 by C# přečetl jako dva údaje oddělené čárkou.
|
||||
|
||||
## Text a ano/ne
|
||||
*string, char, bool*
|
||||
|
||||
- string je text v uvozovkách.
|
||||
- char je jeden znak v apostrofech: 'A'.
|
||||
- bool je jen true nebo false.
|
||||
|
||||
> Tip: Apostrof a uvozovky nejsou totéž. 'A' je znak, "A" je text.
|
||||
|
||||
# Kód
|
||||
|
||||
```
|
||||
int cele = 42;
|
||||
double desetinne = 3.14;
|
||||
bool prsi = false;
|
||||
char pismeno = 'A';
|
||||
string text = "ahoj";
|
||||
Console.WriteLine(cele);
|
||||
Console.WriteLine(desetinne);
|
||||
Console.WriteLine(prsi);
|
||||
Console.WriteLine(pismeno);
|
||||
Console.WriteLine(text);
|
||||
```
|
||||
4
content/programovani/1-rocnik/05-prevody.en.md
Normal file
4
content/programovani/1-rocnik/05-prevody.en.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
nazev: Type conversion
|
||||
popis: From double to int and from text to a number.
|
||||
---
|
||||
36
content/programovani/1-rocnik/05-prevody.md
Normal file
36
content/programovani/1-rocnik/05-prevody.md
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
---
|
||||
id: cs-1-prevody
|
||||
nazev: Převody typů
|
||||
popis: Z double na int a z textu na číslo.
|
||||
---
|
||||
|
||||
# Výklad
|
||||
|
||||
## Ořez desetin
|
||||
*(int)*
|
||||
|
||||
- (int)3.9 je 3. Desetinná část se odřízne, nezaokrouhlí.
|
||||
- Opačně int do double ztrátu nemá: 3 se stane 3.0.
|
||||
- Převod napište před hodnotu do závorky.
|
||||
|
||||
> Tip: Když potřebujete zaokrouhlit, (int) na to není.
|
||||
|
||||
## Text na číslo
|
||||
*Parse*
|
||||
|
||||
- int.Parse("20") udělá z textu číslo 20.
|
||||
- Když text číslo není, program spadne. To později chytíme výjimkou.
|
||||
- Číslo na text udělá ToString nebo zápis do řetězce.
|
||||
|
||||
> Tip: Vstup z konzole je vždy text, i když uživatel napíše číslici.
|
||||
|
||||
# Kód
|
||||
|
||||
```
|
||||
double cena = 19.9;
|
||||
int cele = (int)cena;
|
||||
Console.WriteLine(cele);
|
||||
string vstup = "20";
|
||||
int cislo = int.Parse(vstup);
|
||||
Console.WriteLine(cislo + 1);
|
||||
```
|
||||
4
content/programovani/1-rocnik/06-operatory.en.md
Normal file
4
content/programovani/1-rocnik/06-operatory.en.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
nazev: Operators
|
||||
popis: Arithmetic, remainder, comparison and logic.
|
||||
---
|
||||
37
content/programovani/1-rocnik/06-operatory.md
Normal file
37
content/programovani/1-rocnik/06-operatory.md
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
---
|
||||
id: cs-1-operatory
|
||||
nazev: Operátory
|
||||
popis: Počítání, zbytek, porovnání a a zároveň.
|
||||
---
|
||||
|
||||
# Výklad
|
||||
|
||||
## Počet
|
||||
*+ - * / %*
|
||||
|
||||
- Sčítání, odčítání a násobení fungují, jak čekáte.
|
||||
- Dělení dvou int je celočíselné: 17 / 5 je 3.
|
||||
- % je zbytek po dělení: 17 % 5 je 2.
|
||||
|
||||
> Tip: Když chcete desetinný podíl, jedno číslo udělejte double: 17 / 5.0.
|
||||
|
||||
## Porovnání
|
||||
*true a false*
|
||||
|
||||
- == je rovnost. = je uložení. Nejsou totéž.
|
||||
- && znamená a zároveň. || znamená nebo.
|
||||
- ! otočí bool: !true je false.
|
||||
|
||||
> Tip: Jedno = v podmínce je častá chyba. Podmínka chce ==.
|
||||
|
||||
# Kód
|
||||
|
||||
```
|
||||
int a = 17;
|
||||
int b = 5;
|
||||
Console.WriteLine(a + b);
|
||||
Console.WriteLine(a / b);
|
||||
Console.WriteLine(a % b);
|
||||
Console.WriteLine(a > b);
|
||||
Console.WriteLine(a > 10 && b < 10);
|
||||
```
|
||||
4
content/programovani/1-rocnik/07-retezce.en.md
Normal file
4
content/programovani/1-rocnik/07-retezce.en.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
nazev: Strings
|
||||
popis: Joining text, length and a slice.
|
||||
---
|
||||
36
content/programovani/1-rocnik/07-retezce.md
Normal file
36
content/programovani/1-rocnik/07-retezce.md
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
---
|
||||
id: cs-1-retezce
|
||||
nazev: Řetězce
|
||||
popis: Skládání textu, délka a výřez.
|
||||
---
|
||||
|
||||
# Výklad
|
||||
|
||||
## Interpolace
|
||||
*$*
|
||||
|
||||
- $"Ahoj, {jmeno}" dosadí hodnotu do složených závorek.
|
||||
- Je přehlednější než spojování plusem.
|
||||
- Do závorek může i výpočet: {vek + 1}.
|
||||
|
||||
> Tip: Bez dolaru před uvozovkami se {jmeno} vypíše doslova.
|
||||
|
||||
## Metody textu
|
||||
*Length*
|
||||
|
||||
- Length je počet znaků.
|
||||
- ToUpper vrátí velká písmena a původní text nezmění.
|
||||
- Substring(0, 2) vezme dva znaky od začátku.
|
||||
|
||||
> Tip: První znak má index 0, ne 1.
|
||||
|
||||
# Kód
|
||||
|
||||
```
|
||||
string jmeno = "Anna";
|
||||
int vek = 17;
|
||||
Console.WriteLine($"Ahoj, {jmeno}. Za rok ti bude {vek + 1}.");
|
||||
Console.WriteLine(jmeno.Length);
|
||||
Console.WriteLine(jmeno.ToUpper());
|
||||
Console.WriteLine(jmeno.Substring(0, 2));
|
||||
```
|
||||
4
content/programovani/1-rocnik/08-vstup.en.md
Normal file
4
content/programovani/1-rocnik/08-vstup.en.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
nazev: Console input
|
||||
popis: Console.ReadLine reads a line.
|
||||
---
|
||||
34
content/programovani/1-rocnik/08-vstup.md
Normal file
34
content/programovani/1-rocnik/08-vstup.md
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
---
|
||||
id: cs-1-vstup
|
||||
nazev: Vstup z konzole
|
||||
popis: Console.ReadLine přečte řádek.
|
||||
---
|
||||
|
||||
# Výklad
|
||||
|
||||
## ReadLine
|
||||
*text*
|
||||
|
||||
- ReadLine počká na řádek a vrátí ho jako string.
|
||||
- V této lekci řádek napište do pole Vstup a pak Spustit.
|
||||
- Každé další ReadLine vezme další řádek vstupu.
|
||||
|
||||
> Tip: Když vstup necháte prázdný, ReadLine dostane konec a program může spadnout.
|
||||
|
||||
## Číslo ze vstupu
|
||||
*Parse*
|
||||
|
||||
- ReadLine nikdy nevrací int. Vrací text.
|
||||
- int.Parse z něj číslo udělá.
|
||||
- Napište do vstupu třeba 17.
|
||||
|
||||
> Tip: Zkuste ve vstupu Anna a uvidíte chybu. Parse čeká číslo.
|
||||
|
||||
# Kód
|
||||
|
||||
```
|
||||
Console.WriteLine("Kolik ti je?");
|
||||
string radek = Console.ReadLine();
|
||||
int vek = int.Parse(radek);
|
||||
Console.WriteLine($"Za rok ti bude {vek + 1}.");
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue