• Nie Znaleziono Wyników

Laboratorium 01: Miłe Złego Pocz ˛atki Maciej J. Mrowi´nski 5

N/A
N/A
Protected

Academic year: 2021

Share "Laboratorium 01: Miłe Złego Pocz ˛atki Maciej J. Mrowi´nski 5"

Copied!
2
0
0

Pełen tekst

(1)

Laboratorium 01: Miłe Złego Pocz ˛atki

Maciej J. Mrowi ´nski 5 grudnia 2018

Zestaw do rozwi ˛azania na pierwszych zaj ˛eciach laboratoryjnych. Nie- zb ˛edna do tego b ˛edzie podstawowa wiedza na temat w ˛atków i umiej ˛et-

no´s´c korzystania z jakiego´s programu do robienia wykresów1. 1Je ˙zeli kto´s nie zna jeszcze ˙zadnego programu do robienia wykresów, to na pocz ˛atek najprostszy chyba b ˛edzie gnuplot. S ˛a równie ˙z dost ˛epne biblioteki dla Pythona. Warto te ˙z rozwa ˙zy´c, je ˙zeli kto´s tylko b ˛edzie zajmowa´c si ˛e analiz ˛a danych, nauk ˛e ´srodowiskaR.

Problemy

• Problem 1: Sprawd´z, ile jest procesorów w komputerze, z którego

korzystasz2. 2Hint: Runtime.

getRuntime().availableProcessors()

• Problem 2: Napisz program, który tworzy nowy w ˛atek wy´swietla- j ˛acy "Hello World!" i ko ´ncz ˛acy na tym swoj ˛a prac ˛e.

• Problem 3: Napisz program, który sumuje sekwencyjnie3loga- 3Czytaj: po kolei.

rytmy elementów w zadanej przez u ˙zytkownika tablicy double

o dowolnej długo´sci. Sprawd´z, jak zale ˙zy czas4potrzebny na su- 4Hint: System.nanoTime()

mowanie tych elementów od długo´sci tablicy5. Pami ˛etaj, ˙ze czas 5Dla uproszczenia przyjmijmy, ˙ze dłu- go´sci testowanych tablic s ˛a kolejnymi pot ˛egami 2.

nale ˙zy u´sredni´c a liczba prób ma by´c jednym z parametrów pro- gramu. Wyniki zapisz do pliku i wy´swietl na wykresie.

• Problem 4: To samo co Problem 3, ale wielow ˛atkowo. Napisz pro- gram, który tworzy tyle w ˛atków, ile jest procesorów w maszynie.

Ka ˙zdy w ˛atek ma sumowa´c logarytmy wzgl ˛ednie równych cz ˛e´sci tablicy. Wyniki musz ˛a potem by´c oczywi´scie w jaki´s sposób kon- solidowane. Wyznacz ´sredni czas niezb ˛edny do wykonania sumo-

wa ´n6w funkcji długo´sci tablicy. Wyniki zapisz do pliku i nanie´s 6Ten czas ma uwzgl ˛ednia´c wszystkie niezb ˛edne operacje, w tym stworze- nie w ˛atków. Pami ˛etaj o u´srednianiu wyników.

na stworzony podczas rozwi ˛azywania poprzedniego problemu wykres, porównaj i wyci ˛agnij wnioski.

• Problem 5: To samo, co poprzednio - program sumuj ˛acy logaryt- my elementów w tablicy - ale wykorzystuj ˛acy stał ˛a pul ˛e w ˛atków

o tylu w ˛atkach, ile jest procesorów w maszynie7. Wyniki znowu 7Dokładnieanalogia tego, co było w poprzednim problemie - do puli za ka ˙zdym razem ma trafia´c tyle zada ´n do wykonania, co w ˛atków w puli.

u´sredni´c, nanie´s´c na wykres, porówna´c i wyci ˛agn ˛a wnioski. Nale-

˙zy pami ˛eta´c o tym, ˙ze pula ma by´c stworzona tylko raz i ta sama

pula ma by´c wykorzystywana podczas u´sredniania8. 8Hint: CountDownLatch

• Problem 6: Jeszcze raz sumowanie, tylko znowu troch ˛e inaczej.

Program ma tworzy´c tyle w ˛atków, ile jest procesorów w maszy- nie. W ˛atki maj ˛a si ˛e ´sciga´c w sumowaniu logarytmów elementów tablicy - ka ˙zdy w ˛atek trzyma swoj ˛a lokaln ˛a sum ˛e i dodaje do niej po kolei logarytmy kolejnych elementów tablicy, o ile ˙zaden inny w ˛atek ju ˙z tego nie zrobił. Wyniki znowu na wykres, porównanie i wnioski.

(2)

l a b o r at o r i u m 0 1: miłe złego pocz ˛at k i 2

• Problem 7: To samo, co w Problem 6, tylko w ˛atki nie konkuruj ˛a ze sob ˛a podczas sumowania logarytmów pojedynczych elementów tablicy, ale nast ˛epuj ˛acych po sobie bloków o zadanej długo´sci w tablicy. Tego ju ˙z nie nanosicie na poprzedni wykres, ale dla zada-

nej długo´sci tablicy9robicie wykres czasu wykonania w funkcji 9Tablica ma by´c wystarczaj ˛aco długa, a słowo "wystarczaj ˛aco" stanie si ˛e jasne po wykonaniu poprzednich problemów.

długo´sci bloku10. Na wykres nale ˙zy te ˙z nanie´s´c linie odpowiada-

10Znowu dla wygody niech to b ˛ed ˛a pot ˛egi 2.

j ˛ace czasowi niezb ˛ednemu na sekwencyjne (Problem 3) i proste wielow ˛atkowe (Problem 4) wykonanie analogicznego sumowania.

Porównanie i wnioski.

• Problem 8: Potencjalnie. Na razie tajemnica, b ˛edzie wynika´c bez- po´srednio z potrzeby wyja´snienia wyników poprzedniego proble- mu.

Cytaty

Powiązane dokumenty

Tylko do u˙zytku na

Narysuj zale ˙zno´s´c s ( t ) na wykresie 2 2 Je ˙zeli kto´s nie zna jeszcze ˙zadnego programu do robienia wykresów, to na pocz ˛ atek najprostszy chyba b ˛edzie gnuplot.

Zestaw do samodzielnego rozwi ˛ azania po pierwszym/drugim wy- kładzie z kinematyki. Wyznacz pr ˛edko´s´c/przyspieszenie radial- ne

Wyznacz zale ˙zno´s´c pr ˛edko´sci i poło ˙zenia tego ciała od czasu?. Eksperymenty numeryczne 1 nie nazwali´smy wtedy tego, co robi- li´smy po imieniu, ale taka jest

czasu i poło ˙zenia 12 , ale je ˙zeli zale ˙zy równie ˙z od pr ˛edko´sci, to sił ˛ a 12 Poło ˙zenie w chwili t + 1 na tym etapie ju ˙z znamy?. rzeczy

Jaka zast ˛epcza stała spr ˛e ˙zysto´sci odpowiada szeregowemu poł ˛ aczeniu spr ˛e ˙zyn?. • Czym s ˛ a

Ile czasu, z punktu wi- dzenia obserwatora na Ziemi, upłynie od chwili, w której rakieta przeleciała koło Ziemi, do chwili, w której promie ´n ´swietlny dole- ciał na Ziemi ˛e.

ilorazu wielomianu przez wie- lomian stopnia o 1 mniejszego takiego samego lub wi¸ekszego z tym że prosta do której si¸e wykres zbliża nie musi być wtedy pozioma. Ścisła definicja,