ćwiczenie 5 pętla warunkowe
Transkrypt
ćwiczenie 5 pętla warunkowe
Ćwiczenia 5 z VBA 1 Pętle warunkowe Pętle warunkowe stosujemy tam gdzie nie jest znana ilość powtórzeń W instrukcji pętli musi wystąpić modyfikacja warunku gdyŜ pętla moŜe się nie skończyć. Pętla Do while moŜe przyjąć postać: Warunek sprawdzany na początku pętli Pętla wykonuje się Do While warunek dopóki warunek jest Instrukcje spełniony Loop Pętla kończy się gdy Do Until warunek warunek jest Instrukcje spełniony Loop Cechy charakterystyczne Przed wykonaniem pętli naleŜy wstępnie ustalić wartość początkową warunku. Warunek sprawdzany jest przed rozpoczęciem cyklu pętli, moŜe zaistnieć sytuacja, gdy instrukcje pętki nie wykonają się ani razu. Warunek sprawdzony na końcu pętli Do Instrukcje Loop While warunek Do Instrukcje Loop Until warunek Warunek jest sprawdzany po wykonaniu cyklu pętli, Pętla tego typu wykona się przynajmniej raz. Wstawianie nazwy komórki: Aby nazwać wybraną komórkę zaznacz ją a następnie wybierz : Wstaw, Nazwa, Definiuj ; Następnie wpisz nazwę komórki. Gdy chcesz usunąć nazwę zaznacz komórkę lub blok komórek następnie wybierz : Wstaw, Nazwa, Definiuj; zaznacz nazwę w oknie i USUŃ. Przykład pętli: Przykład 1 Pętla Do...Loop While Sub Przykład_4() Dim komórka As Range, s As String Set komórka = Range("Nazwisko") Do s = InputBox("Podaj nazwisko") (nazwij komórkę C15 nazwą „Nazwisko”) 'powtarzaj ' zmiennej s przypisz aktualnie wprowadzone nazwisko, tu następuje aktualizacja warunku wyjścia z pętli komórka.Value = s ' Przypisanie wartości kolejnej komórce, modyfikacja warunku wyjścia z pętli Set komórka = komórka.Offset(1, 0) 'przygotowanie do wpisu następnej komórki Loop While s <> " " ' czynności pętli są powtarzane, dopóki wpis nie jest łańcuchem pustym End Sub Warunek końca pętli sprawdzany jest po wykonaniu cyklu pętli. Gdy warunkiem końca będzie znak „*” zostanie on dopisany do ostatniej komórki. Przykład 5 ‘program sumuje wartość wprowadzanych liczb i kończy wprowadzanie gdy wpiszemy zero Pętla Do....While Loop ‘warunek sprawdzaniu przy wejściu w pętlę Sub przyklad_5() Dim liczba , suma As Integer ‘deklaracja zmiennej liczba = 1 ‘ wstępne podanie wartości liczba aby program wszedł do pętli Do While liczba <> 0 ‘ początek pętli z warunkiem liczba = InputBox("podaj liczbę") ‘wprowadzana liczba suma = suma + liczba ‘ sumowanie Loop ‘ koniec pętli MsgBox ("suma wprowadzonych liczb = " & suma) ‘wyświetlanie wyniku End Sub Ćwiczenia 5 z VBA 2 Zadanie 1. Napisz program na sumę wprowadzanych liczb lecz wykorzystaj pętlę Do .... Loop Until Zadanie 2. Zmodyfikuj program z przykładu 5, aby wprowadzane liczby wyświetlały się w arkuszu w kolumnie A (moŜesz zastosować do wyświetlania cells(li,1)= liczba) Zadanie3 Stosując pętlę warunkową napisz program który losuje liczby od 1 do 10 i wyświetla je w kolumnie C. Program zakończy losowanie gdy wylosuje liczbę 5 Zadanie 4 Zmodyfikuj program z zadania 3 tak aby w ostatniej komórce wyświetlała się liczba ile razy wykonywane było losowanie. Następnie zmodyfikuj go aby pokazał sumę losowanych liczb. Wstaw na początku programu komendę czyszczenia komórek (Range("a1: a100").ClearContents) Zadanie5 Napisz program, który losuje rzut dwiema kostkami i sprawdza czy nie została wylosowana para tych samych liczb. Program niech pierwszą wylosowana parę wyświetla w komórce b1; Następnie rozbuduj program o wyświetlenie losowanych par, oraz napisanie w którym losowaniu nastąpiło wylosowanie pary. Zadanie 6 Napisz program liczący sumę wprowadzanych liczb.. Program skończy sumowanie i wyświetli wartość sumowanych liczb i ich ilość gdy suma będzie większa od 50. Zadanie 7 Napisz program, który sumuje oddzielnie liczby dodatnie i ujemne wprowadzane przez okno komunikatu. Pętla skończy działanie gdy wartości bezwzględne tych sum będą równe. Skorzystaj z funkcji Abs(x) ‘moduł liczby Następnie zmodyfikuj program, aby wyświetlał w dwóch kolumnach aktualne sumy. Wprowadzaj liczby parami t.z najpierw dodatnią, a potem ujemną. (dwie oddzielne zmienne jedna dodatnia druga ujemna) Zabezpiecz pętlami Do .... Loop Until wprowadzane liczby przez okna komunikatu ;jeśli liczba nie jest dodatnia program ponowi jej wprowadzenie, tak samo postąpi z liczbą ujemną. Zadanie 8 Oblicz najmniejszy wspólny dzielnik dla dwóch liczb A i B algorytmem Euklidesa. Jego działanie: Jeśli liczby są róŜne, szukamy ich róŜnicy(od większej odejmujemy mniejszą). Odrzucamy większą z liczb i czynimy to samo dla mniejszej z nich i wyniku odejmowania. Na końcu kiedy liczby będą sobie równe staną się obiektem naszych poszukiwań. Np. dla liczb 32 i 12: 32-12=20 20-12=8 12-8=4 8-4=4 4=4 UŜyj pętli Do While...Loop oraz przy zamianach liczb zmiennej pomocniczej