русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


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


Дата додавання: 2014-11-28; переглядів: 2918.


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

Пріоритет Знак операції Опис операції
* множення
/ ділення
div ділення 2 цілих значень із відкиданням залишку
mod узяття залишку від ділення 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
p pi функція без аргументів, поверне число p 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.

 


<== попередня лекція | наступна лекція ==>
Змінні й типи змінних | Оператор присвоювання


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн