Kolejność wykonywania działań w C#

Postęp jest genialny w swojej prostocie i tylko idąc z postępem jesteśmy w stanie odkrywać nowe, uczyć się nowych rzeczy.

W tej serii wpisów napisaliśmy swoją pierwszą aplikację konsolową (Pierwsza aplikacja (konsolowa)), poznaliśmy Zmienne i ich typy, powiedzieliśmy sobie nieco o wyrażeniach algebraicznych (Wyrażenia algebraiczne (już kiedyś o tym słyszałem…)), były także wyrażenia logiczne (Wyrażenia logiczne (gdzie sens? gdzie logika?)) oraz poznaliśmy Operacje na tekstach (bo matematyka to nie wszystko…) dziś zaś powiemy sobie o Kolejności wykonywania działań w języku C#.

 

1. Kolejność wykonywania działań w C# – Priorytety operatorów i zasady łączności

Kolejność wykonywania działań miała/ma znaczenie w każdym z dotychczas omawianych zagadnień. Najwyższy czas zatem poświęcić jej nieco więcej czasu.

Reguły kolejności działań w C# możemy sformułować w poniższy sposób:

  • jeśli operatory mają ten sam priorytet, obowiązują zasady łączności
  • jeśli operatory mają różne priorytety, obowiązuje kolejność według priorytetów operatorów

 

Zasada łączności:

Operatory przypisania oraz operatory jednoargumentowe obowiązuje zasada łączności od prawej do lewej, np.:

c = b = c

co jest tożsame z:

c = (a = b)

Natomiast operatory dwuargumentowe (z wyjątkiem przypisania) obowiązuje zasada łączności od lewej do prawej, np.:

a + b + c

jest tożsame z:

(a + b) + c

Przykład 1

 

Priorytety operatorów:

O priorytetach operatorów w C# mówiliśmy już w poprzednich wpisach (np. tu). Poniżej zaś przykład prezentujący działanie z tym samym priorytetem operatorów (oraz /) w którym zastosowana została zasada łączności od lewej do prawej.

 

Przykład 2

Na przykładzie powyższego kodu oraz jak wiemy z doświadczenia, nawiasy pozwalają nam niekiedy wymusić czy też zmienić kolejność wykonywania działań jaka wynikałaby z priorytetów operatorów.

Nawiasów jednak również używamy by zwiększyć czytelność zapisanego kodu, np. stosując poniższy zapis:

 

2. Kolejność wykonywania działań w C# – Zadanie podsumowujące

Podsumujmy to czego nauczyliśmy się dotychczas – zarówno w tym wpisie jak i poprzednich.

Napiszmy program w którym istotna będzie kolejność wykonywania działań, umieśćmy zmienne typu liczbowego oraz zmienną logiczną oraz zawżyjmy w nim działania logiczne arytmetyczne.

Program ma prosić użytkownika o podanie jego wagi w kilogramach oraz wzrostu w metrach na podstawie czego obliczy wskaźnik masy ciała (tzw. BMI) oraz poda wagę “idealną” dla podanych parametrów wg. wzoru Lorentz-a.

Zanim jednak przejdziemy do napisania kodu proponuję zebrać niezbędne dane tj. wzór na obliczenie wskaźnika BMI oraz zakres norm dla mężczyzn i kobiet wg. wskaźnika BMI, a także zapoznanie się ze wzorami Lorentz-a.

Jeśli mamy niezbędne informację i sprawnie przebrnęliśmy przez napisanie naszego programu, zapewne wygląda on podobnie do tego poniżej.

 

Zadanie

Powyższy kod jest dobrym przykładem na podsumowanie niektórych z dotychczas omówionych zagadnień; jednak na jego przykładzie możemy się zastanowić nad tym… czy nie o wiele lepiej zabrzmiał by komunikat mówiący (po spełnieniu określonych wymagań), że: “Twoja waga jest w normie”? Niewątpliwie tak.

Aby tak się więc stało:

1. musimy zrzucić parę kilogramów
2. poznać instrukcje warunkowe

Drugim punktem zajmiemy się już w kolejnym wpisie. Do tego czasu zaś możemy popracować na pierwszym 🙂

Podziel się:

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.