Lab 06 2011 2012


Informatyka I  Lab 06, r.a. 2011/2012
prow. SÅ‚awomir Czarnecki
Zadania na laboratorium nr. 6
Po utworzeniu nowego projektu, dołącz bibliotekę bibs.h.
1. Największy wspólny dzielnik liczb naturalnych a, b oznaczamy przez nwd(a,b). Zdefiniuj
funkcjÄ™ int nwd int a,int b implementujÄ…cÄ… iteracyjnÄ… wersjÄ™ Algorytmu Euklidesa
( )
znajdowania największego wspólnego dzielnika dwóch liczb naturalnych a,b " ! = 1,2,... .
{ }
Algorytm Euklidesa
start
naturalne nwd, a, b, A, B ;
czytaj a ;
czytaj b ;
A = a ;
B = b ;
dopóty dopóki a `" b wykonuj: jeśli a > b to: a = a - b ;
w przeciwnym przypadku: b = b - a ;
nwd = a ;
wyświetl A, B, nwd;
koniec
2. Udowodnij poprawność Algorytmu Euklidesa. W tym celu udowodnij, \e funkcja zdaniowa
P a,b = îÅ‚a > 0 '" b > 0 '" nwd a,b = nwd A, B Å‚Å‚ , gdzie a, b, A, B sÄ… identyfikatorami
( ) ( ) ( )ûÅ‚
ðÅ‚
zmiennych zdefiniowanych powy\ej, jest prawdziwa w ka\dym kroku algorytmu oraz, \e
liczba kroków jest liczbą skończoną.
3. Zdefiniuj funkcjÄ™ int NWD int a,int b implementujÄ…cÄ… rekurencyjnÄ… wersjÄ™ Algorytmu
( )
Euklidesa znajdowania największego wspólnego dzielnika dwóch liczb naturalnych
a,b " ! = 1,2,... .
{ }
4. Zdefiniuj funkcjÄ™ ?mm(double** a, double** b, ?) , która oblicza iloczyn c" Mm×n
macierzy a " Mm×k i b " Mk×n , tj. c = a b . Przetestuj funkcjÄ™ wywoÅ‚ujÄ…c jÄ… dla losowo
wygenerowanych skÅ‚adowych macierzy a " Mm×k i b " Mk×n .
5. Zadanie problemowe z kinematyki bryły sztywnej (nawiązanie do materiału z rozdz. 8.8
na stronie 137, Ruch Płaski w podręczniku R. Nagórski, W. Szcześniak, Mechanika
Teoretyczna, t.1, OW PW 1993 oraz do materiału z rozdz. 6 na stronie 207, Ruch Płaski
Układu Materialnego w podręczniku W. Szcześniak, Zbiór Zadań z Mechaniki Teoretycznej 
Kinematyka, OW PW 2001).
WzdÅ‚u\ poziomej linii prostej toczy siÄ™ ze staÅ‚Ä… prÄ™dkoÅ›ciÄ… kÄ…towÄ… É oraz bez poÅ›lizgu
szpulka &! o mniejszym promieniu r i o większym R . Dla uproszczenia interpretacji formuł
zakładamy, \e R = " . W chwili początkowej t = 0 , środek szpulki znajduje się w początku 0
globalnego układu współrzędnych kartezjańskich  por. Rys.1.
Rys.1. Szpulka w ruchu pÅ‚askim  toczenie siÄ™ bez poÅ›lizgu ze staÅ‚Ä… prÄ™dkoÅ›ciÄ… kÄ…towÄ… É. Na
rysunku pokazano szpulkÄ™ w chwili poczÄ…tkowej t = 0.
Ruch szpulki &! w globalnym układzie współrzędnych kartezjańskich i w przedziale czasu
T = 0," opisuje odwzorowanie
[ )
x0 îÅ‚X0 cos É t + X1 sin É t +É r tÅ‚Å‚
îÅ‚ Å‚Å‚ ( ) ( )
F : &!×T !2, x = F X,t , = , (1)
( )
śł
ïÅ‚ śł
x1 ïÅ‚ -X0 sin É t + X1 cos É t
( ) ( )
ðÅ‚ ûÅ‚
ðÅ‚ ûÅ‚
x0
îÅ‚ Å‚Å‚
gdzie x = " !2 oznacza punkt przestrzenny definiujący poło\enie punktu
ïÅ‚ śł
x1
ðÅ‚ ûÅ‚
X0
îÅ‚ Å‚Å‚
materialnego X = "&! identyfikujÄ…cego punkt szpulki &! w chwili t "T .
ïÅ‚ śł
X1
ðÅ‚ ûÅ‚
Zdefiniuj funkcję ? F(double* X , double t, ?) , która opisuje ruch szpulki w opisie
materialnym lub w tzw. opisie Lagrange a.
DefiniujÄ…c trajektoriÄ™ jako zbiór ! = x,t " F &!,t ×T odwzorowanie odwrotne
( ) ( )
{ }
-1
G = F : ! &! do odwzorowania F : &!×T !2 mo\emy zdefiniować nastÄ™pujÄ…co:
X0 îÅ‚x0 cos É t - x1 sin É t -É r t cos É t Å‚Å‚
îÅ‚ Å‚Å‚ ( ) ( ) ( )
G : ! &!, X = G x,t , = . (2)
( )
ïÅ‚ śł
X1 ïÅ‚ x0 sin É t + x1 cos É t -É r t sin É t
( ) ( ) ( )śł
ðÅ‚ ûÅ‚
ðÅ‚ ûÅ‚
Zdefiniuj funkcję ?G(double* x, double t, ?) , która opisuje ruch szpulki w opisie
przestrzennym lub w tzw. opisie Eulera.
Rys.2. Trajektoria ! ‚" !3 = !2 × ! szpulki w pewnym przedziale czasu 0,tmax .
[ ]
0 xy czas
Widok  z góry oraz widok izometryczny.
Rys.3. Szpulka w ruchu płaskim w chwili początkowej t = 0 i w dowolnej chwili t > 0 . Na
rysunku pokazano zdefiniowany w zadaniu punkt materialny X oraz punkt przestrzenny x.
Nietrudno jest analitycznie sprawdzić, \e dla dowolnych X, x, t :
F îÅ‚G x,t ,tÅ‚Å‚ = x oraz G îÅ‚F X,t ,tÅ‚Å‚ = X .
( ) ( )
ðÅ‚ ûÅ‚ ðÅ‚ ûÅ‚
Dla losowo wygenerowanych wartości X, x, t sprawdz numerycznie obie powy\sze relacje.
Wektor prędkości v definiujemy jako pole materialne
v0 îÅ‚-X0 É sin É t + X1 É cos É t +É rÅ‚Å‚
"F îÅ‚ Å‚Å‚ ( ) ( )
v : &!×T !2, v = X,t , = . (3)
( )
ïÅ‚ śł
ïÅ‚v śł
"t -X0 É cos É t - X1 É sin É t
( ) ( )
ðÅ‚ 1 ûÅ‚
ðÅ‚ ûÅ‚
Opis przestrzenny V wektora prędkości v definiujemy jako pole przestrzenne
V0 x1 É + É r
îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
V : ! &!, V = v îÅ‚G x,t ,tÅ‚Å‚ , =
( )
ïÅ‚V śł ïÅ‚-x É + É2 r tśł . (4)
ðÅ‚ ûÅ‚
ðÅ‚ 1 ûÅ‚ ðÅ‚ 0 ûÅ‚
Formułę (4) otrzymujemy ze wzoru (3), w którym składowe X0 i X1 obliczone są za pomocą
relacji (2), tj.
v0 X,t = -X0 É sin É t + X1 É cos É t + É r =
( ) ( ) ( )
= - îÅ‚x0 cos É t x1 sin É t -É r t cos É t Å‚Å‚É sin É t +
( )- ( ) ( )ûÅ‚ ( )
ðÅ‚
+ îÅ‚x0 sin É t + x1 cos É t -É r t sin É t Å‚Å‚É cos É t + É r =
( ) ( ) ( )ûÅ‚ ( )
ðÅ‚
= -x0 cos É t É sin É t + x1 sin É t É sin É t + É r t cos É t É sin É t +
( ) ( ) ( ) ( ) ( ) ( )
+x0 sin É t É cos É t + x1 cos É t É cos É t r t sin É t É cos É t + É r =
( ) ( ) ( ) ( )-É
( ) ( )
= x1É sin2 É t + x1É cos2 É t + É r = x1É + É r = V0 x,t
( ) ( ) ( )
oraz
v1 X,t = -X0 É cos É t X1 É sin É t =
( ) ( )-
( )
- îÅ‚x0 cos É t - x1 sin É t -É r t cos É t Å‚Å‚É cos É t +
( ) ( ) ( )ûÅ‚ ( )
ðÅ‚
- îÅ‚x0 sin É t + x1 cos É t -É r t sin É t Å‚Å‚É sin É t =
( ) ( ) ( )ûÅ‚ ( )
ðÅ‚
= -x0 cos É t É cos É t + x1 sin É t É cos É t + É r t cos É t É cos É t +
( ) ( ) ( ) ( ) ( ) ( )
-x0 sin É t É sin É t x1 cos É t É sin É t + É r t sin É t É sin É t =
( ) ( )- ( ) ( ) ( ) ( )
= -x0É cos2 É t - x0É sin2 É t + É2 r t cos2 É t + É2 r t sin2 É t = -x0É + É2 r t = V1 x,t
( ) ( ) ( ) ( ) ( )
Zdefiniuj funkcję ? v(double* X , double t, ?) , która opisuje pole prędkości szpulki (prędkość
dowolnego punktu X"&! w chwili t) oraz funkcję ?V(double* x, double t, ?) , która definiuje
opis przestrzenny prędkości szpulki (prędkość szpulki w miejscu x" !2 i w chwili t).
Głównym celem ćwiczenia jest stabelaryzowanie powy\szych wzorów (1), (2), (3), (4) dla
wartoÅ›ci r =1.0 [m], É = 3.0 [1/ s], tmax = 5.0 [s] w n = 100 równo odlegÅ‚ych od siebie
0
tmax îÅ‚ Å‚Å‚
ëÅ‚i öÅ‚
chwilach ti = i ×Å‚%t = 0,1,..., n -1, Å‚%t = dla punktu materialnego X = "&! oraz
ìÅ‚ ïÅ‚-rśł
n -1÷Å‚
íÅ‚ Å‚Å‚
ðÅ‚ ûÅ‚
r
îÅ‚ Å‚Å‚
punktu przestrzennego x = " !2 . Stabelaryzowane wartości nale\y zapisać do plików w
ïÅ‚0śł
ðÅ‚ ûÅ‚
celu wizualizacji w Excelu.
Po poprawnie oprogramowanym zadaniu, 4 wykresy w Excelu obejmujÄ…ce:
" wizualizacjÄ™ trajektorii danego punktu materialnego X
" wizualizację w kolejnych chwilach czasowych punktów materialnych X
przechodzÄ…cych przez dany punkt x przestrzeni
" wizualizację w kolejnych chwilach czasowych wektora prędkości v danego punktu
materialnego X (stycznego do jego trajektorii) oraz
" wizualizację wektora prędkości poruszającego się ciała (szpulki) w danym miejscu x
(opis przestrzenny V pola materialnego prędkości v)
powinny wyglądać jak na poni\szych rysunkach:
T
Rys.4. Trajektoria punktu materialnego X = 0 -r "&! w przedziale czasu 0,tmax .
[ ] [ ]
Rys.5. Punkty materialne X"&!  przechodzÄ…ce przez miejsce zdefiniowane w punkcie
T
przestrzennym x = r 0 " !2 w przedziale czasu 0,tmax .
[ ] [ ]
0
îÅ‚ Å‚Å‚
Rys.6. Wektor prędkości punktu materialnego X = " !2 (lewy rysunek)
ïÅ‚-rśł
ðÅ‚ ûÅ‚
oraz wektor prędkości szpulki w miejscu zdefiniowanym przez punkt przestrzenny
r
îÅ‚ Å‚Å‚
x = " !2 (prawy rysunek) w przedziale czasu 0,tmax .
[ ]
ïÅ‚0śł
ðÅ‚ ûÅ‚


Wyszukiwarka

Podobne podstrony:
Lab 11 12
Lab 11 12
Lab 11 12
Lab 11 12
Lab ME MI instrukcja 11 12 E
dach (11 12)
zjazdy 11 12
Quas primas Pius XI (11 12 1925)
Konsultacje sem letnim 11 12 I16# 12
Hydrologia cwiczenia 11 i 12
11 (12)

więcej podobnych podstron