Вирази в Turbo Pascal V.7.0

  1. Логічні операції
  2. Логічна операція Not
  3. Логічна операція And
  4. Логічна операція Or
  5. Логічна операція Xor
  6. операції відносини
  7. пріоритет операцій
  8. Тип виразу
  9. Виконання інструкції присвоювання

Вирази визначають правила обчислення деяких значень. Вираз складається з операндів і оператора. Операнди вирази представлені константами і (або) змінними. Оператори, як правило, розташовуються між операндами і позначають дії, які виконуються над операндами. Наведемо в таблиці оператори мови Turbo Pascal і математичні дії, які вони позначають.

константами

Коли записуємо вираз, то прогалини між оператором і операндами ставити не потрібно, виняток становлять оператори div і mod.

зауваження 1

Найбільш простим прикладом вираження є константа і змінна.

Наведемо варіанти різних виразів:

  • 456;
  • 0.111;
  • i;
  • $ N + k / g $;
  • $ Summa * 0.23 $;
  • $ (B1 + b2 + b3) / 10 $;
  • Cena mod 100.

Логічні операції

У середовищі програмування Turbo Pascal, як і в інших середовищах програмування, використовуються логічні аргументи, над якими можна виконати:

  • not - логічне «не» (заперечення);
  • and - логічне «і» (множення);
  • or - логічне «або» (додавання);
  • xor - логічне «виключає або».

Нічого не зрозуміло?

Спробуй звернутися за допомогою до викладачів

Логічна операція Not

Дана операція вживається перед логічної змінної (Виразом). Сенс її полягає в інвертуванні, тобто змінює значення логічної змінної або логічного виразу на протилежне.

Логічна операція And

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

Логічна операція Or

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

Логічна операція Xor

Дана операція виконує об'єднання двох логічних змінних (виразів). Результат виразу буде істинним (true), якщо значення цих змінних (виразів) різні. Інакше вираз буде хибним (false).

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

Результати виконання логічних операцій над змінними, як приклад візьмемо змінні а і b логічного типу, наведені нижче:

операції відносини

До операцій відносини в Turbo Pascal відносяться такі операції, як:

  • "> -" більше;
  • = - одно;
  • - не дорівнює;
  • "> =" - більше або дорівнює;
  • "

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

пріоритет операцій

Кожен оператор в вираженні має свій пріоритет. Пріоритети бувають різні. Вони впливають на порядок виконання операторів. У процесі обчислення значення виразу спочатку будуть виконуватися оператори з більш високим пріоритетом. Якщо оператори в вираженні мають однаковий пріоритет, то спочатку виконається той оператор, який стоїть лівіше.

Для мови Pascal повинен бути таким пріоритет операцій:

  • Унарна операція not, унарний мінус -, взяття адреси @.
  • Операції типу множення: *, /, div, mod, and.
  • Операції типу додавання: +, -, or, xor.
  • Операції відносини: =,,, =, in.

Щоб задати потрібний порядок виконання операцій, необхідно використовувати дужки. наприклад:

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

Тип виразу

Тип виразу визначають типи операндів, які входять до складу виразу. Крім того, він залежить від операцій, що виконуються над операндами.

При визначенні типу виразу необхідно враховувати, що тип константи визначають її видом, а тип змінної задають в інструкції оголошення. Наприклад, константи $ 0, 1 і -512 $ цілого типу (integer), а константи $ 1.0, 0.0, 3.2Е-05 $ - дійсного типу (real).

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

Оператори *, +, -. Якщо хоча б один операнд буде дійсного типу (real), то результат теж буде дійсного типу. Якщо ж обидва операнда матимуть цілочисельний тип (integer), то результат теж буде целочисленного типу.

Оператор /. Результатом завжди буде вираз дійсного типу (real).

Оператори div і mod. Операнди даних операторів завжди повинні мати цілочисельний тип (integer).

Виконання інструкції присвоювання

визначення 1

Інструкція присвоювання - це такий механізм, який використовується в програмуванні, який дозволяє динамічно змінювати зв'язку змінних з їх значеннями.

Етапи виконання інструкції присвоювання:

  • спочатку обчислюється результат виразу, який знаходиться праворуч від символу присвоювання;
  • потім обчислене значення записується в змінну, ім'я якої знаходиться зліва від символу присвоювання.

Наведемо приклади, в яких під час виконання інструкцій отримаємо наступні результати:

  • $ I: = 0 $; - значення змінної i буде рівним 0;
  • $ A: = b + c $; - значенням змінної a буде число, яке дорівнюватиме сумі значень змінних b і c;
  • $ J: = j + 1 $; - значення змінної j збільшується на 1.

Інструкція присвоювання вірна, якщо тип виразу буде відповідати типу змінної або його можна буде привести до нього. Наприклад, змінної дійсного типу (real) можна присвоїти значення виразу дійсного типу (real) або цілочисельного (integer), а змінної цілочисельного типу (integer) можна присвоїти значення виразу тільки целочисленного типу (integer). Так наприклад,

приклад 2

якщо змінні i і n мають цілочисельний тип, а d - дійсний тип, то інструкції:

неправильні, а інструкція d: = i; вірна.

зауваження 2

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

Error 26: Type mismatch.

Нічого не зрозуміло?

Дополнительная информация

rss
Карта