Zalacznik Cwicz2 PP arytmet logika


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 2011
Załącznik nr 18 zad z pisow wyraz ó i u poziom I
Logika3hand
Logika wykłady
Logika W8 zadania
Logika troch teorii zadania
logika 205
Załącznik 3 Przykłady ćwiczeń relaksacyjnych przy muzyce
Matura Zbiór zadań Język rosyjski PP
polski pp
Załącznik Nr
ks W Zaborski, Pojęcia religijne Persów za Achemenidów [w] PP nr 27, 174
zalacznik nr 2
ks W Zaborski, Pierowtna religia Hindów Prawedyzm [w] PP nr 34
arkusz ang stand PP a

więcej podobnych podstron