Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
R4_КП_12.doc
Скачиваний:
8
Добавлен:
23.11.2018
Размер:
605.18 Кб
Скачать

Оператори

Одним із найбільш змістовних понять мови програмування є поняття оператора.

Оператор - це синтаксична конструкція, яка задає певну базову алгоритмічну конструкцію. Кожен оператор представляє собою закінчену фразу мови і визначає деякий закінчений етап обробки даних.

Оператори і є тією множиною, за допомогою елементів якої структурно задається алфавітне відображення засобами цієї мови, тобто формулюється алгоритм.

Послідовність виконуваних дій називають обчислювальним процесом. У цій послідовності можна умовно виділити три типи управління черговістю дій:

  • слідування, при якому дії виконуються відповідно до порядку їх слідування в тексті програми (такий процес назиивають послідовним або лінійним);

  • розгалужений процес, що відповідає прийняттю рішення, при якому послідовність дій визначається деякою умовою;

  • циклічний процес, який передбачає повторення однієї і тієї ж дії або групи дій.

Відповідно у мовах програмування використовується декілька типів операторів, кожен із яких має певне призначення.

Всі оператори можна розбити на дві групи:

  • основні оператори, які не містять інших операторів;

  • похідні оператори - в склад яких входять інші оператори.

В записі алгоритму можуть використовуватися послідовності із цих операторів, без обмежень на їх кількість.

Оператори відділяються один від одного певним роздільником. У багатьох алгоритмічних мовах програмування, зокрема, Pascal, ним є символ «;».

Оператори, зазвичай, виконуються послідовно у тому порядку, в якому вони вказані в тексті програми.

Оператори реалізації послідовного процесу

Оператор присвоєння. Загалом, вирішення будь-якої задачі представляє собою процес отримання по певним правилам із вхідних даних деяких нових даних. Правила отримання нових даних задаються за допомогою виразів.

Один із типів операторів - оператор присвоєння – як раз і служить для задання правил обчислення нового значення за допомогою виразу, що міститься в цьому операторі, із запам’ятовуванням результата в якості значення деякої змінної.

У Pascal оператор присвоєння має наступний формат:

змінна : = вираз .

Він вказує обчислити заданий праворуч вираз і присвоїти отриманий результат зазначеній ліворуч змінній. Наприклад,

a : = 9 ;

b : = a / 3 + a ;

s := ‘A’ ;

Формалізація оператора присвоєння в термінах РБНФ для мови С:

оператор_ присвоєння::=змінна = вираз {= вираз}.

Відповідно, формат оператора присвоєння для мови С:

змінна = вираз_1 = … = вираз_n

Наприклад,

f = x / Sin(y);

a = d = v = 5;

 У Pascal не можна за допомогою одного оператора присвоювання присвоїти одне і теж значення декільком змінним.

У мові С можуть також використовуватися оператори скороченого присвоєння, наведені у табл. 12.

Таблиця 12. Оператори скороченого присвоєння мови С

Операції присвоєння (скороченого присвоєння)

+=

Присвоєння суми чисел

a+=b

a=a+b. Короткі числа перетворюються у довгі із збереженням значення, довгі у короткі – із втратою старших бітів. Дійсні числа перетворюються в цілі з відкиданням дробової частини.

%=

Присвоєння остачі ділення

a%=b

a=a%b. Остача визначається тільки при діленні цілих чисел.

-=

Присвоєння різниці чисел

a-a-=b

a= a-b

*=

Присвоєння добутку чисел

a*=b

a=a*b

/=

Присвоєння частки від ділення

a/=b

a=a/b

>>=

Присвоєння із зсувом вправо

a>>=b

<<=

Присвоєння із зсувом вліво

a<<=b

&=

Присвоєння бітової кон’юнкції

a&=b

|=

Присвоєння бітової диз'юнкції

a|=b

^=

Присвоєння значення операції «виключаюче АБО»

a^=b

У випадку довгих виразів рекомендується розчленовувати їх на більш прості, особливо, якщо отримані підвирази повторюються в основному виразі. Обчислення підвиразів в окремих операторах до того ж спрощує перевірку роботи програми.

Складений оператор. Для однозначного розуміння програми часто потрібно, щоб в тому чи іншому місці синтаксичної конструкції фігурував один оператор, тоді як семантика (логіка) програми вимагає задання у цьому місці декількох операторів.

Для вирішення виникаючого у такому випадку конфлікту між синтаксисом мови і реальною потребою програми служить складений оператор, який поєднує послідовність операторів у єдине ціле, інтерпретуючи їх як один оператор.

Синтаксично він складається з послідовності операторів, вкладених в операторні дужки begin - end. Його формат для Pascal:

begin

<оператор 1>;

. . .

<оператор n>;

end;

Формалізація в терминах РБНФ:

складений оператор:: = begin оператор{; оператор}end.

Виконання складеного оператора зводиться до послідовного - у порядку їхнього написання - виконання вкладених у нього операторів.

Наприклад,

begin

f := x / y;

writeln (‘f =’, f);

end ;

Формат складеного оператора для С:

{ оператор_1;

...

оператор_n;

};

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]