![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Значення змінної — це дані, що зберігаються й обробляються комп'ютером (точніше, системою Visual Basic). Зберігаються й обробляються дані по різному. Це залежить від того, до якого типу вони належать.
Типом даних називається спосіб збереження і представлення даних у комп'ютерній системі.
Наприклад, дані являють собою додатні чи від'ємні цілі числа в межах від -215до +215. Очевидно, що для збереження кожного такого числа необхідно 16 бітових комірок пам'яті (15 біт необхідно для збереження модуля числа і 1 біт — для збереження знака числа) чи два байтові осередки (нагадаємо, що в одному байті міститься 8 біт інформації). Такий тип даних у мові Visual Basic (і не тільки в ньому!) називається типом Integer (Ціле число).
В залежності від того, значення якого типу може приймати змінна, визначається тип самої змінної.
У мові VisualBasic 6 змінна може мати один з більш ніж десяти типів. Ми розглянемо лише частину з них, тільки ті, котрі найчастіше вживаються.
Коротке невід’ємне ціле число (Byte). Число (значення змінної цього типу) займає 1 байт пам'яті
Ціле число (Integer). Значення змінної цього типу займає 2 байти пам'яті.
Довге ціле число (Long). Значення змінної цього типу займає 4 байти пам'яті.
Десяткове число звичайної точності (Single). Значення займає 4 байти пам'яті.
Десяткове число подвійної точності (Double).Значення займає 8 байт пам'яті.
Рядок (String). Займана пам'ять лінійно залежить від числа символів у рядку.
Довільне значення (Variant). Власне кажучи, тип Variant типом як таким не є. Змінна цього «типу» може мати будь-який тип! Але за це треба платити дорогу ціну — обсяг пам'яті, займаної значенням цього типу буває різним, але не менше 16 байт!
Змінні перших п'яти типів називають числовими змінними. Обговоримо їх докладніше. У яких межах можуть мінятися їхні значення? Відповідь на це питання така:
для типу Byte: від 0 до 255;
для типу Integer: від -32768 до 32767;
для типу Long: від -2147483648 до 2147483647;
для типу Single: від 1.401298E-45 до 3.402823E+38 (по модулю);
для типу Double: від 4.94065645841247E-324 до 1.79769313486232E+308 (по модулю).
Слова «по модулю» означають, що якщо число від’ємне, то після відкидання знака «мінус» воно теж повинно знаходитися в зазначених межах.
У Вас може викликати здивування «дивний» запис десяткового числа з використанням букви E. У шкільній математиці таке позначення не використовується. В інформатиці так записують дуже маленькі, чи дуже великі десяткові числа. Наприклад, число 0.000005 записується як 5E-6, a число 47000000000 записується як 4.7E+10.
Змінну типу Рядок (String) по-іншому називають змінною рядкового типу, a також нечисловою чи текстовою змінною.
Значенням змінної цього типу є рядок будь-яких символів, довжина якого (звичайно, тільки в принципі) може досягати двох мільярдів. (На практиці рядків такої великої довжини, звичайно, не буває.) Ліворуч і праворуч рядок обрамляється лапками, наприклад:
"Visual Basic — кращий засіб програмування в середовищі Windows"
" @ # $ % &! — символи, використовувані як суфікси змінних"
Hові поняття:
змінна, ім'я (ідентифікатор) змінної, значення змінної, синтаксична конструкція, ключове слово, тип даних, тип змінної, числова змінна, текстова (нечислова) змінна.
Питання для роздумів
Розглянемо 4 рядки символів 2A, Cat_3, КолірветДахуБудинку, School.l741, Private. Які з них є неприпустимими іменами змінних у мові Visual Basic?
Нехай min — мінімальне значення змінної типу Double, a max — максимальне значення змінної типу Double. Яке число менше: min чи 1/max?
Як Ви думаєте, чи можна за значенням змінної судити про її тип?
3.2. Оголошення типу змінної в програмі
Оголошення типу змінної означає наказ встановити границі значень змінної, котрі визначаються її типом. Хто і кому віддає цей наказ? Наказ віддає програміст комп'ютерній системі (у нашому випадку — системі програмування Visual Basic). Наказ записується за допомогою програмного коду.
Відзначимо, що тип змінної можна взагалі не повідомляти! У цьому випадку він буде встановлений самою системою за замовчуванням. У мові Visual Basic, якщо тип змінної програмістом не оголошувався, за замовчуванням він приймається за Variant.
Але зовсім не піклуватися про те, який тип за замовчуванням буде привласнений Вашій змінній, нерозумно. Це може привести до повільної, неефективної роботи Вашої програми, нераціональному використанню пам'яті, а іноді — до помилок у роботі Вашого додатка! Тому «гарним тоном» у програмуванні вважається обов'язкове оголошення типу кожної змінної. У системі проектування Visual Basic 6 є можливість зробити оголошення всіх змінних обов'язковим. Про цю можливість розказано в розд. 3.4.
Оголосити тип створеної Вами змінної можна різними способами. Але ми. розглянемо лише один з них — найпоширеніший — за допомогою оператора визначення змінної. Ще два способи визначення типу (за допомогою суфікса і за допомогою оператора оголошення типу Def...) приведені наприкінці даної глави — у розд. 3.4.
Що таке оператор у мові програмування і що таке його синтаксис (правило запису на цій мові), Ви довідаєтеся в наступному розділі даної глави. А зараз сприймайте ці поняття інтуїтивно — покладаючись на свій здоровий глузд.
Оператор визначення змінної записується за допомогою рядка програмного коду. Цей рядок записується на початку тексту програмного коду (Що значить «на початку програмного коду»? Якщо змінна використовується тільки в одній процедурі, то рядок з її оголошенням записується першим усередині цієї процедури. Якщо ж змінна використовується в декількох процедурах, то рядок з її оголошенням записується до першого рядка першої процедури — у Загальній частині програми, що має ім'я (General) (див. розд. ІІ1.5).) і має наступний синтаксис:
Dim Ім’яЗмінної [AsТипЗмінної] |
Dim, As — це ключові слова мови Visual Basic, за допомогою яких записується даний оператор. Призначення цього оператора — оголосити змінну, тобто задати її ім'я і її тип.
Ім’яЗмінної (природно, без суфікса) створюється за правилами розд. 3.1.
ТипЗмінної — одне з перерахованих вище ключових слів — назв типів (Integer, Long і т.д.).
Прямокутні дужки [ ] використовуються для обрамлення конструкцій, що можуть бути відсутніми.
Приклад 3.1
Dim My_name As String Dim My_book |
Замість конструкції: «Ім’яЗмінної As ТипЗмінної» після слова Dim можна через кому записати кілька таких конструкцій.
Приклад 3.2
DimXAs Single, ЧислоВорон As Integer, Пі As Double Dim Франція, Німеччина, Норвегія |
Особливо відзначимо оголошення типу String. Значенням змінної цього типу може бути рядок довільної чи фіксованої довжини (Використання змінних типу String фіксованої довжини часто буває кращим, тому що обсяг пам'яті, що займається значенням такої змінної, у точності дорівнює зафіксованій довжині в байтах, а обсяг пам'яті, що займається рядком довільної довжини, дорівнює її довжині в байтах плюс 10 байт). У другому випадку після ключового слова String у рядку оператора можна вказати, яка буде фіксована довжина рядка — значення цієї змінної. Робиться це так:
Dim Ім’яЗмінної As String* ДовжинаРядка |
Приклад 3.3
Dim НомерТелефона As String* 12 |
Значенням змінної НомерТелефона є рядок (текст) фіксованої довжини (12 символів). Наприклад: "(095)9004567" чи "900-45-67". (Зверніть увагу на те, що якщо рядок складається з меншого числа символів, ніж у другому випадку, — Visual Basic автоматично припише до цього рядка необхідне число пробілів праворуч.) Варто враховувати, що пробіл — це теж символ!
Hові поняття:
оголошення типу змінної, установка типу за замовчуванням, оператор визначення змінної, рядок довільної довжини, рядок фіксованої довжини.
Питання для роздумів
Як Ви думаєте, чому оголошення типу змінної може заощадити пам'ять комп'ютера?
Який обсяг пам'яті можна заощадити, оголосивши змінну НомерТелефона так, як у прикладі 3.3, якщо програма буде мати справу одночасно з 10 тисячами номерів телефону, кожний з який складається з 7 символів?
Який із способів оголошення змінної типу String (з фіксованою чи з довільною довжиною), на Ваш погляд, найбільше підходить для перемінної Прізвище, якщо максимально можлива довжина прізвища повинна складати 30 символів, а програма буде мати справу одночасно з 10 тисячами прізвищ?
Дата публикования: 2014-12-28; Прочитано: 763 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!