Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Cześć!
- W c++ wyróżniamy 5 podstawowych operacji arytmetycznych, oto one:
- - dodawanie operator +
- - odejmowanie operator -
- - mnożenie operator *
- - dzielenie operator /
- - reszta z dzielenia operator %
- Cztery pierwsze są oczywiste, ale ostatni wymaga krótkiego wyjaśnienia.
- Pamiętasz, jak w pierwszych klasach podstawówki, zanim poznałeś operacje na ułamkach przy dzieleniu zapisywałeś oprócz ilorazu resztę z dzielenia?
- Przykład:
- 12 / 5 = 2 r. 2, bo 2 * 5 + 2 = 12
- 15 / 5 = 3 r. 0, bo 3 * 5 + 0 = 15
- Ok, znasz już operatory, to teraz krótko o tym jak ich używać. Każdy z tych 5 operatorów arytmetycznych* (+, -, *, /, %) przyjmuje 2 argumenty: lewy i prawy.
- Ogólnie:
- w1 - lewy, w2 - prawy
- w1 * w2 = x1
- w1 % w2 = x2
- Przyjmijmy, że w1 = 3 i w2 = 2, wtedy x1 = 6 i x2 = 1
- Proste, prawda?
- Zarówno jako prawy jak i lewy argument może zostać podstawiona zmienna lub wartość, np.:
- zmienna1 = 5;
- zmienna2 = 8;
- 5 + 8 = 13
- 10 + zmienna1 = 15
- zmienna1 + 10 = 15
- zmienna1 + zmienna2 = 13
- Używanie ich jest bardzo proste i intuicyjne :)
- Operatory arytmetyczne są przeładowane, czyli dla różnych typów argumentów zwrócą różne wartości.
- Przykłady do skompilowania:
- int z1 = 3, z2 = 5;
- cout << z2 / z1 << endl;
- double z3 = 3, z4 = 5;
- cout << z4 / z1 << endl;
- Po wykonaniu programu na ekran wypisane zostanie:
- <em>
- 1
- 1.66666
- </em>
- Dzielenie liczby całkowitej przez liczbę całkowitą zwraca wartość całkowitą - końcówka nie jest zaokrąglana, jest ODCINANA! (o zaokrąglaniu powiem w odcinku o bibliotece math.h)
- No dobrze, ale co jeśli będziesz chciał podzielić 10 przez 4 i uzyskać wynik z resztą po przecinku?
- Przecież 10 / 4 = 2...
- Nic prostszego, wystarczy zmienić to na:
- 10.0 / 4 = 2.5
- 10 / 4.0 = 2.5
- 10.0 / 4.0 = 2.5
- Lub użyć rzutowania na typ zmiennoprzecinkowy, ale to opiszę w innym odcinku :)
- Priorytety operatorów są na szczęście takie same jak w matematyce:
- 1) ()
- 2) *, /, %
- 3) +, -
- czyli działanie:
- double wynik = 5+5/4;
- zapisze do zmiennej wynik wartość 6,25, bo 5 + (5/4) = 5+1,25 = 6,25, natomiast
- double wynik = (5+5) / 4;
- zapisze do zmiennej wynik wartość 2,5, bo (5+5) / 4 = 10/4 = 2.5
- W przypadku JAKIEJKOLWIEK niejasności w równaniu dopisz dodatkową parę nawiasów - komputerowi to nie zaszkodzi, a Tobie pomoże nie popełnić błędu w kodzie.
- Jako że programiści bardzo szanują swoje palce i klawiatury, w cpp niektóre działania zapisać można w krótszy sposób.
- Dwa z tych sposobów musisz zapamiętać natychmiast, bo bez nich ani rusz.
- Są to inkrementacja i dekrementacja, czyli kolejno zwiększenie i zmiejszenie o 1.
- Zapisuje się je w następujący sposób:
- zmienna++; (zmienna plus plus)
- zmienna--; (zmienna minus minus)
- oraz
- ++zmienna; (plus plus zmienna)
- --zmienna; (minus minus zmienna)
- ... ale nie będę teraz tłumaczył różnicy między nimi, bo i tak jej narazie nie zrozumiesz.
- Możesz więc przyjąć, że zapis --zmienna jest równoważny zapisowi zmienna--.
- int i = 10;
- cout<<i<<endl;
- i++;
- cout<<i<<endl;
- output dla tego kodu to
- <em>
- 10
- 11
- </em>
- Innym sposobem na skrócenie sobie napisu takiego działania:
- z1 = z1 + 5;
- jest
- z1 += 5;
- Analogicznie dla innych operacji:
- +=
- -=
- *=
- /=
- %=
- czyli
- zmienna [operator złożony] czynniki
- zmienna += 10 + 15;
- jest równoważne z
- zmienna = zmienna + 10 + 15;
- Na dzisiaj to tyle, wyszedł nawet długi odcinek. Ważny niesamowicie, wiedzę z niego trzeba przyswoić jak najszybciej, ale nie powinien być to problem - przecież to wszystko proste, wszystko wykonuje się według schematu.
- Zadanie domowe:
- - Pobaw się operatorami, sprawdź jak działają zapisy typy
- zmienna += 5 * 10;
- - Zapamiętaj, że
- i = i + 1;
- i += 1;
- i++;
- To zapisy równoważne.
- - Napisz program pobierający od użytkownika 1 liczbę całkowitą i wypisujący w następnych linijkach kwadrat i sześcian tej liczby (x^2 i x^3).
- Powodzenia! :)
- Pozdrawiam,
- Glen
- *(to ważne, bo w c++ operatory można przeładowywać! Dlatego 10 + 10 to działanie matematyczne, a "Adaś " + "Miauczyński" to operacja na napisach, tzw. koniunkcja, ale o tym innym razem :) )</em>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement