10. Operatory arytmetyczne, Programowanie, Klasa III


Operatory arytmetyczne

nazwa

symbol

dodawanie

+

odejmowanie

-

mnożenie

*

dzielenie

/

podstawienie

=

pre-inkrementacja

++x

pre-dekrementacja

--x

post-inkrementacja

x++

post-dekrementacja

x--

dzielenie modulo

%

operator + to operator służący dodawania do siebie dwóch wartości stojących po obu stronach tego operatora.

  1. 3 + 5;

  2. zmienna + 6;

  3. zmienna + zmienna;

operator - działa analogicznie jak jego poprzednik, tyle że w drugą stronę... Od wartości leżącej po lewej stronie operatora zostaje odjęta wartości stojąca po jego prawej stronie.

  1. 9 - 1;

  2. zmienna - 15;

  3. zmienna - zmienna;

operator * jest również operatorem dwu-argumentowym i mnoży dwie wartości znajdujące się po jego obu stronach.

  1. 1 * 3;

  2. zmienna * 4;

  3. zmienna * zmienna;

operator / jest odwrotnością poprzednika i powoduje podzielenie wartości stojącej po jego lewej stronie przez wartość będącą po stronie prawej.

  1. 2 / 5;

  2. zmienna / 51;

  3. zmienna / zmienna;

operator = działa nieco inaczej niż operatory wspomniane wcześniej. Służy on do przypisania wartości leżącej po jego prawej stronie do wartości [tutaj zmiennej] stojącej po stronie lewej.

  1. zmienna = 5;

  2. zmienna = zmienna;

  3. //34 = zmienna;

Dotychczas można było stosować po obu stronach operatów zarówno zmienne jak i wartości. W przypadku operatora przypisania tej swobody nie ma. Zmienne mogą wystąpić po obu stronach, lecz wartości tylko po prawej. Ma to sens. Bo przecież co miałby oznaczać zapis: 34 = zmienna. Sam widzisz, że jest to dość dziwaczne. Kompilator też to zauważa i zgłasza błąd. Pozostałe operatory:

operator ++ to operator inkrementacji, czyli zwiększania o jeden. Operator ten występuje
w dwóch wersjach:

  1. zmienna++; //post-inkrementacja

  2. ++zmienna; //pre-inkrementacja

Oba powyższe zapisy powodują zwiększenie o jeden wartości zmiennej. Jest jednak pewna subtelna różnica, mianowicie postinkrementacja zwraca wartość sprzed modyfikacji, a preinkrementacja po zmodyfikowaniu. Przyjmijmy, że oba zapisy są równoznaczne z: zmienna = zmienna + 1. Skoro jest zwiększanie o jeden to powinno też być zmniejszanie o tę wartość. Oczywiście jest. Nazywa się dekrementacja.

operator -- jest operatorem dekrementacji, czyli zmniejszania o jeden. Tutaj też wyróżniamy dwie wersje:

  1. zmienna--; //post-dekrementacja

  2. --zmienna; //pre-dekrementacja

Analogicznie jak wyżej. Tyle, że tutaj zmniejszamy o jeden wartość zmiennej. A zatem powyższe zapisy są uproszczeniem: zmienna = zmienna - 1.

Jak zapewne zdążyłeś się zorientować powyższe cztery operatory zostały wprowadzone do języka, aby ułatwić programowanie. Jeśli są dla Ciebie nie jasne to możesz ich wcale nie używać. Dobrym przykładem na to jest fakt, iż w innych językach nie ma operatorów inkrementacji i dekrementacji.

Teraz będzie operator, którego działania pewnie nie znasz jeśli wcześniej nie miałeś styczności z programowaniem. Mowa o dzieleniu modulo. A co to takiego? Sprawa jest prostsza, niż się wydaje.

operator % zwraca resztę z dzielenia. Chyba najlepiej jest to wyjaśnić na przykładzie:

  1. 10 % 3; // = 1

  2. 20 % 5; // = 0

  3. 30 % 6; // = 0

  4. 32 % 5; // = 2

Zacznijmy od pierwszego wyrażenia. Działa to tak. Jeśli podzielimy 10 przez 3 to otrzymamy 3.(33). Oznacza to, że liczba 3 mieści się w całości w liczbie 10 trzy razy. W całości, bo zostaje jeszcze reszta, która przy normalnym dzieleniu wynosi 0.33. Nas jednak nie interesuje zwykłe dzielenie. Zauważ, że gdy dodasz do siebie powstałe trzy liczby 3 to wyjdzie liczba 9. Zatem do okrągłej 10 brakuje 1. No i mamy rozwiązanie. Teraz jest bardzo prosto. 20 podzielone na 5 to równe 4. Więc reszty nie ma, zatem wynikiem jest 0. Analogicznie wygląda sytuacja w trzecim przypadku. Nieco ciekawiej jest na końcu. Jak podzielisz 32 przez 5 to otrzymasz dokładnie 6.4. Już wiemy, że w liczbie 32 liczba 5 mieści się w całości 6 razy. Teraz wystarczy pomnożyć ilość wystąpień liczby 5 w liczbie 32 przez wspomnianą 5. Zaem mamy prosty rachunek 5 * 6. W wyniku otrzymamy 30. Następnie trzeba wykonać proste odejmowanie liczby 30 od liczby 32. Tym oto sposobem otrzymaliśmy liczbę 2, która jest resztą z dzielenia modulo.



Wyszukiwarka

Podobne podstrony:
11. Operatory relacji, Programowanie, Klasa III
2013.04.10 - 3a1 - kartk, Programowanie, Klasa III
12. Operatory logiczne, Programowanie, Klasa III
23 - Funkcje, Programowanie, Klasa III
26.5 Klasy - dziedziczenie, Programowanie, Klasa III
16a. Petla do while, Programowanie, Klasa III
26.1 Klasy w C++, Programowanie, Klasa III
25.1 Struktury w C++, Programowanie, Klasa III
27.2 wskazniki - zadania, Programowanie, Klasa III
22 Procedury, Programowanie, Klasa III
15.1. Konsola + przestrzenie nazw, Programowanie, Klasa III
27.4 - zadanie, Programowanie, Klasa III
23 - Funkcje, Programowanie, Klasa III
KLASA III - PROGRAM KOLA PRZYRODNICZEGO semestr 1, Klub Miłośników Przyrody - kółko przyrodnicze kla
2006 10 Szkoła konstruktorów klasa III
Program dla elektrotechniki I-stopień- K Ciesielska 06-10-2013, Politechnika Poznańska, 2 rok, III,
Rachunkowosc finansowa II - 10 h UG nst - program, Zarządzanie UG, Sem. III
09. Operatory, Programowanie, Klasa II
KLASA III - PROGRAM KOLA PRZYRODNICZEGO semestr 1, Klub Miłośników Przyrody - kółko przyrodnicze kla

więcej podobnych podstron