Poznaj C++ w$ godziny0133

Poznaj C++ w$ godziny0133



Zaawansowane sterowanie programem 121

Jaki znak? x

xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxx

ANALIZA:


Użytkownik wprowadza liczbę kolumn, wierszy i znak, który ma być wypisywany. W linii 16, zewnętrzna pętla for, inicjalizuje licznik ( i ) wartością zero.

W linii 18, w pierwszej linii treści pętli zewnętrznej, uruchamiana jest kolejna pętla for. Drugi licznik ( j ) jest inicjalizowany wartością zero i wykonywana jest treść pętli wewnętrznej. W linii 19 wypisywany jest podany przez użytkownika znak i program wraca do instrukcji pętli wewnętrznej. Zauważ, że treść funkcji wewnętrznej składa się z tylko jednej instrukcji (wypisanie znaku). W instrukcji pętli wewnętrznej sprawdzany jest warunek (j < kolumny); jeśli jest on prawdziwy, to zmienna j jest inkrementowana i wypisywany jest kolejny znak. Czynność ta powtarza się tak długo, aż j osiągnie wartość kolumny.

W momencie zakończenia pętli wewnętrznej (gdy warunek j < kolumny nie jest już spełniony), program przechodzi do linii 20. Teraz pętla zewnętrzna wraca do początku (nagłówek pętli w linii 16) gdzie sprawdzany jest warunek (i < wiersze). Jeśli warunek jest spełniony, to inkrementowana jest zmienna i i treść pętli zostaje ponownie wykonana.

W każdej iteracji pętli zewnętrznej, pętla wewnętrzna jest na nowo inicjalizowana — zmienna j jest inicjalizowana wartością zero.

Ważne jest to, że w przypadku pętli zagnieżdżonych, pętla wewnętrzna jest wykonywana w każdej iteracji pętli zewnętrznej. Dzięki temu, podany znak jest wypisywany kolumny razy dla każdego wiersza.

Instrukcja switch

Kombinacje instrukcji if oraz if. . . else, w przypadku głębokiego zagnieżdżenia, mogą powodować spore zamieszanie. C++ oferuje tutaj wygodne, alternatywne rozwiązanie. W przeciwieństwie do instrukcji if, która potrafi rozpatrzeć tylko jedną wartość jednocześnie) instrukcja switch pozwala na wyszczególnienie dowolnej liczby wartości. Oto ogólny schemat instrukcji switch: switch (wyrażenie)

{

case wartośćl:    instrukcje;

break;

case wartośćl:    instrukcje;

break;

break;


case wartośćl:    instrukcje;

default:    instrukcje;

}

Użytkownik wyprowadza liczbę kolumn, wierszy i znak, który ma być wypisywany. W linii 16, zewnętrzna pętla for, inicjalizuje licznik ( i ) wartością zero.

Jaki znak? x

xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxx


W linii 18, w pierwszej linii treści pętli zewnętrznej, uruchamiana jest kolejna pętla for. Drugi licznik ( j ) jest inicjalizowany wartością zero i wykonywana jest treść pętli wewnętrznej. W linii 19 wypisywany jest podany przez użytkownika znak i program wraca do instrukcji pętli wewnętrznej. Zauważ, że treść funkcji wewnętrznej składa się z tylko jednej instrukcji (wypisanie znaku). W instrukcji pętli wewnętrznej sprawdzany jest warunek (j < kolumny); jeśli jest on prawdziwy, to zmienna j jest inkrementowana i wypisywany jest kolejny znak. Czynność ta powtarza się tak diugo, aż j osiągnie wartość kolumny.

W momencie zakończenia pętli wewnętrznej (gdy warunek j < kolumny nie jest już spełniony), program przechodzi do linii 20. Teraz pętla zewnętrzna wraca do początku (nagłówek pętli w linii 16) gdzie sprawdzany jest warunek (i < wiersze). Jeśli warunek jest spełniony, to inkrementowana jest zmienna i i treść pętli zostaje ponownie wykonana.

W każdej iteracji pętli zewnętrznej, pętla wewnętrzna jest na nowo inicjalizowana -zmienna j jest inicjalizowana wartością zero.

Ważne jest to, że w przypadku pętli zagnieżdżonych, pętla wewnętrzna jest wykonywana w każdej iteracji pętli zewnętrznej. Dzięki temu, podany znak jest wypisywany kolumny razy dla każdego wiersza.

Instrukcja switch

Kombinacje instrukcji if oraz if. . . else, w przypadku głębokiego zagnieżdżenia, mogą powodować spore zamieszanie. C++ oferuje tutaj wygodne, alternatywne rozwiązanie. W przeciwieństwie do instrukcji if, która potrafi rozpatrzeć tylko jedną wartość jednocześnie) instrukcja switch pozwala na wyszczególnienie dowolnej liczby wartości. Oto ogólny schemat instrukcji switch:

switch (wyrażenie)

(

case wartośćl:    instrukcje;

break;


case wartośćl:    instrukcje;

break;


break;


case wartości:    instrukcje;

default: instrukcje;


Wyszukiwarka

Podobne podstrony:
Poznaj C++ w$ godziny0119 Zaawansowane sterowanie programem 107Pętle while Pętla while pozwala na po
Poznaj C++ w$ godziny0121 Zaawansowane sterowanie programem 109 W liniach 12-15 wprowadzamy wartości
Poznaj C++ w$ godziny0123 Zaawansowane sterowanie programem 111 W linii 32 obliczana jest reszta z d
Poznaj C++ w$ godziny0125 Zaawansowane sterowanie programem Listing 8.6. Pomijanie pętli while 1:
Poznaj C++ w$ godziny0127 Zaawansowane sterowanie programem 115Listing 8.8. Jeszcze raz pętla while
Poznaj C++ w$ godziny0129 Zaawansowane sterowanie programem 117Listing 8.10. Demonstracja wielokrotn
Poznaj C++ w$ godziny0131 Zaawansowane sterowanie programem 119EFEKT DZIAŁANIA: No to ile razy sie p
Poznaj C++ w$ godziny0135 Zaawansowane sterowanie programem 153 20:    break; 21: &nb
Poznaj C++ w$ godziny0009 viii Poznaj C++ w 24 godziny 8    Zaawansowane sterowanie p
Poznaj C++ w$ godziny0117 Godzina 8Zaawansowane sterowanie programem Działanie każdego większego pro
Poznaj C++ w$ godziny0081 Funkcje 67 Program wraca do funkcji main(), do linii 13. Okazuje się, że w
Poznaj C++ w$ godziny0158 Zaawansowane wykorzystanie wskaźników 147 32:    } 33: 34:
Poznaj C++ w$ godziny0160 Zaawansowane wykorzystanie wskaźników 149Do czego służy wskaźnik this Gdyb
Poznaj C++ w$ godziny0162 Zaawansowane wykorzystanie wskaźników 151 Zaawansowane wykorzystanie wskaź
Poznaj C++ w$ godziny0182 Zaawansowane referencje i wskaźniki 171 int PobierzWiek() const { return j
Poznaj C++ w$ godziny0184 Zaawansowane referencje i wskaźniki 173 Ponieważ wiemy, że obiekt nie będz
Poznaj C++ w$ godziny0190 Zaawansowane referencje i wskaźniki 179 ZAWSZE NIGDY Zawsze przekazuj p
Poznaj C++ w$ godziny0194 Zaawansowane funkcje 185 57: Prost.RysujKsztalt(); 58: cout «
Poznaj C++ w$ godziny0196 Zaawansowane funkcje 187 53:    } 54:    cou

więcej podobnych podstron