ć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

Podobne dokumenty