Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КТП_н_посібник2.doc
Скачиваний:
11
Добавлен:
11.11.2019
Размер:
27.54 Mб
Скачать

5.8.2. Характеристика функцій

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

Для процедури типу Function характерний такий синтаксис:

Function Ім'я (аргументи) As тип

(оператори)

Ім'я = повертане_значення

End Function

Тут ключове слово Function визначає процедуру однойменного типу, після нього йде унікальне Ім'я процедури-функції, складене за правилами мови Visual Basic. Після імені функції подається перелік її аргументів аргументи, який містить передані цей функції дані. Тип визначає тип даних величини повертане значення, обчислювано функцією в точку виклику за допомогою приміщення її в змінну з ім'ям Ім'я. Значення яке повертається функцією, може мати будь-який тип даних, що існує в мові Visual Basic. Коли тип даних цього значення при оголошенні опущений, то передбачають, що це Variant.

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

Виклик функції відбувається таким чином:

● без присвоєння:

Ім'я аргумент1, аргумент2 ..., аргумент n

● із присвоєнням:

x=Ім’я (аргумент1, аргумент2 ..., аргумент n)

Усередині тіла процедури або функції можна оголошувати нові змінні за допомогою ключового слова Dim.

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

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

Dim v, t, а

Function Rasst(х, у, z)

Rasst =x*y+z*y*y/2

End Function

Sub Vvod(param, x)

x = InputBox("Введіть значення параметра param:")

End Sub

Private Sub Commandl_Click()

Print "Завдання:"

Print "Визначити відстань, пройдену _ фізичним тілом"

Print "за час t, зі швидкістю v і прискоренням а"

Vvod "швидкість",v

Vvod "час", t

Vvod "прискорення", а

Print "Тіло пройшла відстань"; Rasst(v, t, а)

End Sub

6. Проектування розгалужених алгоритмів у середовищі visual basic

6.1. Оператор безумовного переходу

Більшість програм реалізується шляхом виконання операторів, що керують ходом обчислювального процесу. До них відносяться: оператори безумовного й умовного переходів, оператор вибору.

Оператор безумовного переходу GoTo

Для нього характерний такий синтаксис:

GoTo <мітка>.

Тут мітка являє собою сукупність букв і цифр кількістю не більшt 40. Крім оператора, мітка ставиться на початку рядка, до якого потрібно перейти, і закінчується вона двокрапкою.

Наприклад:

GoТо М1

оператори програми

М1: оператор

6.2. Оператор умовного переходу

Цей оператор має такий синтаксис для різних його типів:

Простий оператор:

If умова Then оператор 1 [Else оператор 2]

У даному випадку, якщо виконується зазначена умова, то керування процесом передається операторові 1, в інакших випадках – операторові 2.

Приклад:

If х>=0 Then y = a*x + b Else y = a*x-b,

де у, а, х, b – імена змінних.

Примітка. Якщо оператор не поміщається в рядку вікна, то його можна перенести на наступний рядок, використовуючи в місці розриву знак підкреслення _.

Складний оператор:

If умова 1 Then

[оператори]

[Elseif умова 2 Then

[оператори]

[Else [оператори]]

End if

Складний оператор може включати вкладені умови. Він завжди записується відповідно до встановленої синтаксисом структури і закінчується зарезервованим словом End if.

Примітка. Якщо кілька операторів в одному рядку відносяться до частин Then або Else, то вони відокремлюються один від одного двокрапкою.

Сам оператор If може вступати в дію у простій або складній формі.

Наприклад,

y=

Виконуючи обчислення за першою формулою, крім зазначених умов, необхідно передбачити, щоб а 0, b 0 . Тоді запис складного оператора буде мати такий вигляд:

If Val(a.Text) <= 5 And Val(x.Text) =6 Then

у = (Val(a.Text) + Val(b.Text)) / Val(x.Text)

Elself Val(a.Text) <= 5 And Val(x.Text) > 6 And Val(a.Text) <> 0 And _

Val(b.Text) <> 0 Then

у = Val(x.Text) / Val(a.Text) - Val(x.Text) / Val(b.Text)

Else

у = Val(a.Text) ^3 + Val(b.Text) * exp(2.5)

End If

У цьому записі передбачено, що у, а, х, b являють собою імена текстових елементів (Textbox), е2'5 експоненціальну функцію.