Tematyka i kryteria ocen z kolokwiów

Transkrypt

Tematyka i kryteria ocen z kolokwiów
Zadanie 1
Napisać implementację funkcji standardowej z pliku nagłówkowego <string.h> lub
<ctype.h>, nie posługując się żadnymi funkcjami standardowymi z wyjątkiem malloc().
Ocena:
Błędny nagłówek funkcji (np. niewłaściwy typ zwracany) - punktacja za zadanie 0%.
Kompletne niezrozumienie działania funkcji (np. alokacja pamięci wewnątrz strcpy lub
strcat) - punktacja za zadanie 0%.
Rażące błędy wewnątrz funkcji, wskazujące na nieumiejętność posługiwania się
wskaźnikami i operatorem wyłuskania - punktacja za zadanie 0%.
Brak specyfikatora const w nagłówku funkcji nie obniża punktacji.
Pojedynczy błąd w funkcji (np. zwracanie wskaźnika do końca ciągu, brak inkrementacji,
jedna inkrementacja za dużo) - obniżenie punktacji o 30% za każdy błąd.
Zadanie 2
Napisać deklarację określonego wskaźnika do funkcji, np.:
Zadeklarować wskaźnik do funkcji zwracającej wskaźnik do funkcji przyjmującej dwa
argumenty typu double i zwracającej wartość typu int i przyjmującej jako argumenty
referencje do typu double i wskaźnik do typu int.
Ocena:
Błąd składniowy, powodujący że deklaracja nie skompiluje się - punktacja za zadanie
0%.
Zdefiniowanie czegoś innego niż wskaźnik do funkcji (np. funkcji zamiast wskaźnika
poprzez błędne nawiasowanie) - punktacja za zadanie 0%.
Pojedynczy błąd (np. zdefiniowanie wskaźnika do stałej zamiast stałego wskaźnika) obniżenie punktacji o 30% za każdy błąd.
Zadanie 3
Znaleźć (wyjaśnić i ewentualnie poprawić) błąd w podanym fragmencie programu.
Ocena:
Odpowiedź poprawna, ale bez uzasadnienia - 50% punktacji.
Uzasadnienie kompletnie bezsensowne - 0% punktacji.
Zadanie 4
Ocena:
Pola klasy - 1 lub 2 punkty za wszystkie łącznie, zależnie od złożoności
Funkcja prosta (ciało funkcji mniej niż 4 instrukcje) - 1 punkt
Funkcja złożona - 2 punkty.
Oceniane tylko funkcje niezbędne w danym przykładzie.
Kary za błędy w danej funkcji:
Błędny typ wartości zwracanej przez operatory = i op= (void lub class zamiast class&) 0 punktów za funkcję
Błędny typ wartości zwracanej przez operator [] (brak referencji) - 0 punktów za funkcję
Błędny typ wartości zwracanej przez operator+ i podobne (class& zamiast class) - 0
punktów za funkcję
Funkcja wykonująca operacje kompletnie inne niż w przykładzie (np. dodawanie
wektorów konkatenuje je zamiast dodawać element po elemencie) - 0 punktów za
funkcje.
Alokacja niewłaściwej ilości pamięci - odjęcie jednego punktu
Użycie operatora delete zamiast delete [] lub free zamiast delete - odjęcie jednego punktu
Inne błędy w zarządzaniu pamięcią - odjęcie jednego punktu.
Błędy algorytmiczne w funkcji - odjęcie jednego punktu
Jeżeli funkcja korzysta z innej w celu wykonania rzeczywistej pracy (np. implementacja
operatora + przez operator +=) - sprawdzenie, czy nagłówek funkcji jest właściwy i jeżeli
tak, to należy ocenić wywoływaną funkcję

Podobne dokumenty