Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Присвоєння змінній значення



Для присвоєння змінній деякого значення використовується оператор присвоювання.

Насамперед давайте розберемося, що таке оператор взагалі, а вже потім — що таке оператор присвоювання.

Поняття оператора є одним з основних у мовах програмування операторного типу. (У дужках помітимо, що далеко не всі мови програмування відносяться до цього типу: прикладом можуть служити неоператорні мови Лисп і Пролог.)

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

Оператор — це така синтаксична одиниця мови програмування, що використовується в програмі для виконання окремого розпорядження.

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

Алгоритмічні оператори — це такі оператори, що використовуються для організації послідовності виконуваних виконавцем дій. Найважливіші з них — оператори безумовних переходів, умовні оператори, оператори циклів.

Функціональні оператори — це вбудовані в мову функції і процедури, за допомогою яких виробляються важливі і розповсюджені дії, такі, як введення і виведення даних, розповсюджені математичні дії над числами і багато чого іншого.

Будь-яка програма складається з послідовності операторів, що записуються у відповідності зі строгими синтаксичними правилами (як речення в російській, англійській чи будь-якій іншій природній, людській мові). Треба сказати, що синтаксис мов програмування набагато строгіший, ніж синтаксис природних мов: люди у своїй мові чи на листі частенько помиляються, і це їм сходить з рук, а комп'ютер абсолютно не терпить синтаксичних помилок!

Оператор присвоювання — один з перших операторів, що нами має бути розглянутим.

Синтаксичне правило (чи просто синтаксис) (У розд. 3.2 ми вже розглядали одне синтаксичне правило — для оператора Dim) для цього оператора виглядає так:

[Let] Ім’яЗмінної = ЗначенняЗмінної

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

Напівжирним шрифтом у правилах синтаксису ми будемо виділяти ключові слова, зокрема, імена операторів. Перша буква ключового слова — прописна, інші — рядкові.

Курсивом у синтаксичних правилах ми будемо виділяти імена, параметри й інші змінювані конструкції.

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

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

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

Наступні два приклади — це маленькі фрагменти дійсного програмного коду, роботу якого можна перевірити в середовищі програмування Visual Basic.

Приклад 3.4. Наступні оператори присвоювання являються правильними і будуть виконані:

Код 3.1
DimVar1 As Integer, Var2 As Long DimVar3 As Single, Var4 As Double Var1 = 32000 Var2 =-2000000000 Var3 = 9E-30 Var4 = Var3

Приклад 3.5. Перший з наступних операторів присвоювання буде виконаний, а 3 наступних виконані не будуть, тому що всі 3 значення виходять за припустимий діапазон:

Код 3.2
DimVar1 As Integer, Var2 As Long Dim Var3 As Single, Var4 As Double Var4 = 9E-300 Var1 = 33000 Var2 =-3000000000 Var3 = Var4

Між іншим, Visual Basic дозволяє робити запис програмного коду більш компактним (якщо це Вам подобається) — наприклад, записуючи декілька операторів на одному рядку. У цьому випадку між операторами повинен стояти знак: (двокрапка). Його називають роздільником. Розглянемо, наприклад, приведений вище код 3.2. Число його рядків можна довести до двох: по-перше, можна об'єднати перші два рядки в один (використовувати не два, а один оператор Dim), а по-друге, записати останні 4 оператора на одному рядку, використовуючи двокрапку:

Код 3.3
Dim Var1 As Integer, Var2 As Long, Var3 As Single, Var4 As Double Var4 = 9E-300: Var1 = 33000: Var2 = -3000000000: Var3 = Var4

Іноді виникає і зворотна задача — поділ одного рядка на частини (перенос запису одного оператора на новий рядок, якщо цей запис здається Вам занадто довгим). У цьому випадку використовується символ переносу (знак _підкреслення), що ставиться після пробілу. Наприклад, код 3.3 може бути записаний не в два, а в три рядки:

Код 3.4
Dim Var1 As Integer, Var2 As Long, Var3 As Single, _ Var4 As Double Var4 = 9E-300: Var1 = 33000: Var2 = -3000000000: Var3 = Var4

Приклад 3.6. Побудуємо наступний Windows-додаток. На його екранній формі два текстових поля — зліва і справа, а також дві командні кнопки з написами ПУСК1 і ПУСК2. На лівому текстовому полі (об'єкті з ім'ям Text1) — рядок з букв чорного кольору на білому фоні; на правому текстовому полі (об'єкті з ім'ям Text2) — рядок з букв білого кольору на чорному фоні (мал. 3.1).

Мал. 3.1. Вікно додатка, що демонструє обмін вмістом текстових полів, до кліка кнопки ПУСК 1

Щиглик кнопки ПУСК 1 повинний «впорядкувати» вміст полів — перенести лівий рядок праворуч, а правий — ліворуч. Колір букв і колір фона кожного поля при цьому мінятися не повинен — екранна форма повинна набути вигляду, що показаний на мал. 3.2.

Мал. 3.2. Вікно додатка, що демонструє обмін вмістом текстових полів, після кліка по кнопці ПУСК 1

Якщо ж Ви хочете, щоб при обміні вмістом текстових полів мінялися б і їхні кольори (як букв, так і фону), Ви повинні клацнути не кнопку ПУСК1, а кнопку ПУСК2. Екранна форма при цьому повинна набути вигляду, показаного на мал. 3.3.

Мал. 3.3. Вікно додатка, що демонструє обмін вмістом текстових полів, після кліку по кнопці ПУСК 2

При розробці інтерфейсу для даного додатка нам знадобляться наступні властивості двох об'єктів класу Текстове поле:

кілька властивостей, що відносяться до положення і розмірів цих об'єктів;

властивість Text — його значенням є рядки символів, що містяться в текстових полях;

властивість Font — його значенням є такі характеристики рядків, що містяться в текстових полях, як тип, розмір і накреслення шрифту;

дві властивості, що відносяться до кольору: ForeColor (Колір символів) і BackColor (Колір фону).

Встановимо значення цих властивостей (а також властивостей самої екранної форми і командних кнопок) так, як це рекомендувалося робити в попередній главі.

Після розробки інтерфейсу приступимо до програмування.

Вирішимо спочатку першу задачу — складемо алгоритм і напишемо програму для першої з двох подій — кліку кнопки ПУСК1.

Напрошується таке рішення (алгоритм).

Визначимо два змінні типи String. Назвемо їх Рядок 1 і Рядок 2. Після кліку по командній кнопці цим змінним привласнені значення: вміст текстових полів з іменами Text l і Text 2. Після цього значенню властивості поля Text l буде привласнене значення змінної Рядок 2, а значенню властивості поля Text 2 — значення змінної Рядок 1.

Код 3.5 — це програма, що описує даний алгоритм.

Код 3.5

Чи є ця програма ідеальною? Іншими словами, чи можна зробити її кращою? Виявляється, що можна. Дійсно, те, що здавалося очевидним — використання двох змінних (Рядок 1 і Рядок 2) — є надлишковим: можна обійтися всього однією! Код 3.6 демонструє це.

Код 3.6

Ви, без сумніву, виявите, що по своїй дії програми коду 3.6 нічим не відрізняється від програми коду 3.5.

Тепер вирішимо другу задачу — складемо алгоритм і напишемо програму для другої з двох подій — кліку по кнопці ПУСК 2.

Ми пропонуємо таке рішення (алгоритм).

Визначимо три змінні: одну типу String і два типи Long. Назвемо їх Рядок, КолірФону і КолірБукв. Після кліку командної кнопки цим змінним будуть привласнені значення трьох властивостей одного текстового поля з ім'ям Text l: Text, BackColor і ForeColor. Після цього відбуватиметься обмін значень цих властивостей двох текстових полів за допомогою зазначених вище змінних подібно тому, як це відбувалося при розв'язанні першої задачі (для кнопки ПУСК 1).

Код 3.7 — це програма, що описує даний алгоритм.

Код 3.7

Hові поняття:

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

Питання для роздумів

Як Ви думаєте, чим відрізняється зміст знака рівності в математиці від змісту цього знака в мові Бейсік?

Припустимо, змінна X оголошена як змінна типу Integer, a програмний код містить запис: X = X + 33000. Як Ви думаєте, чи не є помилковим цей запис? (Відповідь: Ні. Попереднє значення змінної може бути від’ємним, так що нове значення може і не перевищити 32000, тобто не вийти за межі припустимих значень для типу Integer.)

Як Ви думаєте, що відбуватиметься із вмістом текстових полів приклада 3.6, якщо Ви будете клацати кнопку ПУСК1 багаторазово? Багаторазово клацати кнопку ПУСК2? Клацати обидві кнопки по черзі?

Вправи

Доповніть програмні коди додатків, які Ви будували при вирішенні вправ попередньої глави, рядками, що містять оголошення типів змінних. При їх запуску зверніть увагу на те, як система Visual Basic реагуватиме на вихід за межі допустимих значень чисел, що вводяться.

Побудуйте додаток «Обмін значеннями», подібний тому, що був розглянутий у прикладі 3.6, який матиме не два, а 4 текстових поля (мал. 3.4).

Мал. 3.4. Вікно додатка «Обмін значеннями» з чотирма текстовими полями в початковому стані

Як і в прикладі 3.6, клік кнопки ПУСК1 повинен зробити напис в текстових полях «правильними» — такими, що відповідають за змістом тим місцям, на яких вони знаходяться. При цьому колір полів і букв у цих полях мінятися не повинен. А клік кнопки ПУСК2 повинен крім зміни написів змінити і зазначені кольори так, як показано на мал. 3.5.





Дата публикования: 2014-12-28; Прочитано: 571 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...