image Home       image Fowles,       image Fitzgerald,       image r04 06 (9)       image R 22MP (3)       image 45 (3)       

Linki

[ Pobierz całość w formacie PDF ]
Instrukcje sterujace

Instrukcje sterujące to specjalne polecenia, dzięki którym można niejako kierować wykonaniem programu :-/ Dwie pierwsze będą to instrukcje warunkowe. Zaczniemy od najbardziej rozpowszechnionej w programowaniu. Chodzi o instrukcję if.

instrukcja if

Jeżeli znasz jakiś język programowania to na pewno zetknąłeś się z instrukcją if. Jest ona tak podstawowa, że każdy język ją posiada. Pomimo tego jednak radzę przeczytać ten rozdział. Co prawda zasada działania jest jednakowa niezależnie od języka, lecz mogą wystąpić pewne różnice składniowe. Żeby było łatwiej zrozumieć zaczniemy od tłumaczenia. If oznacza jeśli, jeżeli, gdyby. Najbardziej tutaj pasują dwa pierwsze określenia. Zatem będziemy się tego trzymać. Instrukcję if stosuje się w sytuacji, gdy wykonanie pewnych czynności jest zależne postawionego warunku lub wyrażenia.

1.           if (warunek) instrukcja;

Powyższy zapis oznacza tyle co jeśli warunek jest spełniony wykonaj instrukcję. Zauważ, że nie ma tutaj nic o sytuacji, gdy nie został spełniony. Wtedy po prostu instrukcja umieszczona za if zostanie pominięta i nastąpi przejście do następnej linii kodu. Jeszcze jedno. Jeżeli warunek zostanie spełniony zostanie wykonana tylko jedna instrukcja znajdująca się bezpośrednio za if. Nawet, gdy napiszesz tam kilka instrukcji. Zatem w poniższym zapisie wykona się tylko instrukcja_1.

1.           if (warunek) instrukcja_1; instrukcja_2; instrukcja_3;

Pamiętasz jeszcze o średniku? On właśnie stanowi zakończenie instrukcji. Tak więc instrukcja_2 i instrukcja_3 są niezależne od if. Zawsze zostaną wykonane. Teraz przedstawię jak można zapakować do jednego if kilka instrukcji. Może już się domyślasz, co? Małe naprowadzenie - zakres ważności. Teraz już chyba świta :)

1.           if (warunek)

2.           {

3.           instrukcja1;

4.           instrukcja2;

5.           instrukcja3;

6.           instrukcja4;

7.           }

Od teraz jeśli warunek zostanie spełniony zostaną wykonane wszystkie instrukcje będące między klamrami. W klamrach możesz umieścić dowolną ilość instrukcji. Możesz także umieścić tam inne instrukcję if! Tylko pamiętaj o zamykaniu klamer. Za pomocą klamer utworzyliśmy blok if. Tak się fajnie składa, że można powiązać kilka bloków if w logiczny związek. Tutaj również wszystko zależy od wartości wyrażenia. Może zostać wykonany jeden blok bądź więcej. Oczywiście jeśli warunek nie został spełniony w żadnym z bloków to nic się nie stanie. Po prostu nic nie zostanie wykonane. Tworzenie kilku bloków wygląda tak:

1.           if (zmienna == 0)

2.           {

3.           instrukcja1;

4.           instrukcja2;

5.           }

6.           else if (zmienna == 1)

7.           {

8.           instrukcja3;

9.           instrukcja4;

10.        }

11.        else if (zmienna >= 2) instrukcja5;

Tutaj posłużyliśmy się poznanymi wcześniej operatorami. To za ich pomocą można dokonać sprawdzenia i odpowiednio zareagować. W przykładzie doszło nowe słówko else. Oznacza ono tyle co w przeciwnym wypadku. Zatem jeżeli zmienna jest równa zero wykonane zostaną dwie pierwsze instrukcje. W momencie, gdy zmienna będzie miała wartość 1 wykona się instrukcja trzecia i czwarta. Natomiast jeśli zmienna będzie większa lub równa dwa wykona się instrukcja piąta. Zauważ, że w trzecim przypadku nie użyłem klamer. Byłoby to zbędne, gdyż jest jedna instrukcja. Aczkolwiek można tam umieścić klamry. Pomyśl co by się stały, gdyby wartośc była ujemna? Takiej możliwości nie przewidzieliśmy. Oczywiście wtedy wszystkie bloki if zostaną pominięte. Czasami to nam odpowiada. Jednak nie zawsze. Załóżmy, że sprawdzamy, czy akcja odczytu powiodła się. Wartośc jeden oznacza sukces, natomiast kaźda inna niepowodzenie. Tym razem jest nieco inna sytuacja. Jeżeli wartośc jest równa jeden wykona się instrukcja informująca o udanej akcji. W każdym innym przypadku zostanie wyświetlony komunikat o porażce. Można to zrobić korzystając z kombinacji if i else if. Wtedy kod wyglądałby tak:

1.           if (zmienna == 1) instrukcja1;

2.           else if (zmienna != 1) instrukcja2;

Jeżeli wartośc zmiennej jest równa jeden zostanie wykonana instrukcja pierwsza. W przeciwnym wypadku jeśli zmienna jest różna od jeden wykona się instrukcja druga. Oczywiście taki zapis jest jak najbardziej legalny. Jednak można go trochę uprościć. Wystarczy zapisać to w taki sposób:

1.           if (zmienna == 1) instrukcja1;

2.           else instrukcja2;

Tutaj również ruszy instrukcja pierwsza, gdy zmienna wynosi jeden. Jak mówiłem else oznacza 'w przeciwnym wypadku'. Tak właśnie jest w przykładzie. Instrukcja druga wystartuje w momencie, gdy wsześniejsze warunki nie zostały spełnione. Czyli w przypadku, gdy zmienna jest różna od jeden. To dokładnie jak we wcześniejszym przykładzie. Tylko nieco krócej.

instrukcja switch

Instrukcja switch jest nieco zbliżona do instrukcji if. switch jest jakby uproszczeniem kilku bloków if. Tradycyjnie wyjdziemy od tłumaczenia. switch to z angielskiego przełącznik. Dzięki tej instrukcji można w sposób zbliżony do if podejmować decyzje dotyczące dalszego działania. Zresztą pokażę to na przykładzie:

1.           switch (zmienna)

2.           {

3.           case 1: instrukcja_1;

4.           case 2: instrukcja_2;

5.           case 3: instrukcja_3;

6.           }

Podczas wchodzenia do bloku switch sprawdzana jest wartość zmiennej. Następuje próba dopasowania zmiennej do każdego z wariantów. Zatem najpierw porównywana jest zmienna z jedynką. Jeśli zmienna faktycznie wynosi jeden wykonane zostaną instrukcje będące za pasującym wariantem oraz wszystkie następne :-O. Zatem w naszym przypadku wykonają się wszystkie instrukcje z całego bloku. Gdyby zmienna była równa dwa wykonana zostałaby instrukcja druga i trzecia. Jest to trochę niezręczne, ale czasem się przydaje. Z reguły jednak chodzi nam o nieco inną sytuację. Lepiej byłoby, aby w przypadku wartości jeden wykonana została instrukcja pierwsza i żadna inna. Można tak zrobić i to całkiem prosto:

1.           switch (zmienna)

2.           {

3.           case 1: instrukcja_1; break;

4.           case 2: instrukcja_2; break;

5.           case 3: instrukcja_3; break;

6.           }

Widzisz dodatkowe słówko break. Znaczy ono tyle co przełamywać, więc doskonale odzwierciedla istotę działania. Od tej pory gdy wartość wynosi jeden wykona się tylko instrukcja pierwsza. Analogicznie jest w przypadku innych wartości. Oczywiście można nakazać wykonanie kilku instrukcji przy jednym przypadku. Robi się to w taki sposób:

1.           switch (zmienna)

2.           {

...

[ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zolka.keep.pl