Zadání pro týden od 8. 2. 2021 (Týden D) C2110 Operační systém UNIX a základy programování Data k úkolům jsou v adresáři: /home/kulhanek/Documents/C2110/Tests/Final/Data/Scripts/WeekC UPOZORNĚNÍ: • Jednu zvolenou úlohu řešte v adresáři C2110-kolokvium, který bude mít plně zakázaný přístup pro skupinu a pro ostatní uživatele! • Řešení se může skládat z vice souborů (skriptů), které vložíte do odevzdávárny zabalené do archívu ve formátu tar. Zadání A Vytvořte skript, který vypočítá kořeny kvadratických rovnic ve formátu 𝑎𝑥2 + 𝑏𝑥 + 𝑐 = 0. Parametry rovnic budou zadány v textovém souboru. První sloupec souboru obsahuje parametr 𝑎, druhý 𝑏 a třetí 𝑐. Každý řádek pak obsahuje parametry pro jednu kvadratickou rovnici. Vstupní soubor se bude zadávat jako první argument skriptu. Kořeny se budou vypisovat na standardní výstup. (15 bodů) V případě, že rovnice nemá reálné řešení, skript o této skutečnosti uživatele informuje (5 bodů). V případě, že určitý řádek vstupního souboru neobsahuje správný počet parametrů, skript o této skutečnosti opět informuje uživatele (5 bodů). Skript ověří, že vstupní soubor existuje. Pokud ne, tak vypíše chybové hlášení a ukončí se (5 bodů). Testovací soubory quadratic1.dat a quadratic2.dat jsou dostupné v adresáři Quadratics. Zadání B Pomocí kvantově-chemického výpočtu metodou HF/6-31G(d) byla provedena optimalizace geometrie molekuly. Výsledkem optimalizace je nalezení geometrického uspořádání atomů, které má nejnižší energií. Úkolem je ze zaznamenaného průběhu optimalizace vyextrahovat pro každou geometrii její energii a ověřit, že poslední geometrie má skutečně nejnižší energii. Energie pro každý optimalizační krok je uvedena za klíčovým výrazem: „SCF Done:“. Jednotkou energie je Hartree (15 bodů). Průběh energie zobrazte ve formě grafu, který uložíte do souboru s názvem „optimization.png“. Řádně popište osy grafu (10 bodů). Název analyzovaného souboru zadá uživatel jako první argument skriptu. Skript ověří, že zadaný soubor skutečně existuje (5 bodů). Testovací soubor s názvem „aceticacid.log” je dostupný v adresáři „QM“. Zadání C Fibonacciho posloupnost je v matematice označována nekonečná posloupnost přirozených čísel. Pro tuto posloupnost platí, že hodnota pro index 𝑁 se rovná součtu dvou předchozích hodnot (𝐹 𝑁 = 𝐹 𝑁−1 + 𝐹 𝑁−2), a první dvě hodnoty jsou 0 a 1 (𝐹1 = 0, 𝐹2 = 1). Vytvořte skript, který do souboru „fibonacci.txt“ vypíše prvních 𝑁 hodnot Fibonacciho posloupnosti. V prvním sloupci bude hodnota indexu a v druhém Fibonacciho číslo pro tento index. Počet hodnot vypsaných do souboru uživatel zvolí interaktivně po spuštění skriptu (15 bodů). Ověřte, že uživatel zadal celé číslo větší než 2 (5 bodů). Průběh posloupnost dále zobrazte ve formě grafu s řádně popsanými osami vykresleného do souboru „fibonacci.png“ (10 bodů).