Poznaj C++ w$ godziny0060

Poznaj C++ w$ godziny0060



Instrukcje i wyrażenia 45

Nawiasy zagnieżdżone

Dla bardziej skomplikowanych wyrażeń będziesz musiał zagnieżdżać nawiasy jedne w drugich. Np. musisz policzyć całkowitą liczbę sekund i całkowitą liczbę ludzi, aby policzyć, ile sekund zostało w sumie przepracowanych (Osobosekundy):

LiczbaOsoboSekund = ( ( (LiczbaMinutNaZastanowienie + “♦LiczbaMinutNaWpisanie) * 60) * (LiczbaLudziWBiurze + “♦LiczbaLudziNaWakacjach) ) ;

To skomplikowane wyrażenie należy czytać „od wewnątrz” Najpierw LiczbaMinut-NaZastanowienie jest dodawana do LiczbaMinutNaWpisanie, ponieważ są one w najgłębszych nawiasach. Potem ich suma jest mnożona przez 60. Następnie LiczbaLudziWBiurze jest dodawana do LiczbaLudziNaWakacjach. Na końcu

całkowita liczba ludzi jest mnożna przez całkowitą liczbę sekund.

Takie wyrażanie nie stanowi problemu dla komputera. Jednak dla człowieka jest mało czytelne i trudne do modyfikacji. Oto to samo wyrażenie obliczone z wykorzystaniem dodatkowych zmiennych pomocniczych:

LiczbaMinut = LiczbaMinutNaZastanowienie + LiczbaMinutNaWpisanie; LiczbaSekund = LiczbaMinut * 60;

LiczbaLudzi = LiczbaLudziWBiurze + LiczbaLudziNaWakacjach; LiczbaOsoboSekund = LiczbaLudzi * LiczbaSekund;

Ten przykład jest dłuższy niż poprzedni i wymaga wykorzystania dodatkowych zmiennych. Jego dużą zaletą jest przejrzystość. Wystarczy jeszcze dodać na początku komentarz mówiący co dany fragment liczy, zamienić 60 na stałą symboliczną a uzyskamy kod przejrzysty i łatwy do zrozumienia.

Prawda i fałsz w C++

W poprzednich wersjach C++ wyrażenia prawdziwe i fałszywe były reprezentowane przez wartości całkowite. Standard ISO/ANSI niesie ze sobą nowy typ: bool. Zmienna typu bool może przyjąć jedną z dwóch wartości - prawda albo fałsz.

Każde wyrażenie może zostać zakwalifikowane jako prawdziwe albo fałszywe. Jeżeli wartość wyrażenia jest równa zero, to uznajemy je za fałszywe. W przeciwnym wypadku mamy do czynienia z wyrażeniem prawdziwym.


Wiele starszych kompilatorów oferowało programiście typ bool, reprezentowany jako czterobajtowa zmienna typu long. Kompilatory zgodne z ANSI wykorzystują typ bool wykorzystujący jeden bajt.


Nawiasy zagnieżdżone

Dla bardziej skomplikowanych wyrażeń będziesz musiał zagnieżdżać nawiasy jedne w drugich. Np. musisz policzyć całkowitą liczbę sekund i całkowitą liczbę ludzi, aby policzyć, ile sekund zostało w sumie przepracowanych (Osobosekundy):

Łiczba030boSekund = (    ( (LiczbaHinutNaZastanowienie +

■“LiczbaMinutNaWpisanie) * 60) * (LiczbaLudziWBiurze +

••LiczbaLudziNaWakac jach) ) ;

To skomplikowane wyrażenie należy czytać „od wewnątrz” Najpierw LiczbaMinut-NaZastanowienie jest dodawana do LiczbaMinutNaWpisanie, ponieważ są one w najgłębszych nawiasach. Potem ich suma jest mnożona przez 60. Następnie LiczbaLudziWBiurze jest dodawana do LiczbaLudziNaWakacjach. Na końcu całkowita liczba ludzi jest mnożna przez całkowitą liczbę sekund.

Takie wyrażanie nie stanowi problemu dla komputera. Jednak dla człowieka jest mało czytelne i trudne do modyfikacji. Oto to samo wyrażenie obliczone z wykorzystaniem dodatkowych zmiennych pomocniczych:

LiczbaMinut = LiczbaMinutNaZastanowienie + LiczbaMinutNaWpisanie; LiczbaSekund = LiczbaMinut * 60;

LiczbaLudzi = LiczbaLudziWBiurze + LiczbaLudziNaWakacjach; LiczbaOsoboSekund = LiczbaLudzi * LiczbaSekund;

Ten przykład jest dłuższy niż poprzedni i wymaga wykorzystania dodatkowych zmiennych. Jego dużą zaletą jest przejrzystość. Wystarczy jeszcze dodać na początku komentarz mówiący co dany fragment liczy, zamienić 60 na stałą symboliczną, a uzyskamy kod przejrzysty i łatwy do zrozumienia.

Prawda i fałsz w C++

W poprzednich wersjach C++ wyrażenia prawdziwe i fałszywe były reprezentowane przez wartości całkowite. Standard ISO/ANSI niesie ze sobą nowy typ: bool. Zmienna typu bool może przyjąć jedną z dwóch wartości — prawda albo fałsz.

Każde wyrażenie może zostać zakwalifikowane jako prawdziwe albo fałszywe. Jeżeli wartość wyrażenia jest równa zero, to uznajemy je za fałszywe. W przeciwnym wypadku mamy do czynienia z wyrażeniem prawdziwym.


Wiele starszych kompilatorów oferowało programiście typ bool. reprezentowany jako czterobajtowa zmienna typu long. Kompilatory zgodne z ANSI wykorzystują typ bool wykorzystujący jeden bajt.



Wyszukiwarka

Podobne podstrony:
Poznaj C++ w$ godziny0054 Instrukcje i wyrażenia 39Wyrażenia m Wszystko co zwraca w C++ jakąś wartoś
Poznaj C++ w$ godziny0056 Instrukcje i wyrażenia 41 Dzielenie całkowite wygląda trochę inaczej niż z
Poznaj C++ w$ godziny0058 Instrukcje i wyrażenia 43Listing 4.2. Obliczanie wartości wyrażenia // Lis
Poznaj C++ w$ godziny0062 Instrukcje i wyrażenia 47Instrukcja if Normalnie program wykonuje się lini
Poznaj C++ w$ godziny0064 Instrukcje i wyrażenia 49) ł else instrukcja4; Ta zawikłana instrukcja if
Poznaj C++ w$ godziny0066 Instrukcje i wyrażenia 51 11:    if (x > 10) 12:  &
Poznaj C++ w$ godziny0068 Instrukcje i wyrażenia 53 Tabela 4.2. Operatory logiczne Operator Symbol
Poznaj C++ w$ godziny0070 Instrukcje i wyrażenia 55 if (x != 0)    // jeśli x jest ró
Poznaj C++ w$ godziny0052 Godzina 4Instrukcje i wyrażenia Program to zbiór instrukcji wykonywanych s
Poznaj C++ w$ godziny0120 108 Godzina 8Złożona instrukcja while Warunek w instrukcji while może być
Poznaj C++ w$ godziny0134 122 Godzina 8 wyrażenie to dowolne poprawne wyrażenie C++, natomiast instr
Poznaj C++ w$ godziny0042 26 Godzina 3 i unsigned dla liczb bez znaku. Liczby całkowite (short, long
Poznaj C++ w$ godziny0069 54 Godzina 4Kolejność wykonywania operatorów logicznych Operatory relacji
Poznaj C++ w$ godziny0086 72 Godzina 5 Kiedy wywołasz funkcję 10 razy, to program tyle samo razy „sk
Poznaj C++ w$ godziny0119 Zaawansowane sterowanie programem 107Pętle while Pętla while pozwala na po
Poznaj C++ w$ godziny0129 Zaawansowane sterowanie programem 117Listing 8.10. Demonstracja wielokrotn
Poznaj C++ w$ godziny0132 120 Godzina 8 120 Godzina 8 ANALIZA: W linii 8, w instrukcji for wykonywan
Poznaj C++ w$ godziny0161 150Godzina 10 *pJeden = 5; Napisanie takiej instrukcji spowoduje komunikat
Poznaj C++ w$ godziny0169 158 Godzina 11Do czego można tworzyć referencje? Referencje można stworzyć

więcej podobnych podstron