Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основи програмування Паскаль.docx
Скачиваний:
51
Добавлен:
12.05.2015
Размер:
511.7 Кб
Скачать

3. Арифметичні вирази

Арифметичні вирази (АВ) будуються з операндів, якими можуть бути константи, змінні йстандартні функції. В АВ також входятьарифметичні операціїй круглі дужки. У мові Паскаль визначено 6 арифметичних операцій, перелічимо їх відповідно допріоритету, тобто, старшинством. Операції з однаковим пріоритетом рівноправні між собою й виконуються ліворуч праворуч, як і в математику.

Пріоритет

Знак операції

Опис операції

1

*

множення

/

ділення

div

ділення 2 цілих значень із відкиданням залишку

mod

узяття залишку від ділення 2 цілих значень

2

+

додавання

-

вирахування

Операції div і mod визначені тільки для цілочисельних операндів. Приведемо приклад їх використання:

var y,c,n:integer;

. . .

y:=2006;

c:=y div 100;

n:=y mod 100;

Тут змінна cодержить значення20, аn– значення6.

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

Стандартні функціїслужать для виконання елементарних математичних розрахунків, часто необхідних при написанні програм. Розроблювачі Паскаля прагнули зробити його програмне ядро максимальне компактним, тому в нього не ввійшов ряд функцій, звичайно наявних в інших мовах, таких, як обчислення максимуму й мінімуму, зведення числа в довільний ступінь і Пр. Фізично коди стандартних функцій зберігаються встандартній бібліотеціПаскаля – файлі з іменем TURBO.TPL. Усі функції оформляються однаково: після імені функції випливає її аргумент, укладенийу круглі дужки. Якщо аргументів трохи, вони розділяютьсякомами. Інформацію про основні стандартні функції зручно представити у вигляді таблиці:

Математичний запис

Запис мовою Турбо Паскаль

Пояснення

Тип

аргументу й результату функції

|x|

abs(x)

модуль аргументу x

Integer або Real

x2

sqr(x)

квадрат аргументу x

аргумент – I або R, результат - R

sin x

cos x

arctg x

sin(x)

cos(x)

arctan(x)

Інші тригонометричні функції виражаються через ці

аргумент – I або R, результат – R

ex

ln x

exp(x)

ln(x)

експонента й натуральний логарифм

аргумент - I або R, результат – R

sqrt(x)

квадратний корінь від аргументу x

аргумент - I або R, результат – R

pi

функція без аргументів, поверне число 

R

trunc(x)

функція відкидає дробову частину аргументу, аргумент не округляється

аргумент R, результат I

frac(x)

функція виділяє

дробову частину свого

аргументу

R

round (x)

округлення речовинного числа до найближчого цілого

аргумент R, результат I

Тут x позначає будь-яку підходящу по типу змінну, або результат обчислення вирази відповідного типу (див. нижче), або відповідний по типу результат, обчислений іншої стандартною функцією. Функція pi не має аргументів і повертає число π.

Приклади арифметичних виразів:

1) звести x у п'ятий ступінь

x*x*x*x*xабоsqr(x)*sqr(x)*xабоsqr(sqr(x))*x, останнє показує, що результати одних функцій можуть бути аргументами інших – це називаютьвкладенням функцій. Зрозуміло, типрезультату, що вертається вкладеної функцією, повинен бути підходящимдля аргументузовнішньої функції.

2) звести величину a у довільний ступінь x

Тому що в Паскалі немає функції зведення в довільний ступінь, скористаємося формулою ax=ex*ln a

a:=2.5; x:=0.25;

ax:=exp(x*ln(a));

зверніть увагу, що всі дужки у вираженні повинні бути парними. Або:

=exp(1/3ln(x)).

3) обчислити sin2x=>sqr(sin(x)). Зрівняєте з sin x2=> sin(sqr(x)).

Не можна писати sin*xабоsin x,після імені функції може випливати тільки аргумент у круглих дужках.

4) обчислити k=tg(t). Т.к. функції тангенса в Паскалі ні, пишемо k:=sin(t)/cos(t);

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

обчислити . Правильний запис:y:=(a+b)/2;Неправильноy:=a+b/2, тому що це означає.

5) У записі виразів не можна пропускати знак *, як часто робиться в математику.

b2-4ac ->sqr(b)-4*a*c

Тип виразувизначається старшим з типів вхідних у нього операндів ( тобто стандартних функцій, змінних, констант). Старшинство типів ми можемо визначити по таблиці, як ми пам'ятаємо, у першому рядку таблиці – самий молодший тип.Приклад:

var i,j:integer;

f:real;

. . .

i+4*jцілий тип вирази, можна записати результат у цілую змінну

f+i*0.5речовинний, результат пишеться в речовинну змінну

Операція розподілу / у Паскалі завждидає дійсне число. Для розподілу цілих чисел із цілим результатом (залишок відкидається) використовуйтеdiv, для узяття залишку від розподілу двох цілі –mod.