background image

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 ab oznaczamy przez nwd(a,b). Zdefiniuj 
funkcję 

(

)

int

in

,

t

int

nwd

a

b

  implementującą  iteracyjną  wersję  Algorytmu  Euklidesa 

znajdowania największego wspólnego dzielnika dwóch liczb naturalnych 

{

}

,

1, 2,...

a b 

=

.  

Algorytm Euklidesa 
start 

naturalne

 nwdabA

czytaj 
czytaj 
A = 
B = 
dopóty dopóki  a

b

≠  wykonuj:  

jeśli  a

b

>  to:  

 

a

a b

= − ; 

 

 

 

 

 

w przeciwnym przypadku:   b

b

a

= − ; 

nwd = 
wyświetl ABnwd
koniec 
 
2.
 Udowodnij poprawność Algorytmu Euklidesa. W tym celu udowodnij, Ŝe funkcja zdaniowa 

(

)

(

)

(

)

,

0

0

,

,

P a b

a

b

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

in

,

t

int

NWD

a

b

  implementującą  rekurencyjną  wersję  Algorytmu 

Euklidesa  znajdowania  największego  wspólnego  dzielnika  dwóch  liczb  naturalnych 

{

}

,

1, 2,...

a b 

=

.  

 
4.  Zdefiniuj  funkcję 

(

** ,

** , )

?

?

double

double

mm

a

b

,  która  oblicza  iloczyn 

m n

M

×

c

macierzy 

m k

M

×

a

  i 

k n

M

×

b

,  tj. 

=

c

a b

.  Przetestuj  funkcję  wywołując  ją  dla  losowo 

wygenerowanych składowych macierzy 

m k

M

×

a

 i 

k n

M

×

b

 
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   i o większym 

R

.  Dla uproszczenia interpretacji formuł 

zakładamy, Ŝe 

= ∞

. W chwili początkowej 

0

t

= , środek szpulki znajduje się w początku 0 

globalnego układu współrzędnych kartezjańskich – por. Rys.1

background image

 

 

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 

[

)

0,

=

 opisuje odwzorowanie 

 

(

)

( )

( )

( )

( )

0

1

0

2

0

1

1

cos

sin

:

,

,

,

sin

cos

X

t

X

t

r t

x

F

T

F

t

X

t

X

t

x

ω

ω

ω

ω

ω

+

+

 

Ω× →

=

= 

 

+

  

x

X

,  

 

    (1) 

 

gdzie 

0

2

1

x

x

 

=

 

 

x

  oznacza  punkt  przestrzenny  definiujący  połoŜenie  punktu 

materialnego 

0

1

X

X

=

∈ Ω

X

 identyfikującego punkt szpulki 

 w chwili  t

T

∈ .  

 
Zdefiniuj  funkcję 

(

*

,

?

, )

?

double

d uble

t

o

F

X

,  która  opisuje  ruch  szpulki  w  opisie 

materialnym lub w tzw. opisie Lagrange’a.  
 
Definiując  trajektorię  jako  zbiór 

( )

(

)

{

}

,

,

t

F

t

T

ℑ =

×

x

  odwzorowanie  odwrotne 

1

:

G

F

=

ℑ → Ω

 do odwzorowania 

2

:

F

T

Ω× → ℝ

 moŜemy zdefiniować następująco:  

 

( )

( )

( )

( )

( )

( )

( )

0

1

0

0

1

1

cos

sin

cos

:

,

, ,

sin

cos

sin

x

t

x

t

r t

t

X

G

G

t

x

t

x

t

r t

t

X

ω

ω

ω

ω

ω

ω

ω

ω

ℑ → Ω

=

= 

+

 

X

x

 

    (2) 

 
Zdefiniuj  funkcję 

(

* ,

?

, )

?

double

d uble

t

o

G

x

,  która  opisuje  ruch  szpulki  w  opisie 

przestrzennym lub w tzw. opisie Eulera

background image

 

 

Rys.2. Trajektoria 





3

2

xy

czas

ℑ ⊂

=

×

 szpulki w pewnym przedziale czasu 

[

]

max

0, t

Widok „z góry” oraz widok izometryczny. 

 

 

 

Rys.3. Szpulka w ruchu płaskim w chwili początkowej t = 0 i w dowolnej chwili 

0

t

> . Na 

rysunku pokazano zdefiniowany w zadaniu  punkt materialny X oraz punkt przestrzenny x

 
Nietrudno jest analitycznie sprawdzić, Ŝe dla dowolnych Xx:  
 

( )

,

,

F G

t t =

x

x

 oraz 

(

)

, ,

G F

t t =

X

X

.  

 
Dla losowo wygenerowanych wartości Xx sprawdź numerycznie obie powyŜsze relacje. 
 
 
 
 
 
 
 
 

background image

Wektor prędkości v definiujemy jako pole materialne 
 

(

)

( )

( )

( )

( )

0

1

0

2

0

1

1

sin

cos

v

:

,

, ,

cos

sin

v

X

t

X

t

r

F

T

t

X

t

X

t

t

ω

ω

ω

ω

ω

ω

ω

ω

ω

+

+

 

Ω× →

=

= 

 

  

v

v

X

.   

    (3)  

 
Opis przestrzenny V wektora prędkości v definiujemy jako pole przestrzenne 
 

( )

1

0

2

0

1

:

,

,

,

,

x

r

V

G

t t

x

r t

V

ω ω

ω ω

+

 

ℑ → Ω

=

=

 

+

  

V

V

v

x

.    

 

 

     

    (4) 

Formułę (4) otrzymujemy ze wzoru (3), w którym składowe 

0

 i 

1

 obliczone są za pomocą 

relacji (2), tj. 
 

(

)

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

1

0

0

1

0

1

0

1

1

0

0

1

c

v

,

sin

cos

cos

sin

c

si

cos

sin

si

os

sin

n

sin

c

n

cos

os

sin

s

sin

cos

s

in

cos

os

o

c

c

in

s

os

x

t

t

x

t

t

x

x

t

X

t

X

t

r

x

t

x

t

r t

t

t

t

x

t

x

t

r t

t

t

r

t

x

t

t

r t

t

t

r

r

t

t

t

ω

ω

ω ω

ω

ω

ω ω

ω ω

ω

ω ω

ω

ω

ω

ω

ω

ω

ω

ω

ω

ω

ω

ω

ω

ω

ω

ω

ω

ω ω

ω

ω

ω

ω

ω

ω

ω

ω

= −

+

+

=

= −

+

+

+

+

=

= −

+

+

+

+

+

+

=

=

X

( )

( )

( )

2

2

1

1

0

sin

cos

,

t

r

x

r

x

V

t

t

ω

ω

ω

ω

ω ω

+

+

=

+

=

x

 

 
oraz 
 

(

)

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

0

1

1

0

0

2

1

1

0

0

0

1

0

1

v

cos

cos

,

cos

sin

cos

sin

cos

cos

sin

cos

sin

sin

cos

co

si

s

s

n

cos

cos

s

s

in

in

si

in

sin

s

n

co

t

X

t

X

t

x

t

x

t

r t

t

t

x

t

x

t

r

x

t

t

x

t

x

t

t

t

t

r t

t

t

r

t

x

t

t

x

t

t

t

t

t

x

ω ω

ω

ω

ω

ω

ω

ω

ω

ω

ω

ω

ω

ω

ω

ω

ω

ω ω

ω

ω ω

ω

ω

ω

ω

ω ω

ω

ω

ω ω

ω

ω

ω

ω

ω

ω

= −

=

+

+

=

= −

+

+

+

+

=

= −

X

( )

( )

( )

( )

2

2

2

2

2

0

1

2

cos

si

s

n

,

in

r t

t

r t

t

x

r t

V

t

t

ω

ω

ω

ω

ω

ω

ω

ω

+

= −

+

+

=

x

 

 
Zdefiniuj funkcję 

v(

*

,

,

?

?

)

double

do

le

t

ub

X

, która opisuje pole prędkości szpulki (prędkość 

dowolnego punktu 

∈Ω

X

 w chwili t) oraz funkcję 

V(

* ,

,

?

?

)

double

do

le

t

ub

x

, która definiuje 

opis przestrzenny prędkości szpulki (prędkość szpulki w miejscu 

2

x

 i w chwili t). 

 
Głównym  celem  ćwiczenia  jest  stabelaryzowanie  powyŜszych  wzorów  (1),  (2),  (3),  (4)  dla 
wartości 

1.0 [ ]

r

m

=

3.0 [1/ ]

s

ω

=

max

5.0 [ ]

t

s

=

  w 

100

n

=

  równo  odległych  od  siebie 

chwilach 

max

0,1,...,

1,

1

i

t

t

i

t i

n

t

n

= ×

=

=

  dla  punktu  materialnego 

0

r

 

=

∈ Ω

 

 

X

  oraz 

punktu  przestrzennego 

2

0

r

 

=

 

 

x

.  Stabelaryzowane  wartości  naleŜy  zapisać  do  plików  w 

celu wizualizacji w Excelu.  
 

background image

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:  
 

 

Rys.4. Trajektoria punktu materialnego 

[

]

0

T

r

=

∈ Ω

X

 w przedziale czasu 

[

]

max

0, t

 

 

Rys.5. Punkty materialne 

∈Ω

X

 „przechodzące” przez miejsce zdefiniowane w punkcie 

przestrzennym 

[

]

2

0

T

r

=

x

 w przedziale czasu 

[

]

max

0, t

 

 

Rys.6. Wektor prędkości punktu materialnego 

2

0

r

 

=

 

 

X

 (lewy rysunek)  

oraz wektor prędkości szpulki w miejscu zdefiniowanym przez punkt przestrzenny 

2

0

r

 

=

 

 

x

 (prawy rysunek) w przedziale czasu 

[

]

max

0, t