Table of Contents

Lab 06 - Dynamická alokace a načítání vstupu

Procvičovaná témata

Úkoly

Naimplementujte program, který bude načítat vstupní řetězec ze standardního vstupu, případně ze souboru, pokud je zadán vstupní argument. Vstupní řetězec odpovídá náhodné DNA sekvenci, generované například programem dgen.c. Ve vstupním řetězci detekujte jeden ze zvolených stop codonů TAG, TAA nebo TGA a vstupní řetězec rozdělte na samostatné řádky, které vytiskněte na standardní výstup, případně do souboru, který může být zadán jako druhý argument programu. Detekujte chybové stavy a reportujte chyby na standardní chybový výstup. Postupujte podle následujících kroků.

  1. Identifikujte základní funkce, které v programu budete potřebovat, např. definice chyboých stavů, načítání vstupních argumentů, načítání řetězce, detekci řetězce, reportování chyb, atd.
  2. Zvolte si jeden ze stop codonů.
  3. Definujte si možné chybové stavy a zprávy reportující příslušnou chybu.
  4. Napište funkci pro načítení celého vstuptu s využitím dynamické alokace, např. realloc() a detekujte přidělení paměti.
  5. Navrhněte funkce, které budou v načteném řetězci detekovat zvolený stop codon. Definujte rozhraní a logiku programu. Můžete se například inspirovat funkcí strstr() z knihovny <string.h>. K řešení HW 4 může být výhodnější implementovat vlastní funkci.
  6. Implementujte navržený program s využitím stdin a stdout.
  7. Program otestujte a vyzkoušejte přesměrování výstupu programu dgen, např. ./dgen | ./main.
Inspirujte se případně upravte přiložený program dgen.c.

Rozšíření