Обчислювальних процесів

1) Оператор If ... Then

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

If умова Then оператор

так і блокового синтаксису

If умова Then

Блок операторів

End If

Тут і далі умова - логічний вираз. Якщо значення умови true, то виконується Блок операторів, у протилежному випадку управління передається операторові, який знаходиться за End if.

Приклад 1. Дані три числа: a, b, c. Від’ємні числа замінити їхніми квадратами, позитивні залишити без зміни.

Sub Разв1()

Dim a As Single, b As Single, c As Single

a = Val (InputBox("Введіть значення а"))

b = Val (InputBox("Введіть значення b"))

c = Val (InputBox("Введіть значення c"))

If a < 0 then a=a^2

If b < 0 then b=b^2

If c < 0 then c=c^2

MsgBox “a=” & a & “ b=” & b & “ c=” & c

End Sub

2) Оператор If...Then...Else.

Синтаксис оператора:

If умова Then

Блок операторів для значення true

Else

Блок операторів для значення false

End If

Приклад 2. Знайти розмір комісійних залежно від суми продажів за наступними правилами: якщо сума продажів (s) більше 15000, то комісійні (c) установлюються на рівні 8 відсотків. У протилежному випадку - 5 відсотків

Sub Sales1()

Dim s As Single , c As Single

s = Val(InputBox("Введіть суму продажів"))

If s > 15000 Then c = 0.08*s Else c = 0.05*s

MsgBox "Комісійні=" & c

End Sub

Тепер приведемо програму для цього ж прикладу з використанням багаторядкового синтаксису оператора if.

 

Sub Sales2()

Dim s As Single, c As Single

s = Val(InputBox("Введіть суму продажів"))

If s > 15000 Then

c = 0.08*s

Else

c = 0.05*s

End If

MsgBox "Комісійні=" & c

End Sub

 

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

Оператор GoTo дозволяє виконати безумовний перехід до заданого рядка. Його синтаксис:

 

GoTo Мітка

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

MsgBox "Даний оператор виконується"

GoTo NN

Msgbox "Даний оператор пропускається"

NN:

Msgbox "Тепер можна продовжувати"

 

2.12. Оператори циклу. Програмування циклічних

обчислювальних процесів

 

1) Оператор Do ...Loop

Цей оператор має чотири варіанти синтаксису:

а) Do While умова

Блок операторів

Loop

Якщо умова має значення True, виконуються Блок операторів до Loop. Потім управління повертається до Do While і знову перевіряється умова. Якщо умова, як і раніше, має значення True, процес повторюється. Якщо умова має значення False, виконання відновляється з операторів, що знаходяться за Loop. Цикли Do While. . . Loop можуть мати будь-яку глибину вкладеності.

б) Do Until умова

Блок операторів

Loop

 

 

Перед циклом перевіряється умова. Блок операторів виконується тільки в тому випадку, якщо значення умови дорівнює False.

в) Do

Блок операторів

Loop While умова

Параметр умова перевіряється після однократного проходження циклу. Блок операторів виконується тільки в тому випадку, якщо умова - True. Така форма оператора Do…Loop використовується в тих випадках, коли виконання блоку команд необхідне як мінімум один раз.

г) Do

Блок операторів

Loop Until умова

Параметр умова перевіряється після однократного проходження циклу. Блок операторів виконується тільки в тому випадку, якщо умова - False. Така форма оператора Do…Loop використовується в тих випадках, коли виконання блоку команд необхідне як мінімум один раз.

Приклад 1. Скласти програму табулювання функції

y= , де xÎ[x0, xk] і змінюється із кроком h.

Sub Р1()

Dim x0 As Single, xk As Single, h As Single

Dim a As Single, y As Single, x As Single

x0 = Val(InputBox("Введіть х0"))

xk = Val(InputBox("Введіть хk"))

h = Val(InputBox("Введіть h"))

a = Val(InputBox("Введіть a"))

x = x0

Do While x <= xk

y = Sqr(x ^ 2 + 25) / (x ^ 2 + a ^ 2)

Debug.Print "y=" & y & " x=" & x

x = x + h

Loop

End Sub

Приклад 2. Записати програму для виведення у вікно налагодження натуральних чисел від n до 1, їхні квадрати і куби.

Позначення: n - число, n2, n3 - відповідно квадрат і куб числа.

Sub Р2()

Dim n As Integer, n2 As Integer, n3 As Integer

n = Val(InputBox("Введіть n"))

Debug.Print "Число" & " Квадрат числа" & " Куб числа"

Do

n2 = n ^ 2: n3 = n2 * n

Debug.Print n & " " & n2 & " " & n3

n = n - 1

Loop Until n = 0

End sub

2) Оператор While...Wend

Цей оператор циклу є різновидом оператора Do…Loop...

Синтаксис оператора:

While умова

Блок операторів

Wend

Якщо умова має значення True, виконуються Блок операторів до Wend. Якщо умова має значення False, виконання відновляється з операторів, що випливають за Wend. Цикли While¼Wend можуть мати будь-яку глибину вкладеності.

3) Оператор For... Next

Цей оператор циклу можна зустріти в більшості мов програмування. Він використовується у випадках, коли відомо, скільки разів необхідно повторити виконання серії операторів. Синтаксис оператора:

For лічильник = початок To кінець [step крок]

Блок операторів

Next [лічильник]

Лічильник – числова змінна, котра автоматично змінюється після кожного повтору. Початкове значення лічильника дорівнює параметру початок, а кінцеве - кінець. Крок - крок лічильника циклів. Якщо цей параметр опущений, то значення кроку приймається рівним 1. Щоб лічильник змінювався по убуванню, використовується негативне значення кроку.

Приклад 3. Дан масив Х=(12,24,67,38,56,69) щомісячного випуску продукції в 1-му півріччі. Визначити випуски продукції за 1- й і 2 - й квартали.

Sub Р3()

Dim x As Variant

Dim kv1 As Single, kv2 As Single, i As Integer

x=Array(12,24,67,38,56,69)

kv1 = 0: kv2= 0

For i = 1 To 3

kv1=kv1+x(i)

kv2=kv2+x(i+3)

Next i

MsgBox " випуск продукції за 1-ий квартал =" & kv1

MsgBox " випуск продукції за 2-ий квартал =" & kv2

End Sub

4) Оператор For Each...Next

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

 

 

Синтаксис оператора:

For Each елемент In група

Блок операторів

Next [елемент]

Параметр елемент - змінна типу Variant (ця обов'язкова умова), що представляє елемент сімейства або масиву. Група - ім'я масиву або сімейства. Блок операторів виконується тільки один раз для кожного члена групи.

Найважливіше в операторі For Each…Next те, що не потрібно заздалегідь знати, скільки елементів утримується в масиві або сімействі. Таким чином, не потрібно підраховувати число елементів або перевіряти досягнення кінця групи. Це дозволяє виключити одну з найбільш загальних помилок при програмуванні: неправильну індексацію елементів масивів.

Приклад 4. Дано масив А=(ai), i=1,2,...,10. Знайти добуток позитивних елементів.

Позначення: p - добуток позитивних елементів.

Sub Р4()

Dim a(1 to 10) As Double








Дата добавления: 2015-03-03; просмотров: 880;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.016 сек.