Podstawy programowania
Programowanie wyrażeń
1. Operacje arytmetyczne
Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub
dwóch wyrażeń.
W językach programowania są wykorzystywane znaki operacji:
+ dla operacji dodawania,
- dla operacji odejmowania i operacji negacji,
* dla operacji mnożenia,
/ dla operacji dzielenia,
div dla operacji dzielenia całkowitego w języku Object Pascal,
\ dla operacji dzielenia całkowitego w języku Visual Basic,
% dla operacji dzielenia modulo w językach C/C++ i Java,
mod dla operacji dzielenia modulo w języku Object Pascal,
Mod dla operacji dzielenia modulo w języku Visual Basic .NET.
Operacja dzielenia / może mieć w językach programowania różną interpreta-
cję.
W językach C/C++ i Java operacja dzielenia / liczb całkowitych daje w wyniku
iloraz całkowity.
W językach Object Pascal i Visual Basic operacja dzielenia / liczb całkowitych
daje w wyniku liczbę rzeczywistą, która przekształca się do liczby całkowitej według
reguł zaokrąglenia.
Przykładowo, dzielenie 17 / 3 daje w wyniku:
5 w językach C/C++, Java,
6 w językach Object Pascal, Visual Basic.
Aby w języku Visual Basic otrzymać w wyniku iloraz całkowity należy wykorzy-
stać drugi wariant znaku dzielenia - znak \ .
Przykładowo, dzielenie w języku Visual Basic 17 \ 3 daje w wyniku 5 .
Do obliczenia reszty z dzielenia liczb całkowitych są wykorzystywane:
- operator % w językach C/C++ i Java,
- operator mod w języku Object Pascal,
- operator Mod w języku Visual Basic .NET.
Przykłady:
w językach C++ i Java:
int x=17, y=3, w;
w=x%y; //wynik: 2
w języku Visual Basic .NET:
Dim x As Integer = 17
Dim y As Integer = 3
Dim w As Integer
w = x Mod y wynik: 2
W językach C/C++ i Java są specjalne operatory inkrementacji i dekrementacji
o jeden:
- operator dodawania 1 - operator inkrementacji ++ ,
- operator odejmowania 1 - operator dekrementacji -- .
Operatory inkrementacji i dekrementacji mogą być zapisane przed nazwą
zmiennej, na przykład ++x , --y lub poza nazwą zmiennej, na przykład x++ ,
y-- .
Operator "++" lub "--" przed nazwą zmiennej (na przykład, ++x , --y ) nazy-
wamy operatorem przedrostkowym, a operator "++" lub "--" poza nazwą zmiennej (na
przykład, x++ , y-- ) nazywamy operatorem przyrostkowym.
W przypadku operatora przedrostkowego (tj. w wyrażeniu ++x , --y ) wartość
zmiennej jest wykorzystywana po inkrementacji lub dekrementacji, a w przypadku
operatora przyrostkowego (tj. w wyrażeniu x++ , y-- ) przed inkrementacją lub de-
krementacją.
Przykłady:
int x=17, y=3, w;
w=(x++)*y;//wartość x jest wykorzystywana przed inkrementa-
cją
//w=51
w=(y--)+5;//wartość y jest wykorzystywana przed dekrementa-
cją
//w=8
w=(++x)*y;//wartość x jest wykorzystywana po inkrementacji
//w=54
w=(--y)+5;//wartość y jest wykorzystywana po dekrementacji
//w=7
W językach C/C++ i Java można połączyć bazową operację arytmetyczną z
operacją przypisania wartości.
Możliwe są następujące operacje:
+= - przypisanie z sumowaniem,
-= - przypisanie z odejmowaniem,
*= - przypisanie z mnożeniem,
/= - przypisanie z dzieleniem,
%= - przypisanie z dzieleniem modulo.
W języku Visual Basic .NET jest operator potęgowania ^ , którego nie ma w
innych językach.
Na przykład:
Dim x As Integer = 7
Dim y As Integer = 2
Dim w As Double
w = x^y 'wynik: w=49
Wyrażenia jako konstrukcji językowe mogą zawierać stałe, zmienne oraz wywo-
łania podprogramów zwracających wartość (tj. funkcji).
Jeżeli argumenty operacji mają różne typy, to kompilator wykonuję tzw. niejaw-
ne przekształcenie typów według ścisłych reguł. Informacja o niejawnym przekształ-
ceniu typów znajduje się w opisie języka programowania.
2. Operacje porównania
W operacjach porównania wartości mają zastosowanie operatory relacyjne. Wy-
nikiem działania operatora relacyjnego jest wartość logiczna, tj. "prawda" lub "fałsz".
Operatory relacyjne języków C++, Java:
== - operator równości,
!= - operator nierówności,
< - operator mniej ,
> - operator więcej ,
<= - operator nie więcej ,
>= - operator nie mniej .
Operatory relacyjne języków Object Pascal i VB .NET:
= - operator równości,
<> - operator nierówności,
< - operator mniej ,
> - operator więcej ,
<= - operator nie więcej ,
>= - operator nie mniej .
Programowanie wyrażeń
3. Operacje logiczne
Wynikiem operacji logicznej jest wartość prawda / fałsz .
Znaki operacji logicznych języka C++:
&& - znak operacji mnożenia logicznego,
|| - znak operacji sumowania logicznego,
! - znak negacji logicznej.
Przykłady:
int x;
bool w,f;
w = !f && ((x==0) || (x>10));
W języku Visual Basic .NET nie ma znaków dla operacji logicznych.
Wartość typu danych Boolean jest przedstawiona wartością ( 1 lub 0 ) młod-
szego bita. Dlatego operacje logiczne And , Or , Xor , Not są ekwiwalentne ope-
racjom bitowym And , Or , Xor , Not .
Przykłady:
Dim x, y As Integer
Dim w, f As Boolean
w = Not f And ((x=0) Xor (x>10))
4. Operacje bitowe
Wynikiem operacji bitowej jest binarny kod powstający po wykonaniu operacji
między odpowiednimi bitami argumentów operacji.
Wynik operacji bitowej może być interpretowany jako wynik operacji logicznej,
ponieważ dla zmiennych całkowitych niezerowa wartość oznacza prawda , a zerowa
wartość - fałsz .
Do operacji bitowych należą też operacje przesunięć bitowych.
Operacje bitowe języków C++ i Java:
& - znak operacji mnożenia logicznego bitowego,
| - znak operacji sumowania logicznego bitowego,
^ - znak operacji sumy symetrycznej bitowej,
~ - znak negacji logicznej bitowej,
<< - znak przesunięcia bitowego w lewo, tj. w stronę starszych bitów,
>> - znak przesunięcia bitowego w prawo, tj. w stronę młodszych bitów.
W języku Java do tych operacji jest dołączane:
>>> - przesunięcie logiczne w prawo,
>>>= - przypisanie z przesunięciem logicznym w prawo (w kierunku młodszych
cyfr).
Przykłady:
int x;
bool w,f;
x <<= 4;
w = !f && ((x==0) || (x>10));
W językach C/C++ i Java można połączyć bazową operację bitową z operacją
przypisania wartości. Możliwe są następujące operacje:
&= - przypisanie z koniunkcją bitową (iloczynem bitowym),
|= - przypisanie z alternatywą bitową (sumą bitową),
^= - przypisanie z różnicą symetryczną bitową.
W językach C/C++ i Java można połączyć bazową operację przesunięcia bito-
wego z operacją przypisania wartości. Możliwe są następujące operacje:
<<= - przypisanie z przesunięciem w lewo ( w kierunku starszych cyfr),
>>= - przypisanie z przesunięciem arytmetycznym w prawo.
Znaki operacji bitowych języka Visual Basic .NET:
And - znak operacji mnożenia logicznego bitowego,
Or - znak operacji sumowania logicznego bitowego,
Xor - znak operacji sumy symetrycznej bitowej,
Not - znak negacji logicznej bitowej,
<< - znak przesunięcia bitowego w lewo, tj. w stronę star-
szych bitów,
>> - znak przesunięcia bitowego w prawo, tj. w stronę młod-
szych bitów.
Przykłady:
Dim x, y As Integer
Dim w, f As Boolean
w = Not f And ((x=0) Xor (x>10))
y = Not x
y <<= 4
Wartość typu danych Boolean jest przedstawiona wartością ( 1 lub 0 ) młod-
szego bita. Dlatego operacje bitowe And , Or , Xor , Not są ekwiwalentne opera-
cjom logicznym.
Wyszukiwarka
Podobne podstrony:
pp pg zalacznik 8 deklaracje podatkowa za rok 2011Załącznik nr 18 zad z pisow wyraz ó i u poziom ILogika3handLogika wykładyLogika W8 zadaniaLogika troch teorii zadanialogika 205Załącznik 3 Przykłady ćwiczeń relaksacyjnych przy muzyceMatura Zbiór zadań Język rosyjski PPpolski ppZałącznik Nrks W Zaborski, Pojęcia religijne Persów za Achemenidów [w] PP nr 27, 174zalacznik nr 2ks W Zaborski, Pierowtna religia Hindów Prawedyzm [w] PP nr 34arkusz ang stand PP awięcej podobnych podstron