Algorytmika i Programowanie. Podstawy jÄ™zyka C++ ze wstÄ™pem do programowania dla in\ynierów Tematyka ćwiczeÅ„ laboratoryjnych AiP_Lab08 dla 2 semestru studiów dziennych na Wydziale In\ynierii LÄ…dowej PW ProwadzÄ…cy SÅ‚awomir Czarnecki tablice, funkcje c.d. Zad.1. Zdefiniuj nastÄ™pujÄ…ce 4 funkcje: " obliczania sumy dwóch wektorów a, b" !n n e"1 , ( ) " obliczania iloczynu skalarnego dwóch wektorów a, b" !n n e"1 , ( ) " obliczania dÅ‚ugoÅ›ci wektora a " !n n e"1 , ( ) " obliczania iloczynu wektorowego dwóch wektorów a, b"!3 (tylko w przestrzeni !3 !!!). Przypomnienie ! Iloczyn skalarny dwóch wektorów a, b"!n n e"1 liczymy ze wzoru ( ) n a Å"b = "a[i] b[i]"! , i=0 natomiast dÅ‚ugość wektora a "!n n e"1 ze wzoru ( ) a = a Å" a "! . Dla n=3 mamy nastÄ™pujÄ…cÄ… definicjÄ™ iloczynu wektorowego dwóch wektorów a, b"!3 e0 e1 e2 a[1]b[2] - a[2]b[1] îÅ‚ Å‚Å‚ ïÅ‚-a[0]b[2] + a[2]b[0]śł a × b = a[0] a[1] a[2] H" "!3 . ïÅ‚ śł ïÅ‚ b[0] b[1] b[2] a[0]b[1] - a[1]b[0] śł ðÅ‚ ûÅ‚ Zad.2. PrÄ™t AB porusza siÄ™ po pÅ‚aszczyznie Oxy w ruchu pÅ‚askim. Dane: " dÅ‚ugość prÄ™ta AB: l " ruch punktu A we współrzÄ™dnych kartezjaÅ„skich: rA = rA t = xA t ex + yA t ey + zA t ez ( ) ( ) ( ) ( ) 1 dla xA = xA t = Ä… t , yA = yA t = ² t2, zA = zA t = 0 . ( ) ( ) ( ) 2 " ruch obrotowy prÄ™ta wokół bieguna A 1 Ć = Ć t = Å‚ t2 . ( ) 2 W powy\szych wzorach, w trakcie przeprowadzania obliczeÅ„ numerycznych, m m 1 przyjmiemy, \e: l =1.0 m , Ä… =1.0îÅ‚ Å‚Å‚ , ² =1.0îÅ‚ Å‚Å‚ , Å‚ =1.0îÅ‚ Å‚Å‚ . Parametr t [ ] ïÅ‚ śł ïÅ‚ śł ïÅ‚ śł s s2 s2 ðÅ‚ ûÅ‚ ðÅ‚ ûÅ‚ ðÅ‚ ûÅ‚ oznacza czas w sekundach [s], rA "!3 oznacza wektor wodzÄ…cy ruchu punktu A, natomiast ex, ey, ez "!3 oznaczajÄ… wektory bazy ortonormalnej w !3. y B Ć l ey A - biegun ex x 0 2.1. Zdefiniuj funkcjÄ™, w której dla dowolnej ale ustalonej chwili czasu t, obliczane byÅ‚yby współrzÄ™dne kartezjaÅ„skie xA = xA t , yA = yA t ( ) ( ) jednoznacznie definiujÄ…ce poÅ‚o\enie punktu A na pÅ‚aszczyznie !2 . Wykorzystaj nastÄ™pnie funkcjÄ™ do (dyskretnego) obliczenia toru ruchu punktu A poprzez stabelaryzowanie odciÄ™tej xA i rzÄ™dnej yA w 250 punktach czasowych odpowiadajÄ…cych kolejnym chwilom czasowym t " 0,T dla [ ] T = 5.0 s . Obliczane współrzÄ™dne xA = xA t , yA = yA t zapisuj jednoczeÅ›nie [ ] ( ) ( ) do pliku A.txt w taki sam sposób jak w Zad.2. z AiP_Lab07, aby byÅ‚o mo\liwe sporzÄ…dzenie wykresu toru ruchu punktu A w programie Microsoft Excel. 2.2. Zauwa\ajÄ…c, \e rB = rB t = rA t + Á t , gdzie: Á t = -l sin îłĆ t Å‚Å‚ex + l cos îłĆ t Å‚Å‚ey + 0ez ( ) ( ) ( ) ( ) ( )ûÅ‚ ( )ûÅ‚ ðÅ‚ ðÅ‚ zdefiniuj funkcjÄ™, w której dla dowolnej ale ustalonej chwili czasu t, obliczane byÅ‚yby współrzÄ™dne kartezjaÅ„skie xB = xB t , yB = yB t jednoznacznie ( ) ( ) definiujÄ…ce poÅ‚o\enie punktu B na pÅ‚aszczyznie !2 . Znajdz tor ruchu punktu B w analogiczny sposób jak dla punktu A powy\ej (obliczane współrzÄ™dne xB = xB t , yB = yB t zapisuj do pliku B.txt, w celu pózniejszego sporzÄ…dzenie ( ) ( ) wykresu toru ruchu punktu B w programie Microsoft Excel). 2.3. Zdefiniuj funkcje, w których dla dowolnej, ale ustalonej chwili czasu t byÅ‚yby obliczane kolejno: " wektor vA = vA t prÄ™dkoÅ›ci oraz prÄ™dkość vA = vA t punktu A ( ) ( ) dxA dyA vA t = ex + ey + 0ez , vA t = vA t ( ) ( ) ( ) dt dt " wektor É = É t prÄ™dkoÅ›ci kÄ…towej oraz prÄ™dkość kÄ…towa É = É t prÄ™ta ( ) ( ) AB dĆ É t = 0ex + 0ey + ez , É t = É t ( ) ( ) ( ) dt " wektor vB = vB t prÄ™dkoÅ›ci oraz prÄ™dkość vB = vB t punktu B ( ) ( ) vB = vA + É × Á , vB t = vB t , gdzie (w naszym przykÅ‚adzie): Á = AB . ( ) ( ) (wektor prÄ™dkoÅ›ci vB = vB t punktu B obliczamy w oparciu o ( ) fundamentalne twierdzenie kinematyki ruchu bryÅ‚y sztywnej wykorzystujÄ…ce pojÄ™cie bieguna, który przyjmujemy w rozpatrywanym problemie jako punkt A). " WykorzystujÄ…c powy\sze funkcje, zapisz do plików odpowiednio vA.txt i vB.txt prÄ™dkoÅ›ci punktów A i B w celu sporzÄ…dzenie ich wykresów w funkcji czasu t w programie Microsoft Excel (analogicznie jak w poprzednich zadaniach). " Tabelaryzowanymi (po trzy dla ka\dej z 250 chwil czasowych t) skÅ‚adowymi kartezjaÅ„skimi wektorów prÄ™dkoÅ›ci vA = vA t i vB = vB t ( ) ( ) punktów A i B, zainicjalizuj skÅ‚adowe tablic TA[250][3] i TB[250][3], które wyÅ›wietl nastÄ™pnie na ekranie.