C2110 Operační systém UNIX a základy programování A03: Podmínky PS/2022 Prezenční forma výuky: Rev4 Petr Kulhánek kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta Masarykova univerzita, Kamenice 5, CZ-62500 Brno )perační systém UNIX a základy programování A03: Podmínky Obsah > AWK • Podmínky, logické operace * Řízení běhu (next, exit) Dperační systém UNIX a základy programování A03: Podmínky Podmínky if( logicky_vyraz ) { prikaz2; • • • } else { prikaz3; } Pokud je logicky_vyraz pravda, vykoná se prikaz2. V opačném případě se vykoná prikaz3. Příklad: if ( $1 > max ) { max = $1; } Rozdíly vůči jazyku BASH i—l if prikazl; then prikaz2 else prikaz3 fi Dperační systém UNIX a základy programování A03: Podmínky Logické operátory Operátory: < <= > >= i m && rovna se nerovná se menší než menší než nebo rovno vetsi nez větší než nebo rovno negace logické ano logické nebo Příklady: j > 5 (j > 5) (j <= 5) && (j < 10) II (j >= 10) Dperační systém UNIX a základy programování A03: Podmínky Cvičení 1 1. Napište skript, který vytiskne největší a nejmenší hodnotu ze třetího sloupce souboru matice.txt. 2. Napište skript, který vytiskne ze souboru rst.out řádky, které obsahují devět slov. 3. Napište skript, který vypočítá průměrnou hodnotu čísel uvedených v druhém sloupci souboru matice.txt. Data jsou v adresáři: /home/kulhanek/Documents/C2110/Lessonl2 Dperační systém UNIX a základy programování A03: Podmínky Cvičení 2 1. Napište skript, který spočítá geometrický střed molekuly uložené ve formátu xyz. Výsledné souřadnice budou vytištěny do terminálu. Název souboru uživatel zadá jako první argument skriptu. Ošetřete situaci, kdy je zadán špatný počet argumentů a kdy zadaný soubor neexistuje. Vstupní soubor je v adresáři geom. Nápověda: • Formát souboru xyz na prvním řádku uvádí počet atomů, na druhém řádku libovolný komentář a další řádky obsahují prvek atomu a jeho souřadnice x, y a z. • K odstranění prvních dvou řádků můžete využít libovolnou kombinaci příkazů cat, wc, head a tail. Případně se inspirujte na manuálových stránkách příkazu tail. Dperační systém UNIX a základy programování A03: Podmínky -6- Řízení běhu - next logika interpretruAWK parsuj záznam (rozděl na slova) uživatelský skript skript.awk BEGIN { J_____ { proměnné jsou globální (pokud není určeno jinak) Klíčové slovo next ukončí zpracovávání aktuálního záznamu. Dále se pokračuje následujícím záznamem. Dperační systém UNIX a základy programování A03: Podmínky Řízení běhu - exit uživatelský skript skript.awk Klíčové slovo exit ukončí zpracovávání aktuálního záznamu a všech následujících souborů perační systém UNIX a základy programování A03: Podmínky Cvičení 3 1. Ze souboru rst.out vyextrahujte průběh teploty a spočítejte její průměrnou hodnotu. Vypočtenou hodnotu srovnejte s průměrnou hodnotou uvedenou v souboru rst.out. Proč se hodnoty liší? Data jsou v adresáři: /home/kulhanek/Documents/C2110/Lessonl2 Dperační systém UNIX a základy programování A03: Podmínky