ЗМІСТ:
З формальної точки зору мова програмування – це набір вихідних символів (алфавіт) разом з системою правил утворення з цих символів формальних конструкцій (синтаксис) та системою правил тлумачення (інтерпретації) цих конструкцій (семантика), за допомогою яких описуються алгоритми. Алфавіт, синтаксис та семантика – це три основні складові частини мови програмування.
Синтаксис – це сукупність правил для утворення припустимих конструкцій мови. Граматичні правила мови програмування (основа синтаксису) формулюються чітко і не припускають довільного розташування окремих елементів команди і розділових знаків.
Семантика мови – сукупність правил виконання комп‘ютером команд, записаних мовою програмування. Семантика мови – це смислове значення слів, тобто значення операторів, основних конструкцій мови і т.п.
Алфавіт мови програмування – це набір символів, які дозволяється використовувати при написанні програм і які сприймаються компілятором.
До алфавіту мови програмування, як правило, входять: літери латинського алфавіту, цифри, знаки арифметичних операцій, спеціальні символи, ключові (зарезервовані) слова мови.
У мові Visual Basic при створенні програм можуть використовуватися такі символи:
літери латинського алфавіту A..Z, a..z;
цифри 0..9;
знаки арифметичних операцій, спеціальні символи: + – * / \^ = < > ( ) . , : ; ‗ « @ $ # & _;
комбінації символів: <=, >=, <>;
ключові (зарезервовані) слова, що мають однаковий зміст у будь-якій програмі на Visual Basic, наприклад: Dim, As, If, While тощо.
Ключові слова – це зарезервовані слова, які використовуються в програмі тільки за своїм прямим призначенням. Зарезервовані слова грають важливу роль, надаючи програмі в цілому властивість тексту, написаного природною англійською мовою. Кожне зарезервоване слово несе в собі умовне повідомлення для компілятора, який аналізує текст програми так, як читаємо його ми: зліва направо та зверху вниз).
Для програмної обробки в комп’ютері дані представляються у вигляді величин і їхніх сукупностей.
Величина – це елемент даних з погляду їх семантичного (значеннєвого) змісту або обробки. Семантична розбивка даних відбувається під час постановки завдання й розробки алгоритму її рішення.
Саме над величинами виконуються певні операції. Якщо в процесі виконання алгоритму якась величина не набула значення, кажуть, що дана величина не визначена. У процесі виконання алгоритму значення величини може мінятися: їй присвоюється нове значення, а старе при цьому втрачається.
Змінною називається величина, значення якої може мінятися в процесі виконання алгоритму. У кожний момент часу змінна величина має деяке значення, яке називається поточним значенням.
Вхідні дані – це дані, відомі перед виконанням завдання, з умови.
Вихідні дані – результат рішення завдання.
Також для опису алгоритму використовуються проміжні величини – величини, які додатково вводяться автором алгоритму під час його розробки.
Отже, з поняттям величини зв'язані наступні характеристики (атрибути):
ім'я (ідентифікатор);
тип – безліч припустимих значень і операцій, що можна виконувати із цими значеннями;
значення – динамічна характеристика, може мінятися багаторазово в ході виконання алгоритму. Під час виконання алгоритму в кожен конкретний момент величина має якесь значення або не визначена.
Ім’я (ідентифікатор) величини – це назва змінної або константи, що обирається програмістом. Ідентифікатори мають також інші елементи програми: процедури, функції, типи даних.
Ідентифікатори повинні бути у всіх видів даних, які використовуються в програмі. Це:
змінні,
константи,
функції,
процедури,
файли,
поля записів.
Винятком є числові константи.
При присвоєнні ідентифікатора слід дотримуватися наступних правил:
ім'я повинно починатися з літери;
ім'я не може містити пробіл, крапку, знак оклику, а також символи @, &, $, #;
імена не повинні містити більше 255 символів;
не слід використовувати імена, що збігаються з назвами функцій, інструкцій і методів мови Visual Basic, так як при цьому припиняється виділення в тексті однойменних ключових слів мови;
не можна використовувати одні й ті ж імена змінних, що відрізняються тільки типом;
не допускається використання повторюваних імен на одному рівні області визначення;
регістр значення не має.
У числових константах між цілою і дробовою частинами дробу ставлять крапку.
Значення змінної може багаторазово змінюватися в процесі виконання програми. Для цього застосовують оператор присвоєння.
Тип величини – це множина допустимих значень величини. Тип визначає обсяг пам‘яті, необхідний для збереження величини, та операції, які можна над нею виконувати. Тип величини визначає спосіб використання величини в алгоритмі.
Тип виразу визначається типами вхідних у нього величин, а також виконуваними операціями. У мові Visual Basic тип величини задають заздалегідь, тому всі змінні, що використовуються в програмі, повинні бути оголошені в розділі опису із вказівкою їхнього типу.
У Visual Basic застосовують такі типи даних:
числовий (integer, Long, Single, Double, Currency);
рядковий (String);
типу дата (Date);
логічний (Boolean);
довільний (variant).
У таблиці наведено опис найчастіше використовуваних в Visual Basic типів даних (крім візуальних об‘єктів).
Таблиця 1. Типи даних Visual Basic
Тип даних Variant є універсальним. Змінна цього типу може зберігати будь-який з вище описаних типів даних. Всі необхідні перетворення виконуються при привласненні змінній значення. Об'єм оперативної пам'яті залежить від типу привласненого значення, але не може бути менше 16 байт.
Таблиця 2. Приклади оголошення змінних
Змінну можна оголосити без використання оператора Dim (неявний опис) за допомогою оператора присвоювання: х =- 5.6; у="Іванов".
Після вибору імен і типів змінних треба помістити інформацію по це в проект, тобто потрібно оголосити змінні. Оператор, за допомогою якого оголошується змінна з ім‘ям Ім’я_Змінної типу Тип_Змінної, записується так:
Dim Ім’я_Змінної As Тип_Змінної
де Dіm – це ключове слово, скорочення від Dіmensіon (величина, розмірність),
As − з англійської «як, у якості».
При запуску проекту на виконання компілятор створить всі оголошені змінні, тобто виділить пам‘ять для збереження даних в обсязі, який відповідає вказаному типу.
Приклад. За таким описом:
Dim A As Single, B As Integer буде виділено 4 байти для змінної A та 2 байти для змінної B.
Змінні оголошуються в розділі загальних оголошень (general declaratіons). Змінні, оголошені в розділі загальних оголошень, є глобальними. Вони можуть використовуватися в будь-якій процедурі обробки подій і зберігають свої значення до тих пыр, поки виконується код форми.
Якщо змінна потрібна тільки в коді певної процедури обробки подій, оператор Dіm вміщують після заголовку даної процедури.
Повний синтаксис оголошення змінних:
Public / Private / Dim <ім'я змінної> [As <ім'я типу>]
У квадратні дужки узята необов'язкова частина команди. Знак / замінює слово "або".
Перше ключове слово визначає область видимості змінної:
Public – глобальне (відкрите), доступне всьому додатку;
Private – доступна на рівні модуля форми;
Dim – змінна доступна на рівні модуля форми або тієї процедури, де була оголошена.
Дуже важливою характеристикою змінних є область їх визначення. В Visual Basic є три види областей визначення, які характеризують доступність змінної.
Локальні змінні, які визначаються всередині процедури або функції. Вони доступні тільки всередині цієї процедури. Локально об'явлені змінні при виході з процедури вилучаються з пам'яті, та при новому виклику процедури ініціалізуються заново, їх зміст при цьому не зберігається, що не завжди доцільно. Локальні змінні потрібно описати всередині цієї процедури з ключовим словом Dim.
Змінні контейнера визначаються в секції (General) (Declarations) і доступні тільки всередині відповідного контейнера (форми, модуля або класу).
Глобальні змінні визначаються в секції (General) (Declarations) модуля. При цьому замість оператора Dim використовується зарезервоване слово Public. Глобальні змінні доступні у всіх модулях і процедурах проекту. При запобіганні помилок в програмі і для підвищення її ефективності всі змінні, що використовуються в програмі, повинні бути оголошені із зазначенням типу даних (табл. 1). При оголошенні змінних їм відводиться місце в пам'яті, визначається спосіб зберігання. Тип змінної також може бути визначений за допомогою суфікса.
Сталою величиною (константою) називається величина, значення якої не змінюється в процесі виконання алгоритму.
Приклад. Програму набагато легше зрозуміти, якщо всюди, де потрібне число ≈ 3,14159, написано Pі, а не цифри 3.14159. Якщо на початку процедури написати: const Pі = 3.14159, то при виконанні команди Рrint 2 * Pі комп‘ютер замінить ім‘я Pі вказаним числом і виведе на формі 6.28318.
Якщо в програмі використовується змінна, значення якої ніколи не змінюється, то краще використовувати замість змінної константу. Константа являє собою умовне ім'я, що використовується замість числа, або текстового рядка, що не підлягає зміні. Дія константи схожа з дією змінної, але її значення не може бути змінено в процесі використання програми. Константи оголошуються за допомогою ключового слова Const. Повний синтаксис оголошення:
Public/ Private I Const < ім'я > [ AS < тип > ] = < значення >
Приклад. Const Pi=3.14159
Щоб константа була доступна всім процедурам програми, необхідно створити її в стандартному модулі, записавши ключове слово Public перед описанням константи.
Приклад. Public Const As Single Pi=3.14
Команди мови програмування називають операторами.
Оператор мови програмування – це вказівка комп'ютеру про виконання певної дії.
Оператор – це синтаксична одиниця мови програмування, яка визначає деяку дію. Оператори описують алгоритмічні дії, які повинні виконуватися для вирішення завдання. Кожен оператор може містити:
ключові слова;
змінні;
константи;
вирази.
Оператори можуть бути: простими та структурованими.
Простим оператором є такий оператор, який не містить в собі інших операторів.
Структуровані оператори будуються з інших операторів, порядок виконання яких повинен бути послідовним, визначеним умовної передачею управління (умовні оператори) або повторюваним (оператори циклу).
Зазвичай оператор розташовується на одному рядку, але його можна продовжити на іншому рядку за допомогою символу продовження рядка - знак «_» (підкреслення). Символ продовження повинен передувати пробілу. На одному рядку можна записати декілька операторів, розділяючи їх знаком «:» (двокрапка).
Оператор присвоєння – основний оператор більшості мов програмування, який використовується для надання змінній потрібного значення. У мові Basіс він має вигляд:
Змінна = НовеЗначення,
символ «=» якраз і позначає оператор присвоєння, тобто, дію «присвоїти (надати) значення»;
Змінна – ім‘я змінної або властивості елемента керування;
НовеЗначення – константа, змінна або вираз того ж самого типу, що і Змінна.
Оператор присвоєння діє таким чином: змінній, вказаній в лівій частині оператора присвоєння, присвоюється значення виразу, записаного у правій частині. Ліворуч від оператора присвоєння може бути вказане тільки одне ім‘я змінної або властивості елемента керування.
Приклад.
Нехай значення змінної А дорівнює 3. Тоді після виконання вказівки присвоєння А =А + 1 змінна А отримає значення 4.
Більшість властивостей форм і елементів керування є змінними. Їх значення можна задати в режимі розробки і змінювати в ході виконання програми за допомогою оператора присвоєння.
Для пояснень окремих конструкцій в програмному коді часто використовуються коментарі.
Рядки коментаря починаються зі слова Rem або зі знака «'» (апостроф), далі йде пробіл.
Коментарі можна вставляти в будь-якому місці процедури.
Коли процедура виконується, Visual Basic ігнорує коментарі.
За замовчуванням при виконанні додатка коментар виділяється зеленим кольором.
Також рекомендується взяти до уваги наступні моменти:
оголошення кожної важливої змінної повинно передувати коментарю, що описує її призначення;
імена змінних, елементів управління і процедур повинні бути функціонально зрозумілими, щоб коментарі були потрібні тільки в разі особливо складних деталей реалізації;
коментарі не бажано розташовувати за кодом програми в тому ж рядку.
Вираз – це одиниця програмного коду, яка визначає спосіб обчислення деякого значення. Вирази в мові програмування формуються відповідно з певними правилами з констант і змінних, компонент масивів, полів записів, функцій і знаків операцій.
Запис у тексті програмного коду відрізняється від звичайного математичного запису.
Операції поділяються на:
арифметичні;
логічні;
рядкові.
Розрізняють операції:
унарні – унарний знак плюс «+» перед величиною не змінює її значення; унарний знак мінус «-» перед величиною змінює її знак.
бінарні – в операції беруть участь дві величини, до них відносяться додавання, віднімання, множення, ділення.
Якщо у виразі використовується декілька даних, то їх типи повинні бути ідентичними або сумісними. Наприклад, арифметичні операції можна застосовувати тільки до величин цілих і речових типів.
Найбільш простим способом відстеження дій, запропонованих алгоритмом, є його покрокове виконання.
Для того щоб наочно представляти значення змінних, що змінюються при виконанні алгоритму в складних алгоритмічних структурах, наприклад, циклах, складають трасувальні таблиці, які називають також таблицями значень.
Трасувальні таблиці використовуються для аналізу властивостей алгоритму і перевірки його відповідності розв'язуваній задачі.
Трасувальні таблиці можуть бути двох видів і відображати:
покрокове виконання кожної дії з записом результату в рядок таблиці;
виконання групи дій із записом результатів в один рядок для всієї групи.
Розглянемо складання трасування таблиці першого виду. У заголовку таблиці поміщають імена всіх змінних, які використовуються в алгоритмі. В окремому стовпці записують команди і логічні вираження (умови), які виконуються. Кожен рядок таблиці відповідає одному кроку алгоритму, при якому змінюються значення змінних або виразів.
Як правило, в таблицю заносять тільки ті значення, які отримані на черговому кроці. Якщо значення будь-якої змінної не змінюється, його в таблицю не записують. Мається на увазі, що в змінної знаходиться значення, записане в найближчій зверху рядку відповідного стовпчика.
Приклад: поміняти значення двох змінних A і B. Запишемо команди і результати їх виконання в трасувальні таблицю.
Як видно з таблиці, завдання не вирішена, значення 3, що знаходилося в змінної А, втрачено. Треба його зберегти, перш ніж привласнювати змінної A значення змінної B. Введемо додаткову змінну С. Таку змінну, призначену для тимчасового зберігання значення, називають буферною.
Отримано необхідний результат.
Вирішимо цю ж задачу без використання додаткової змінної.
Завдання вирішено. З цього нескладного прикладу видно, що для одного завдання можна скласти кілька алгоритмів, які відрізняються кількістю використовуваних змінних, команд і операцій.
Сьогодні об’єктно-орієнтоване програмування є найпопулярнішою технологією програмування. В об'єктно-орієнтованому програмуванні основна одиниця – це об'єкт, який містить в собі, інкапсулює, дані (властивості) і засоби (методи) обробки цих даних.
Інкапсуляція – це механізм, який об'єднує дані і методи, що маніпулюють цими даними, і захищає і те й інше від зовнішнього втручання або неправильного використання. Коли методи і дані об'єднуються таким способом, створюється об'єкт. Цей принцип дозволяє захистити змінні від неправильного їх використання. Це істотно обмежує можливість введення об'єкта в неприпустиме стан та / або несанкціоноване руйнування цього об'єкта.
Для застосування деякого набору команд, можливих для даного об'єкта, використовується наступний синтаксис:
<0б'ект>. <метод> = <значення>
Для внесення змін до стану об'єкта слід визначити нові значення його властивостей. У програмному коді для зміни властивостей об'єкта прийнято використовувати наступний синтаксис:
<0б'ект>. <властивість> = значення
Стан об'єкта можна змінити двома способами:
Змінити значення властивостей (Properties), що належать об'єкту; наприклад, для текстового вікна можна змінити його розмір, колір, шрифт і ін.
Застосувати до нього певної дії – методу (Methods), або команди, або операторів, які визначені для даного об'єкта в мові Visual Basic; наприклад, для текстового вікна – очистити його, зробити невидимим.
Таким чином, з кожним об'єктом користувацького інтерфейсу в Visual Basic пов'язаний певний набір властивостей, значення яких можна змінювати, і набір методів – команд впливу на об'єкт, які можна до нього застосувати.
Об'єктно-орієнтоване програмування – це створення додатків з об'єктів. Одні об'єкти доводиться створювати самостійно, інші можна «зібрати» зі різних програмних бібліотек.
Питання для перевірки:
Поясніть синтаксис і схему дії оператора присвоєння. Опишіть схему його виконання.
Назвіть основні характеристики величини.
Що таке тип величини? Назвіть основні типи даних у мові Visual Basic.
Що таке вид величини? Назвіть і охарактеризуйте види величин.
Як відбувається оголошення змінних у мові Visual Basic? Які способи існують для оголошення змінних?
Запишіть оператори оголошення змінних А цілого типу, В логічного типу, С рядкового типу.
Що означає термін «візуальне програмування», або «об'єктно-орієнтоване програмування»?
Які можливості має система програмування Visual Basic?
Що таке інтерпретатор та компілятор? Для чого вони призначені?
Для чого у програмний код вміщують коментарі?
Як додати коментар в рядок програмного коду?
На початку рядка програмного коду стоїть апостроф. Що це означає?
Що таке змінна? Яким чином можна оголосити змінні?
Для чого використовуються ідентифікатори?
Чим константа відрізняється від змінної?
Які області визначення мають змінні?
Як можна визначити до якого типу даних відноситься змінна?
Що таке ініціалізація змінної?
Які оператори та функції ви знаєте для побудови математичних виразів? Наведіть приклади.
Які оператори та функції ви знаєте для побудови логічних виразів? Наведіть приклади.
Чи можна об'єднати математичні та логічні вирази в одне? Наведіть приклади.
Що визначає «правило пріоритету» та як ним користуватися?
Як узгодити в одному виразі значення різних типів?