- •1) Програма. Комп’ютерна програма. Програма, як система.
- •2) Програмне забезпечення. Життєвий цикл.
- •7) Лексичний рівень інкапсуляції. Алфавіт мови. Лексеми. Лексичний аналіз. Лексичний устрій тексту програм.
- •8)Напередвизначені позначення. Позначення, що визначаються.
- •9) Тип, загальні положення.
- •Класифікація напередвизначених типів
- •12) Прості змінні
- •13) Зміна значень програмних об’єктів
- •Оператор присвоювання
- •14) Вираз
- •15) Блок
- •Нумерація, номер і глибина вкладеності блока
- •Мембранний ефект. Регулювання області дії
- •16) Регулювання періоду існування
- •Глобальне розрізнення видимості позначень (імен)
- •17) Суворо типізована мова
- •17, 18) Зведення типів
- •Явне зведення типів
- •Неявне зведення типів
- •Уникнення суворої типізації
- •21) Стратегія динамічного розподілу пам'яті на основі блока
- •22) Стратегія розподілу пам'яті в купі
- •Реалізація стратегії статичного розподілу пам'яті
- •Динамічний розподіл пам'яті на основі блока
- •Динамічний розподіл пам'яті на основі купи.
- •24) Структурна капсула
- •25) Структурні оператори
- •26) Оператори вибору
- •27) Оператор повторення
- •Форма оператора повторення do
- •Форма оператора повторення while
Оператор присвоювання
Опис оператора присвоювання складається з двох частин – лівої від позначення оператора і правої від того самого позначення. Як позначення оператора присвоювання зазвичай використовують символ «:=» (мови Pascal, Аlgol, Аda) або символ «=» (мови С, C++, C#). У лівій частині опису має розміщуватись позначення змінної, значення вмісту якої необхідно змінити в результаті виконання оператора. У правій частині має розміщуватись позначення значення, котре заміщуватиме значення змінної при зміні. Схему оператора присвоювання наведено на рис. 10.1.
Рис. 10.1. Схема оператора присвоювання
14) Вираз
Вираз (expression) - це конструкція, яка утворюється з позначень операцій, позначень програмних об'єктів (літералів, констант, змінних) і значення. Вираз є описом правила обробки значень що містяться у програмних об'єктах, які входять до його складу. У результаті виконання правила утворюється значення. Це значення і є значенням виразу.
Виконання правила обробки, описаного виразом, називається обчисленням виразу. Оскільки, до моменту обчислення виразу не існує значення виразу, то говорять, що вираз виробляє значення в результаті його виконання.
Вираз, таким чином, є позначенням, і після виконання виразу це позначення стає власником значення. Тому вираз є програмним об'єктом поряд із літералом, константою і змінною.
Обчислення виразів
Обчислення виразів залежно від їхнього типу може виконуватись тільки один раз при трансляції або один чи кілька разів при виконанні програми.
Зазвичай у мовах програмування з метою заощадження дужок установлюється пріоритет операцій, який вказує послідовність виконання операцій в виразі. Раніше використовуються операції з більшим пріоритетом.
При обчисленні виразів операції виконуються згідно зі пріоритетом у текстуальному порядку зліва направо. Для зміни того порядку обчислення виразу, який визначається пріоритетом операцій, застосовуються круглі дужки.
Типи виразів
Вирази будемо поділяти на два типи (R, L – вирази) залежно від періоду виконання виразу і на чотири типи – залежно від типу операції, що її використано останньою (арифметичні, відносини, логічні, базові)
Типи виразів
За періодом виконання
R - вирази
L – вирази
По типу останньої операції
Арифметичні
Відношення
Логічні
Базові
R, L - вирази
Для обчислення значень літералів і констант використовується базова операція літерал. Оскільки зв'язок між позначенням літерала (константи) та його значенням безпосередній, то для виконання цієї операції не потрібно виконувати програму, а операцію можна виконати під час трансляції.
Навпаки, для обчислення значення вмісту змінною необхідно виконати дві базові операції (ім'я та розіменування), а зв'язок між ім'ям і вмістом змінної може встановлюватись лише під час виконання програми. Це відмінність у виконанні базових операцій використовується для поділу виразів на два типи – R і L.
R (Right)-вирази - це вирази, для обчислення яких не потрібно виконувати програму, тому їх називають статичними виразами. Вони можуть складатися лише з літералів і констант. Очевидно, що такі вирази можуть обчислюватися під час трансляції або макрогенерації програми й міститися лише у правій частині оператора присвоювання (звідси назва Right).
L (Left)-вирази - це вирази, значення яких формуються під час виконання програми, тому їх називають динамічними. Окрім літералів і констант ці вирази мають містити змінні. L – вирази можуть міститися в лівій частині оператора присвоювання (звідси назва Left).