Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы по программированию / Osnovy_programir_zadania.doc
Скачиваний:
38
Добавлен:
03.03.2016
Размер:
2.78 Mб
Скачать
      1. Операції

Для задання дій над даними служать операції.

В мові Рascal визначені наступні основні операції (табл. 1.2):

Таблиця 1.2. Операції мови Рascal

Знак

Дія

Приклад

Особливості

Арифметичні операції

-

інверсія

-a

зміна знака числа

+

додавання

a+b

-

віднімання

a-b

*

множення

a*b

/

ділення

a/b

div

цілочисельне ділення (ціла частина результату)

11 div 5 = 2

mod

ділення із залишком (залишок від ділення )

11 mod 5 = 1

Операції порівняння

=

дорівнює

a=b

<>

не дорівнює

a<>b

<

менше

a<b

>

більше

a>b

<=

не більше

a<=b

>=

не менше

a>=b

Логічні операції

not

логічне заперечення

not a

результат протилежний значенню операнда

and

логічне "і" (кон’юнкція)

a and b

перевірка істиності обох операндів

or

логічне "або" (диз'юнкція)

a or b

перевірка істиності хоча б одного операнда

xor

логічне виключаюче "або"

a xor b

перевірка нерівності / рівності операндів (результат істина, якщо операнди нерівні, і хибність - у противному випадку)

Операції зсуву

shr

зсув вправо на задане число бітів

a shr b

здвиг вправо на один розряд зменшує число в 2 рази

(00000111 shr 1 = 00000011)

shl

зсув вліво на задане число бітів

5 shl 2=20

здвиг вліво на один розряд збільшує число в 2 рази, оскільки кожен i-й розряд має вагу 2i (00000111 shl 1 = 00001110)

Символьні операції

+

конкатенація

’A’+’B’

об’єднання символів

Пріоритети операцій (табл. 1.3):

Таблиця 1.3. Пріоритети операцій мови Рascal

Пріоритет

Операції

перший (найвищий)

+ (конкатенація) - (унарний) not

другий

* / div mod and

третій

+ - or xor

четвертий

= <> < > <= >=

В мові С++ визначені наступні основні операції (табл. 1.4):

Таблиця 1.4. Операції мови С++

Знак

Дія

Приклад

Особливості

Арифметичні операції

+

додавання

a+b

-

віднімання

a-b

*

множення

a*b

/

ділення

5 / 2 = 2

5./2=2.5

результат ділення цілих чисел - ціле число (дробова частина відкидається); результат ділення дійсних чисел – дійсне число

%

остача при діленні цілих чисел

a%b

знак остачі збігається із знаком дільника

-

унарний мінус

-a

зміна знака числа

Логічні операції

&&

І (логічне множення)

a&&b

результат істина (типу int), якщо всі операнди істині

||

АБО (логічне додавання)

a||b

результат істина, якщо хоча б один з операндів - істина

!

НЕ (логічне заперечення)

!a

результат протилежний значенню операнда

Операції відношення (порівняння)

==

дорівнює

a==b

результат типу int (0 - при невиконанні умови порівняння, 1 - при виконанні)

!=

не дорівнює

a!=b

>

більше

a>b

<

менше

a<b

>=

не менше

a>=b

<=

не більше

a<=b

Бітові операції

&

І (кон’юнкція)

3&2=5

1&1=1, 0&1=0,

1&0=0, 0&0=0

|

АБО (диз'юнкція)

3|2=3

1|1=1, 0|1=1,

1|0=0, 0|0=0

^

виключаюче АБО

3^2=1

1^1=0, 0^1=1,

1^0=1, 0^0=0

~

доповнення (заперечення бітів)

~6=-7

Операції зсуву

<<

зсув вліво на задане число бітів

a<<b

зсув бітів у числі а ліворуч на b позицій; результат буде того ж типу, що і а (b не може бути від’ємним або більшим за а). Здвиг вліво на 1 розряд збільшує число в 2 рази, оскільки кожен i-й розряд має вагу 2i (00000111<<1 = 00001110)

>>

зсув вправо на задане число бітів

a>>b

зсув бітів у числі а праворуч на b позицій; результат буде того ж типу, що і а (b не може бути від’ємним або більшим, ніж а). Здвиг вправо на 1 розряд зменшує число в 2 рази (00000111>>1 = 00000011)

Операції приросту та спаду

++,

--

префіксне додавання, віднімання

++a,

--а

спочатку значення змінної збільшується (зменшується) на 1, потім використовується (b=++a => a=a+1; b=a)

++,

--

постфіксний додавання, віднімання

а++,

а--

спочатку значення змінної використовується, а потім збільшується (зменшується) на 1 (b=a++ => b=a; a=a+1)

Пріоритети операцій мови С++ (табл. 1.5):

Таблиця 1.5. Пріоритети операцій мови С++

Пріоритет

Операції

Типи операції

перший (вищий)

~ ++ -- + -

унарні

* / %

мультиплікативні

+ -

адитивні

<< >>

зсуву

< <= > >=

відношення

== !=

відношення (рівність)

&

порозрядне “і”

^

порозрядне виключає або

|

порозрядне “або”

&&

логічне “і”

||

логічне “або”

Соседние файлы в папке Лабы по программированию