Поняття використовувані алгоритмічними мовами

Компоненти алгоритмічної мови

Алгоритмічну мову (як і будь-яку іншу мову) утворюють три його складові: алфавіт, синтаксис і семантика.

Алфавіт — це фіксований для даної мови набір основних символів, тобто "букв алфавіту", з яких повинен складатися будь-який текст на цій мові, — ніякі інші символи в тексті не допускаються.

Синтаксис — це правила побудови фраз, що дозволяють визначити, правильно або неправильно написана та або інша фраза. Точніше кажучи, синтаксисом мови є набір правив, що встановлюють, які комбінації символів є осмисленими пропозиціями на цій мові.

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

Кожне поняття алгоритмічної мови має на увазі деяку синтаксичну одиницю (конструкцію) і визначувані нею властивості програмних об'єктів або процесу обробки даних.

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

Основними поняттями в алгоритмічних мовах зазвичай є наступні.

1. Імена (ідентифікатори) — уживаються для позначення об'єктів програми (змінних, масивів, функцій і ін.).

2. Операції. Типи операцій:

· арифметичні операції + , — * , / і ін. ;

· логічні операції і , або , не ;

· операції відношення < , > , <= , >= = , <> ;

· операція зчеплення (інакше, "приєднання", "конкатенації" ) символьних значень один з одним з утворенням одного довгого рядка; зображається знаком "+".

3. Дані — величини, що обробляються програмою. Є три основні види даних: константи, змінні і масиви.

· Константи — це дані, які зафіксовані в тексті програми і не змінюються в процесі її виконання.

Приклади констант:

· числові 7.5 , 12 ;

· логічні так (істина), немає (брехня);

· символьні (містять рівно один символ) "А" , "+" ;

· літерні (містять довільну кількість символів) "a0", "Мир", "" (порожній рядок).

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

· Масиви — послідовності однотипних елементів, число яких фіксоване і яким привласнено одне ім'я. Положення елементу в масиві однозначно визначається його індексами (одним, у разі одновимірного масиву, або декількома, якщо масив багатовимірний). Іноді масиви називають таблицями.

4. Вирази — призначаються для виконання необхідних обчислень, складаються з констант, змінних, покажчиків функцій (наприклад, exp(x)), об'єднаних знаками операцій.

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

Розрізняють вирази арифметичні, логічні і рядкові.

· Арифметичні вирази служать для визначення одного числового значення. Наприклад, (1+sin(x)) /2. Значення цього виразу при x=0 дорівнює 0.5, а при x=p/2 — одиниці.

· Логічні вирази описують деякі умови, які можуть задовольнятися або не задовольнятися. Таким чином, логічний вираз може набувати тільки два значення — "істину" або "брехню" (та чи ні). Розглянемо як приклад логічний вираз x*x + y*y < r*r, що визначає приналежність крапки з координатами (x, у) внутрішньої області круга радіусом r з центром на початку координат. При x=1, y=1, r=2 значення цього виразу — "істина", а при x=2, y=2, r=1 — "брехня".

· Рядкові (літерні) вирази, значеннями яких є тексти. У рядкові вирази можуть входити літерні і рядкові константи, літерні і рядкові змінні, літерні функції, розділені знаками операції зчеплення. Наприклад, А + У означає приєднання рядка В до кінця рядка А . Якщо А = "кущ ", а В = "зелений", те значення виразу А + У є "кущ зелений".

5. Оператори (команди). Оператор — це найбільш крупне і змістовне поняття мови: кожен оператор є закінченою фразою мови і визначає деякий цілком закінчений етап обробки даних. До складу операторів входять:

· ключові слова;

· дані;

· вирази і так далі

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