Warning
This page is located in archive.

1 - Úvodní cvičení

Seznámení s počítačovou učebnou, ownCloud a BRUTE.

  • pro vyučující: 01

Organizace předmětu

Jan Faigl 2023/09/25 09:47

  • Aktualizace, děkanský den 20.11.2023: — Jan Faigl 2023/09/25 09:47

Cíle cvičení

  1. Přihlášení do operačního prostřední a nastavení vývojového prostředí.
  2. Vytvoření jednoduchého skriptu (posloupnosti příkazů) pro práci se soubory.
  3. Formátování zdrojového programu.
  4. Kompilace programu a spouštění programu.
V PRP nepředepisujeme jaké pracovní vývojové prostředí používat. Obecně doporučujeme začínajícím programátorům použít prostředí VS Code, případně nakonfigurovaný editor gedit nebo vim. Určitě je také možné použít komplexní prostředí jako je např. CLion. Nicméně jeho konfigurace a prozkoumání všech možností, může velmi rychle překročit časovou dotaci předmětu.

Úkoly

  • Nastavte si heslo v počítačové učebně (Nastavení hesla) a seznamte se používaným prostředím

Práce s příkazovou řádkou

    • Ve svém domovském adresáři si založte složku my_prg a složku lab01.
    • Ve složce lab01 vytvořte soubor se jménem program.c.
    • Celou složku lab01 přesuňte ze domovského adresáře do složky prg.
    • Přejmenujte program_c na main.c.

Úkoly

  • Vygenerujete soubor s náhodnými celými čísly, využijte přesměrování standardního výstupu do souboru, např. kombinací programů seq a shuf .
  • Zajistěte, že jsou v souboru opakující se hodnoty, např. přidáním do souboru .
  • S využitím přesměrování výstupu hodnoty uspořádejte do nového souboru, např. nástrojem sort .
  • Odstraňte duplicitní hodnoty, např. nástrojem uniq .
  • Porovnejte původní soubory s čísly, např. soubor numbers.txt a sorted-u.txt příkazem diff . Vypište návratovou hodnotu posledního volaného příkazu echo $?.
  • Podobně porovnejte původní soubor s čísly s randomizovaným pořadím, např. .
  • Jednotlivé příkazy shrňte ve skriptu, který vygeneruje soubory s náhodnými uspořádanými hodnotami celých čísel.

Formátování zdrojového programu

Klíčové nastavení editoru je pro formátování zdrojového kódu. V předmětu PRP je preferováno formátování nástrojem clang-format a nastavením stylu:

 {BasedOnStyle: llvm, IndentWidth: 4, BreakBeforeBraces: Linux}

Formátování zdrojového kódu pak provedete např. následovně:

clang-format -style='{BasedOnStyle: llvm, IndentWidth: 4, BreakBeforeBraces: Linux}' muj_kod.c > formatovany_kod.c

V případě použití vývojového prostředí VS Code lze lokálně nastavit formátování vytvořením souboru .clang-format, viz Programovací prostředí.

Výstup pak může například vypadat následovně.

Nastavení formátování ''clang-format'' v ''gedit''

Úkoly

  • Nastavete si formátování použitého editoru nebo vývojového prostředí.

Úvod do programování v jazyce C

// example program in C
#include <stdio.h>
 
int main()
{
    puts("Hello PRP!");
    return 0;
}

Překlad programu

Překlad na spustitelný soubor provádíme z příkazové řádky příkazem

clang -Wall -pedantic -std=c99 main.c -o main
případně
gcc -Wall -pedantic -std=c99 main.c -o main

Spuštění programu

Program spouštíme z příkazové řádky příkazem

./main

Spuštění program ve VS Code

Úkoly

  • Do souboru main.c napište zdrojový kód programu, který vypíše na standardní výstup “Hello PRP!”.
  • Program zkompilujte a spusťte.
  • Zdrojový kód zazipujte do archivu main.zip, například pomocí příkazu: zip main.zip main.c.
  • Vytvořený archiv nahrajte do Upload systému, viz úkol HW00.
  • Dále je možné využít proměnnou prostředí $? a vyzkoušet si různé návratové hodnoty programu a řetězení kompilace a spuštění programu, včetně např. podmíněného spuštění programu v závislosti na úspěchu kompilace programu.

courses/b0b36prp/labs/lab01/start.txt · Last modified: 2023/09/25 09:49 by faiglj