Visual Basic for Applications Wprowadzenie, makra 1. Zarejestruj Makro o nazwie: WpiszNazwisko, które wpisuje w bieżącym arkuszu w komórce C2 Twoje Imię i Nazwisko a następnie zmienia kolor czcionki na czerwony, wypełnienie komórki na niebieski i szerokość kolumny C. Rejestrowanie makr Excel 2010: Zakładka Developer->Zarejestruj makro Aby wyświetlić kartę Developer 1. Kliknij kartę Plik. 2. Kliknij przycisk Opcje. 3. Kliknij pozycję Dostosuj wstążkę. 4. W obszarze Dostosowywanie Wstążki oraz Karty główne zaznacz pole wyboru Deweloper. Zatrzymanie rejestracji Przejdź do arkusza Arkusz2 i uruchom makro WpiszNazwisko: Makra->Uruchom->WpiszNazwisko Uruchom edytor Visual Basic, otwórz kod makra VBAProject->Modules->Module1->View Code; wprowadź zmiany w kodzie makra WpiszNazwisko tak aby program dodatkowo w komórce C3 wpisywał Adres zamieszkania i ustalał szerokość kolumny C na 30 pikseli. Uruchom Makro wybierając przycisk Run Sub. Zapisz skoroszyt, zamknij i ponownie otwórz. Przy zapisie wybierz typ skoroszyt programu Excel z obsługą makr. Otwierając włącz obsługę makr. Uruchom makro w arkuszu Arkusz3. 1
Zmodyfikuj kod makra tak aby informacje były pobierane w polu Inputbox i aby wyświetlany był komunikat powitalny w polu MsgBox 2. Zarejestruj Makro wstawiające do arkusza dowolny kształt. Następnie zmodyfikuj kod Makra tak aby możliwe: wstawienie kształtu ze środkiem w zadanym punkcie (X,Y) ; utworzenie nowego kształtu poprzez przesuniecie kształtu o podany wektor (PX,PY) i obrót kształtu o podany kąt (A). Dodaj przycisk wywołujący Makro. Dodawanie Przycisku: Deweloper->Wstaw->Przycisk. Przypisz do przycisku Makro RysujObiekt() 2
Zmodyfikuj kod aby możliwe było wielokrotne narysowanie kształtu w zadanym porządku (wykorzystaj pętle). PX i PY potraktuj jako przesunięcie w kierunku x i y. Liczbę powtórzeń podaje użytkownik w polu Inputbox dla kierunku X i Y. 3. Wyznaczyć w sposób przybliżony miejsca zerowe funkcji 3 2 f ( x) = x 5x + 4x + 3 w przedziale <1;4> metodą bisekcji z zadanym błędem MID TEMP MID < 0, 001, z wykorzystaniem makropoleceń Schemat blokowy metody bisekcji INPUT XL,XR,e TEMP=XL MID=(XL+XR)/2 NIE (MID-TEMP)/MID <e TAK TEMP=MID MID NIE XR=MID f(xl)*f(mid)<0 lub TAK XL=MID STOP 3
Rozwiązanie W nowym arkuszu utwórz tabele z danymi do zadania i tabele z wynikami. Utwórz nowe makropolecenie, naciśnij Alt+F8, następnie w polu nazwa wpisz pierwiastek. Po czym kliknij przycisk Utwórz. Uzupełnij procedurę kodem 4
Wstaw przycisk (Button) i przypisz mu makro pierwiastek. W polu tekstowym przycisku wpisz napis Oblicz pierwiastek. Następnie w tabeli w miejsca XL= i XR= wpisz zakres funkcji w którym będziemy szukać miejsc zerowych, oraz podaj dokładność z jaką oszacowana będzie ta wartość, pole e. Uwaga! Podany zakres musi obejmować miejsce zerowe. Narysuj wykres funkcji i sprawdź wynik. W tym celu wykorzystaj definicję funkcji f. Wstaw funkcję z listy dostępnych funkcji i uzupełnij argument x Zmodyfikuj procedurę tak aby program zliczał liczbę iteracji potrzebną do rozwiązania zadania. Wyświetl liczbę iteracji w polu MsgBox. 5
Znajdź pozostałe pierwiastki, podając odpowiednie zakresy przeszukiwania. Wykorzystując makro pierwiastek znajdź miejsca zerowe funkcji 2 3 g ( x) = x 9sin x 2x 3 w przedziale <-5,5> h ( x) = sin 4x cos x 2 1,5 w przedziale<1,3> 4. Wyznacz pierwiastki funkcji metodą regula falsi. Metoda regula falsi różni się od metody bisekcji tym, że wartość pierwiastka jest wyznaczana biorąc pod uwagę również wartości funkcji f(x R ) i f(x L ): Skopiuj procedurę pierwiastek(), zmień nazwę na pierwiastek_falsi(). Zmodyfikuj procedurę tak aby pierwiastek wyznaczany był z użyciem metody regula falsi. Dodaj nowy przycisk Oblicz pierwiastek metodą Regula Falsi. Porównaj liczbę iteracji potrzebnych do rozwiązania zadania dla obydwu metod. 5. Znajdź jaki powinien być współczynnik oporu powietrza c aby spadający obiekt o masie m=68.1 kg po czasie t=10 s osiągnął prędkość v=40 m/s. Równanie na prędkość wyrażone jest przez gdzie g=9.8m/s 2 6