Zadania do wykonania


Zadanie 1 (max. 5 punkty)

Napisać program, który:
Przykład:
jeżeli tablica ltab zawiera elementy 2, 5, 3, 1, 7 to sumaParzystych = 12.
txt jest tablicą o elementach  "aa", "bbbbb", "ccc", "d", "eeeeeee"
wynik dzialania programu:
"bbbbb"
"aa"
"d"
"ccc"
"eeeeeee"

Uwaga: każde z w/w części zadania (oprócz pierwszego) należy oprogramować jako odrębną metodę.
Zapewnić sprawdzanie błędów

Zadanie 2 (max. 6 punktów)

Napisać program, który wczytuje napisy podawane przez użytkownika (dopóki nie zrezygnuje on z ich wprowadzania), a następnie podaje liczbę wystąpień wszystkich wprowadzonych napisów. Np. po wprowadzeniu napisów Aaa, Bbb, Aaa, Ccc, Aaa, Bbb powinniśmy otrzymać raport: Aaa 3, Bbb 2, Ccc 1.

W celu zliczania liczby wystąpień takich samych napisów użyć tablicy (koniecznie).
Spróbować uwzględnić możliwość wystąpienia całkowicie dowolnej liczby napisów.
Punktacja:
podstawowa częśc zadania - 2 punkty.
uwzględnienie dowolnej liczby napisów - dodatkowe 4 punkty.


Zadanie 3 (max. 5 punktów)

Stworzyć klasę Matrix i dostarczyć w niej metod sumowania, odejmowania, mnożenia przez skalar i mnożenia macierzy oraz wyliczania sum wierszowych i kolumnowych oraz sumy elementów całej macierzy.
Przetestować klasę dla następujących operacji na macierzach:

           2     3                                                              1
 A  =    1     7      B =   1 8 2       x = [ 1  2  3 ]     y =    2      q = 3
           3.1  2               2 2 2                                        3

C = 2 2 2
       2 2 2

operacje:
A+B,  B+C, AB, BC, Ax, Bx, Ay,  By, xy, yx,  qA, qx, suma kolumnowa, wierszowa i wszystkich elementów A, B, x, y.

Uwaga: z operacjami na macierzach można zapoznać się w dowolnym elementarnym podręczniku podstaw matematyki (nie mówiąc już o algebrze liniowej) dla dowolnego kierunku studiów.



Zadanie 4 (max. 8 punktów)

Mamy półki. Każda półka ma swoją nazwę i rozmiar (liczbę książek, które może pomieścić)
Mamy książki. Opis książki: autor, tytuł.
Inicjalnie każda książka jest poza jakąkolwiek półką ("luzem").
Można ją wstawić na wybraną półkę, albo zdjąć z półki, na której się znajduje.

Napisać program, który manipuluje N książkami i M pólkami
wstawiając je na półki i przestawiając.

Dla każdej książki należy umożliwić uzyskanie info o książce, zawierającej Autora i Tytuł.
Oprócz tego o każdej książce  powinniśmy móc się dowiedzieć gdzie się akurat znajduje (nazwa półki lub "luzem").
Dla każdej półki należy umożliwić uzyskanie info w postaci:
Nazwa półki
---------------
lista książek

W programie pokazać efekty wstawiania i przestawiania książek  w postaci wyprowadzania informacji o książkach i o półkach.


Zadanie 5 (8p) - Tabele ocen studentów 

Zdefiniuj i przetestuj w programie klasę Student reprezentującą tabelę ocen z różnych przedmiotów dla danego studenta:

  zaliczenie  egzamin
ANG  3.0  ?
MAD  4.5 3.0
PRG1  3.5 ?
ALG  4.0 3.5

Dane do tabeli powinny być wprowadzane z okienek dialogowych lub z konsoli z obsługą błędów .

Zastosuj tablicę dwuwymiarową i wymyśl sposób wypełnienia tabeli jeżeli z danego przedmiotu nie było egzaminu.

W klasie  Student  zdefiniuj nastepujące metody:

min() //podaje najniższą ocenę w tabeli

max() //podaje najwyższą ocenę w tabeli

sred() //oblicza średnią arytmetyczną ocen w tabeli 

minZal() // podaje najniższą ocenę zaliczenia 

maxZal() //podaje najwyższą ocenę zaliczenia 

minEgz() //podaje najniższą ocenę z egzaminu

maxEgz() //podaje najwyższą ocenę z egzaminu 

sredZal() //oblicza średnią arytmetyczną ocen z zaliczeń 

sredEgz() //oblicza średnią arytmetyczną ocen z egzaminów  
 

Rozważ możliwość zastosowania tablicy lub innej struktury danych do przechowywania obiektów klasy Student.