Zadania domowe – studia stacjonarne (M. Kokociński)

Uwagi ogólne

Struktura programów wpływa na ocenę zadania. Dlatego też poniżej kilka przydatnych wskazówek.

  1. Kod programu ma być przejrzysty, tzn. między innymi:

    • deklaracje stałych i zmiennych są wyeksponowane,

    • nazwy zmiennych i funkcji odpowiadają ich przeznaczeniu,

    • odpowiednie bloki kodu są poprzedzone wcięciami.

  2. Każde wywołanie funkcji systemowej powinno uwzględniać to, że funkcja może zakończyć się niepoprawnie. Innymi słowy, należy zawsze badać czy wartość powrotna funkcji nie jest równa -1. Jeśli tak, należy wyświetlić komunikat o błędzie i np. zakończyć program.

  3. W przypadku przetwarzania argumentów programu (argc i argv[]), należy najpierw upewnić się, że użytkownik wyspecyfikował wystarczającą liczbę argumentów.

  4. Programy należy kompilować z opcją -Wall i doprowadzić kod do takiego stanu, że kompilacja nie produkuje żadnych błędów lub ostrzeżeń. Tak więc komenda służąca do kompilacji progamu wygląda w całości następująco:

    gcc program.c -o program -Wall

    a uruchomienie programu to:

    ./program <argument 1> <argument 2> ...


Oddawanie zadań

  1. Zadania domowe należy umieszczać w repozytorium dostępnym tutaj. W razie problemów z umieszczeniem zadania w repozytorium, proszę o kontakt (Contact Information).

  2. Zadania należy umieścić w repozytorium najpóźniej o północy dnia poprzedzającego następne laboratoria. Nieprzygotowanie zadania domowego w zdefiniowanym terminie jest równoznaczne z jego niezaliczeniem. Oddawanie zadania po terminie wiąże się z obniżeniem oceny z tego zadania.

  3. Na laboratoriach zadania domowe mogą być wyrywkowo sprawdzane.

  4. Zadania domowe będą sprawdzane pod kątem plagiatów. Plagiatem jest nie tylko wykorzystanie kodu koleżanki czy kolegi, ale również bezrefleksyjne spisanie kodu z internetu (np. ze Stack Overflow, etc.) i ukrycie tego faktu. Warto zaznaczyć, że zadania są na tyle proste, że nie trzeba posiłkować się snippetami kodu z sieci.

    Wykrycie plagiatu oznacza niezaliczenie zadania z brakiem możliwości jego poprawy.


Treści zadań

W przygotowaniu.