
- •Лекція №2-3
- •План лекції
- •Поняття даного.
- •Поняття даного.
- •Типи даних.
- •Цілі типи даних
- •Дійсні типи даних
- •Логічні типи даних
- •Символьний тип (char)
- •Рядкові типи
- •Вказівний тип
- •Текстовий тип
- •Константи
- •Скалярні змінні
- •Арифметичні вирази
- •Класифікація операцій
- •Арифметичні операції:
- •Арифметичні операції
- •Операції відношення
- •Логічні операції (правила виконання)
- •Логічні операції
- •Порозрядні і зсувні операції
- •Рядкові операції
- •Операції над множинами
- •Операція узяття адреси
- •Стандартні числові функції
- •Арифметичні типи
- •Порядкові типи
Скалярні змінні
Змінна – це об’єкт, який містить поточне значення даних. Їх значення змінюються у процесі виконання програми.
Кожна змінна має ім’я (ідентифікатор), яке використовується для звернення до її поточного значення.
Змінна, що використовується для представлення скалярних даних, називається простою (скалярною) змінною.
Деякі мови програмування, наприклад мова Pascal, вимагають обов’язкового явного описання змінних. Інші мови програмування, наприклад Бейсік, допускають неявний опис змінних, який ще називають описом за замовчуванням.
Явне описання вимагає визначення самим програмістом усіх атрибутів змінної (дійсні, цілі, текстові та ін.). Таке описання, як правило, йде на початку програми, а при блочній структурі програми (такою є програма на мові Pascal) – на початку блоку.
У мові Pascal використовуються чотири типи стандартних скалярних змінних: цілі, дійсні, логічні (boolean) і символьний (char). Інші скалярні типи, відмінні від стандартних, можуть бути введені програмістом.
Арифметичні вирази
У математиці та фізиці послідовність виконання дій з числовими даними визначають формули, наприклад, h=gt2/2, s=vt. Вираз gt2/2 є складовою формули. Йому в алгоритмічних мовах відповідає поняття арифметичного виразу.
Поняття виразу в мові програмування відповідає поняттю математичного виразу. Вираз визначає правило обчислення певного значення і складається із операндів, знаків операцій та круглих дужок. Операндами виразу в загальному випадку можуть бути: константи, змінні, функції.
Найпростіший вираз складається з одного операнду. Прикладами таких виразів є: а – змінна, 5.3 – константа, sin(x) – функція. Приклад більш складного виразу: 3.5+a-sin(x).
Залежно від типу результату обчислення розрізняють такі типи виразів: арифметичні (результат арифметичного типу), логічні (результат логічного типу) та текстові (результат текстового типу).
У арифметичних виразах мови Pascal використовуються такі знаки операцій: + – додавання, – – віднімання, / – ділення, * – множення і т.д.
При записуванні арифметичних виразів необхідно враховувати пріоритетність операцій і дотримуватись таких правил:
-
Вирази записуються у рядок без будь-яких підрядкових або надрядкових знаків. Наприклад, запис 5*(а+b)2 заборонений. Правильним, наприклад, буде такий запис: 5*(a+b)*(a+b).
-
Операції повинні бути задані у явному вигляді. Неправильно писати 5(а+b). Його потрібно записати у такому вигляді: 5*(а+b).
-
Не дозволяється запис двох операцій, що безпосередньо розміщуються одна за одною. Наприклад, вираз а*–b записаний неправильно. Його можна записати, наприклад, так: а*(–b) або –b*а.
-
Операції у виразах виконуються зліва направо у порядку пріоритетності операцій. Спочатку обчислюються значення функцій, потім – множення та ділення, після цього – додавання та віднімання. Операції одного порядку виконуються послідовно зліва направо. Якщо у виразі є круглі дужки, то операції в них виконуються у першу чергу.
-
Кожній дужці, що відкривається, у виразі повинна відповідати дужка, що закривається. Неправильно писати (a+b)*z). Його треба записати у вигляді (a+b)*z або ((a+b)*z).
Якщо операнди виразу відносяться до різних типів даних, то автоматично виконується перетворення цих операндів до одного типу. Наприклад, якщо у виразі а+b число а – ціле десяткове, а число b – дійсне десяткове, то число а буде перетворене до дійсного типу і додавання буде виконуватися над дійсними числами. Результатом виразу буде також дійсне десяткове число.
По кількості операндів операції діляться на унарні і бінарні. Унарні операції мають тільки один операнд, перед яким розташовується символ операції. Більшість операцій є бінарними і містять два операнда, між якими ставиться символ операції.
Порядок обчислення значення, що задає виразом, визначається:
-
пріоритетом операцій;
-
порядком слідування операцій зліва направо;
-
дужками.
По пріоритету всі операції діляться на чотири групи. Операції першого (найвищого) пріоритету виконуються в першу чергу. Операції четвертого (найнижчого) пріоритету виконуються в останню чергу. Операції з рівним пріоритетом виконуються зліва направо. Дужки слугують для зміни звичайного порядку опрацювання операцій. Підвираз в дужках спочатку обчислюється як окремий операнд, а потім його результат використовується для виконання операції поза дужками.
Класифікація операцій по пріоритетах
Пріоритет |
Категорія операції |
Операції |
1 |
Унарні |
+ – not @ |
2 |
Бінарні типу множення, ділення, зсуву |
* / div mod and shl shr |
3 |
Бінарні типу додавання |
+ – or xor |
4 |
Бінарні типу відношення |
= <> < > <= >= in |