Лінійні алгоритми та аріфметичні операції
Алгоритмом називається упорядкована послідовність дій (команд), які необхідно виконати для вирішення задачі. Упорядкованість досягається правилом про порядок запису команд.
Існують два способи завдання алгоритму: блок-схемний та програмний (операторний).
Блок-схемний спосіб завдання алгоритму – це графічне зображення алгоритму у вигляді окремих частин – блоків. Кожен блок відповідає окремому етапу розв’язання задачі. Порядок виконання етапів (блоків) задається з’єднувальними лініями або номерами блоків.
Лінійним є процес, в якому команди виконуються послідовно, у порядку їх запису, без розгалужень та повторень.
Оператор присвоєння працює як обчислювальний: спочатку обчислює значення арифметичного виразу (правої частини), а потім – присвоює отримане значення змінній, яка знаходиться ліворуч.
Вираз може складатися з констант, змінних, знаків операцій, круглих дужок та функцій.
Нижче наведені знаки операцій у порядку зниження старшинства їх виконання:
@, Not
*, /, Div, Mod, And, Shl, Shr
+, -, Or, Xor
=, <>, , =, In
Операція @ вживається частіше за все під час роботи з динамічною пам’яттю. При роботі з логічними даними виникає потреба брати протилежне (негативне) значення логічної величини. Для цього застосовують операцію Not.
Знак * визначає операцію множення, а / – операцію ділення. Операції Div та Mod мають справу тільки з цілими операндами. Операція Div обчислює цілу частину частки, а Mod – залишок.
Типове використання операцій And – при роботі з логічними даними. Результат операції буде True тільки в тому випадку, коли обидва операнди мають таке ж значення.
Операндами операції Shl та Shr можуть бути цілі числа. Ці операції забезпечують циклічні зсуви відповідно ліворуч та праворуч двійкових розрядів чисел.
Операція Or реалізує логічну функцію диз’юнкції, її результат True, якщо принаймні один з операндів буде True.
Результатом операції Xor буде True, якщо значення операндів не збігаються, в протилежному випадку – False.
Операндами операції In являються: з одного боку, множина деяких елементів, а з другого, дані, які можуть входити в множину, або ні.
Для запису арифметичних виразів мовою PASCAL використовуються стандартні функції:
ABS(X) – |X| ARCTAN(X) – arctg x
COS(X) – cos x SIN(X) – sin x
EXP(X) – ex LN(X) – ln x
SQR(X) – x 2 SQRT(X) – квадратний корінь
ROUND(X) – функція округлення дійсного числа до найближчого цілого.
ODD(X) – перевіряє парність аргументу. Якщо це парне число, результат функції False, інакше – TRUE.
RANDOM(X) – виробляє випадкове число від 0 до Х.
Приклад. Скласти програму обчислення функції:
Програма:
Var X, Y, Z, B : Real;
Begin
Write(‘Введіть Х :’);
ReadLn(X);
Write(‘Введіть Y :’);
ReadLn(Y);
Write(‘Введіть Z :’);
ReadLn(Z);
B:=SQR(SIN(X))+(SQR(Y)+SIN(SQR(Z))/COS(SQR(Z)))/(Z+EXP(-X));
WriteLn(‘Значення B=’, B);
End.