1000-M1PR1 (matematyka, ró»ne specjalno±ci): Programowanie I (C,C++), semestr zimowy 2014/15; prowadz¡cy: A. Mróz
Projekt z C++
Ka»dy student samodzielnie wybiera sobie tematyk¦ i sposób realizacji projektu. Przykªadowe tematy do wyboru zostan¡ podane na zaj¦ciach, ale jednym z celów projektu jest zmotywowanie Pa«stwa do pewnej kreatywno±ci i/lub samodzielnego postudiowania literatury (spis: USOS). Wa»ne: projekty nie powinny si¦ powtarza¢!
1. Na zal.: projekt powinien speªnia¢ wszystkie poni»sze wymagania: • denicja co najmniej jednej klasy,
• denicja co najmniej jednej klasy podrz¦dnej,
• we wszystkich klasach sensownie zdeniowane konstruktory, • dla ka»dej klasy zdeniowane po kilka metod,
• przykªad u»ycia, tj. program wykorzystuj¡cy zdeniowane klasy, metody, funkcje, • wybrane, co najmniej jedno, zagadnienie z listy (?) poni»ej,
• caªo±¢ powinna by¢ napisana w dobrym stylu, tj. konsekwentnie stosowane wci¦cia w kodzie,
czytelne i zrozumiaªe komunikaty wy±wietlane na wyj±ciu,
konsekwentnie stosowany styl1 nazewnictwa klas, metod, zmiennych itp.
2. Projekt wyró»niaj¡cy (tj. skutkuj¡cy podwy»szeniem oceny o maks. 1): to samo co na zal. i dodatkowe co najmniej 2 (podwy»szenie oceny o 0,5) lub co najmniej 4 (podwy»szenie oceny o 1) zagadnienia (zrealizowane w sposób sensowny) z listy (?) poni»ej. (?) Lista zagadnie«:
• rozbudowana hierarchia dziedziczenia klas, • dynamiczny przydziaª pami¦ci (+ destruktory),
• denicje kilku operatorów dla rozwa»anych obiektów (np. ostream& operator, +, *, ++, ==, ...),
• przeci¡»anie nazw metod, • polimorzm i metody wirtualne, • zmienne i/lub metody statyczne, • biblioteka STL,
• inne (w tym nieomawiane) biblioteki,
• aplikacja graczna okienkowa (powiedzmy, »e ten punkt ma wag¦ równ¡ 4 innym),
• implementacja zagadnienia (algorytmu) matematycznego wybranego spo±ród zada« z wykªadu lub zaproponowanego przez siebie, wybranego z literatury.
Projekt b¦dzie dokªadnie sprawdzony, w szczególno±ci zadam kilka pyta« kontrolnych i/lub zadanie polegaj¡ce na prostej modykacji swojego programu. Je»eli b¦dzie jasne, »e projekt jest niesamodzielny, nie b¦dzie zaliczony!
1Proponowany styl, przykªadowo:
∗ nazwy klas w stylu: MojaKlasa (tj. ka»de sªowo zaczynane wielk¡ liter¡), ∗ nazwy zmiennych/pól w stylu: moja_zmienna lub mojazmienna
(tj. ka»de sªowo zaczynane maª¡ liter¡, ewentualnie sªowa oddzielane podkre±leniem), ∗ nazwy funkcji/metod w stylu: mojaMetodaBardzoDobra
(tj. pierwsze sªowo zaczynane maª¡ liter¡, ka»de kolejne wielk¡; tak, wiem, jest to troch¦ Java style), ∗ konsekwentnie stosujemy ten sam j¦zyk (tj. albo wszystkie polskoj¦zyczne nazwy, albo wszystkie
angielsko-j¦zyczne itp.).