Předpokládá se aktivní účast na cvičení.
Pro vše co vytvoříte na cvičení, nebo následně jinde, je třeba používat GitLab!
Aktivní účast na cvičení vyžaduje znalost předchozí látky!
V případě nečekaných událostí neprodleně kontaktujte cvičícího!
Znalost jazyka (efektivita, pokročilé konstrukce, ...), knihovny, ladění, profesionalita.
Průběžná práce na cvičeních a na zápočtovém programu je v MFF GitLabu. Všechny dokončené a odladěné příklady a úkoly ze cvičení musí být v GitLabu, bez ohledu na absence, nebo průběh cvičení!
Do gitu patří veškeré zdrojové, konfigurační, projektové a datové soubory. Do gitu rozhodně NEpatří vygenerované nebo dočasné soubory. Řešením je využít vhodný .gitignore. Inspiraci můžeme vzít třeba z Visual Studio.
Go GitLabu je třeba se přihlásit MFF účtem. Následně by měl mít každý repozitář "teaching/nprg041/{akademicky-rok}/skoda/{your-name}". Tvorba a udržování účtů není automatická!
Využití SSH klíče už popsal někdo jiný. Alternativní řešení na dalším slajdu.
Vyzkoušejte si klienta a práci s Git: login, push, pull, commit. Je to zcela základní věc, kterou budete potřebovat. Na internetu je spousta návodů, od Atlassian, Education, FreeCodeCamp.
git clone https://...
# Set information only for your repository.
git config user.email "petr.skoda@matfyz.cuni.cz"
git config user.name "Petr Škoda"
NEpoužívejte "credentials manager", na Windows je sdílený účet. Tedy volba <no helper>
Možná budete chtít po sobě to repository smazat. Jak nastavení, tak smazání může provádět skript.
Základní příkazy pro tonoucí, pokud je potřebujete, přečtěte si některý z dříve uvedených odkazů.
# Clone repository to local file system.
git clone ...
# Pull updates from remote repository.
git pull
# Add files to staging.
git add .
# List status and changes.
git status
# Commit changes.
git commit -m "Message"
# Push changes to remote.
git push
Připojte se ke skupině!
Vypracování domácích úkolů zadaných skrze ReCodex. Úkoly jsou volitelné, ale silně doporučené.
Doporučuji maximální osobní zapojení bez dalších zdrojů.
Odměnou je zpětná vazba a příprava na zápočet a zkoušku.
Více na oficiální stránce. Zde pouze vybrané informace. Rozhodné dny budou uvedeny na stránce cvičení.
Jde o rozšíření posledního domácího úkolu z ReCodexu. Zápočtový test proběhne na posledním cvičení, s možným opravným. Bez jeho složení není možné získat zápočet!
Jedná se o samostatnou práci!
Test proběhne ve školním labu, na školních počítačích.
Více na oficiální stránce.
Link na nástěnce předmětu v SIS. Každé cvičení má vlastní kanál.
C a trochu C++, dekompozice, syntaxe jazyka, třídy, ukazatele a správa paměti ...
Algoritmizace, ovládání Visual Studia
Visual Studio (Desktop development with C++)
vs
Visual Studio Code + Toolchain
vs
Text Editor + Toolchain
Umístění: N/A
Čas: 5 minut
Vypište "Hello world" na standardní výstup.
Umístění: ./labs/01-cli-sum/main.cpp
Čas: 15 minut
Načtěte argumenty z příkazové řádky a vypište jejich součet.
V základní verzi je možné argumenty načítat jako čísla.
Jakmile budete základní verzi mít, přidejte podporu možnosti zadat rozsah pomocí argumentu: --range {from} {to}.
Na toto je třeba myslet při psaní libovolného programu.
Později se k některým oblastem ještě vrátíme.
Základní verze:
> command-line-sum.exe 2 4 12 8 3 1 30
Využití --range:
> command-line-sum.exe 2 --range 2 4 3 --range 0 2 17
Čísla na vstupu budou nezáporná a vejdou se do datového typu int.
Prozatím je možné ignorovat exceptions.
Umístění: ./labs/01-subsets/
Čas: 15 minut
Vstupem programu jsou argumenty z příkazové řádky, tokeny oddělené mezerou. Na vstupu se žádný token neopakuje. Na výstup program vypíše všechny podmnožiny tokenů bez opakování a se zachováním pořadí tokenů. Na pořadí výstupu nezáleží.
> subsets.exe 1 2 b 4 4 b b 4 2 2 4 2 b 2 b 4 1 1 4 1 b 1 b 4 1 2 1 2 4 1 2 b 1 2 b 4