marq987
Kot
Dołączył: 11 Sty 2011
Posty: 1
Przeczytał: 0 tematów
Ostrzeżeń: 0/3
|
Wysłany: Wto 12:43, 11 Sty 2011 Temat postu: zlecenie aplikacji sieciowej Java |
|
|
Zlecę napisanie dwóch aplikacji sieciowych z Javy oraz jednego programu z programowania równoległego i rozproszonego.
Tematy z javy dowolne.
Tematy z rozproszonego do wyboru:
Programy zaliczeniowe
1. Taśma produkcyjna:
Procesy obliczają wartość wielomianu metodą Hornera
Pn(x) = x ( x ( x ( ... x ( x (an) + an-1 ) + an-2 ) + an-3 ) + . . . + a1 ) +a0
np. P3(x) = x (x (x*a3 + a2 ) + a1 ) + a0 = a3 x3 + a2 x2 + a1 x + a0
Proces P0 dostaje współczynniki wielomianu jako parametry funkcji main( int arg, char **av). Następnie P0 generuje proces potomny P1 , P1 generuje P2 itd. Procesy pobierają odpowiedni współczynnik wielomianu z argumentu funkcji main ( lub inna możliwosć proces P0 wysyła im współczynniki ) . Proces P0 pobiera wartość argumentu x z wejścia i wysyła je do procesów. Obliczenia zaczyna ostatni proces Pn-1 ( x + an-1 ) , a wynik przesyła do Pn-2 itd. Ostateczny wynik otrzymuje proces P0 i wypisuje go na ekranie. Procesy komunikują się poprzez łącze anonimowe
4. Prosty serwer wielowątkowy gdzie poszczególne wątki wykonują polecenia klientów. Własny przykład.
5. Program wielowątkowy realizujący zadanie (1)
8. Program wielowątkowy symulujący grę w tenisa na jednym korcie ( biblioteka pthread ). Liczba graczy ustalona, każdy gracz który skończy grę, może ponownie grać. Program powinien wypisywać numer gracza gdy wchodzi na kort, numer gracza i jego partnera gdy grają oraz numery graczy opuszczających kort.
9. Program wielowątkowy obliczający wektor własny do wartości własnej o największym module
macierzy symetrycznej kwadratowej stopnia n (metoda potęgowa).
Algorytm programu:
bn+1 = A * bn gdzie bn jest wektorem po n-tej iteracji
b0 jest wektorem starowym który ma wszystkie składowe równe 1
Po każdej iteracji składowe nowego wektora powinny być podzielone przez jego największą składową co do modułu. Iteracje kończymy gdy różnica między największymi składowymi wektorów bn+1 i bn jest mała.
Działanie programu:
Wątek główny tworzy macierz A i wektor startowy b0 . Mnożenie macierzy przez wektor wykonują wątki, tak że każdy wątek oblicza jedną składową nowego wektora. Po obliczeniu całego wektora wątek główny sprawdza warunek na zakończenie iteracji i ewentualnie przekazuje ten wektor ( po podzieleniu przez odpowiednią składową) do kolejnych obliczeń. Zsynchronizować pracę wątku głównego i pozostałych wątków.
Post został pochwalony 0 razy
|
|