Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

End Sub. Function NDS(Netto As Currency, Percent As Single) As Currency




Dim Tax As Currency

End Function

Function NDS(Netto As Currency, Percent As Single) As Currency

End Sub

End Sub

Sub HelloOut(Message As String)

End Sub

HelloOut

End Sub

End Sub

X As Single, Y As Single)

Private Sub Commandl MouseMove(Button As Integer, Shift As Integer,_

...

Якщо ви самі пишете процедуру, то самі задаєте аргументи. Припустимо, ви хочете написати процедуру, яка виводить текст:

 

Sub HelloOut ()

Print "Здрастуй, читач"

 

Створення подібної процедури має ту перевагу, що при необхідності вивести рядок "Здрастуй, читач" достатньо всього лише викликати її, а не вводити всі рядки коду. Тепер процедура викликається як звичайний оператор Visual Basic:

 

Private Sub Commandl_Click()

 

Аргументи поміщаються в дужках в заголовку процедури з вказівкою (при необхідності) типу даних.

Визначення процедури може розширитися таким чином:

 

Print "Здрастуй, "&Message

 

Потрібно змінити також і виклик процедури:

 

Private Sub Commandl_Click ()

HelloOut "Андрій"•

 

В даному прикладі викликається та ж процедура HelloOut. При цьому їй додатково передається один аргумент.

Функція побудована точно так само, як процедура. Відмінність: результатом роботи функції є значення, що повертається. Прикладом може служити функція обчислення податку на додану вартість. Функція як аргументи отримує суму нетто і податкову ставку і повинна повертати суму податку:

 

NDS =Netto*Percent

 

Для визначення функції використовується ключове слово Function. В кінці процедури замість End Sub пишеться End Function.

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

Visual Basic повинен знати тип значення і слова за дужками вказують цей тип. У прикладі в якості значення, що повертається, передається грошова величина. Тому функцію потрібно визначати як As Currency.

Особливість полягає в тому, що ім'я функції використовується одночасно як змінна. Це означає, що змінна з ім'ям функції містить значення, що повертається.

Зверніть увагу на відмінності при виклику функцій і процедур:

 

Private Sub Commandl_Click()

Tax =NDS(100,0.15)

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

Повертане_значення = Функція (аргумент1, аргумент2,...)

Кожна функція завжди повертає тільки одне значення.

В процедурах же аргументи не беруться в дужки. Немає також і значення, що повертається, але можуть змінюватися значення глобальних змінних. Синтаксис виклику процедури:

 

Процедура Аргумент1, Аргумент2...

 

4.4 Управління порядком виконання операцій

Розглянемо базові структури алгоритмів, що будуються по методу структурного програмування. Їх в Visual Basic всього три: послідовність, розгалуження і цикл.

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

Розгалуження, блок-схема якого приведена на рис. 4.3, передбачає перевірку деякої умови. Залежно від того, виконується ця умова чи ні, виконується або один оператор чи група операторів, або інший (інша група).

Тобто, якщо на момент перевірки умова виявилася виконаною, то будуть виконані операції в блоці 1, а операції в блоці 2 ігноруються. Якщо ж виявляється, що умова не виконана, то буде виконаний блок 2, а блок 1 ігнорується.

 

Рисунок 4.2 – Базова структура послідовних операцій (лінійна)

Рисунок 4.3 – Базова структура розгалужених операцій (розгалуження)

 

Умовний оператор If...End If (вибрати, якщо).

Найбільш часто для програмування розгалужень використовується оператор If...End If, який може мати просту однорядкову або блочну структуру.

Однорядковий синтаксис:

 

If Умова Then Операція 1 [Else Операція 2 ]

Тут If (якщо), Then (то) і Else (інакше) - зарезервовані слова, Умова - логічне вираження. Однорядковий синтаксис припускає, що після слова Then, а також після слова Else може знаходитися тільки одна операція. Виконання однорядкового оператора відбувається наступним чином. Якщо Умова має значення True, виконується Операція 1, зазначена за Then, а Операція 2 не виконується (пропускається). Якщо ж значення Умова дорівнює False, то виконується Операція 2, наступна за ключовим словом Else, якщо така є, а Операція 1 пропускається.

 

Приклад 1:

 

If A = 7 Then Beep

Приклад 2:

 

If X <9 Then Print "False!" Else Print "True!"

В першому прикладі видається звуковий сигнал, якщо значення змінної А дорівнює 7.

В другому прикладі на екран виводиться текст False!, якщо значення змінної Х менше 9; в супротивному випадку на екран виводиться текст True!.

Нагадуємо, що в подібних визначеннях синтаксису прямокутні дужки [...] означають, що конструкція, яка знаходиться усередині цих дужок, не обов'язкова.

 

Блочний синтаксис:

 




Поделиться с друзьями:


Дата добавления: 2015-05-24; Просмотров: 354; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.