Конспект лекцій для студентів спеціальності 181 «Харчові технології»



Сторінка54/54
Дата конвертації16.03.2017
Розмір9.99 Mb.
ТипКонспект
1   ...   46   47   48   49   50   51   52   53   54

[Case Else


<блок операторів гілки Else >]

End Select





де <керуюча змінна> - вираз або змінна числового або стрічкового типу, значення якої порівнюється зі значеннями констант такого ж типу, які наводяться у списках;

<список1>, <список2>, …, <список n> - список констант, відкритих або закритих інтервалів;

<блок операторів 1>, <блок операторів 2>, …, <блок операторів гілки Else > - один або більше допустимих у мові VBA операторів.

Щодо формату значень списків, то він може бути досить гнучким. У таблиці 15.4 Наведені можливі варіанти списків значень.


Табл.14.4. Варіанти списків значень оператора Сase

Список Сase

Елементи списку

25

Одна константа

1, 3, 5, 7

Чотири константи

1, 3, 5, 7 To 9, 11

Чотири константи та закритий інтервал

“Луцьк”

Одна стрічкова константа

3, 5, Is > 7

Три константи та відкритий інтервал

Is < 0, 0, 1, 3, 5 To 7, Is >10

Три константи два відкритих і один закритий інтервали

Під час виконання оператора Select Case спочатку обчислюється значення елемента <керуюча змінна>, якщо він заданий числовим виразом. Це значення порівнюється зі значеннями констант, наведених у списку <список1>. У випадку, коли значення керуючої змінної співпаде з одним із значень елемента <список1>, виконуються оператори блоку <блок операторів 1>, і на цьому робота оператора закінчується. Якщо ж значення керуючої змінної не співпаде з жодним із значень елемента <список1>, комп’ютер переходить до порівняння значення керуючої змінної зі значеннями констант, наведених в елементі <список2> і т.д. Якщо ж значення керуючої змінної не співпаде з жодним із значень усіх списків, виконуються оператори <блок операторів гілки Else >, якщо гілка Else є, або відбувається остаточний вихід з оператора Select Case.



  1. Програмування розгалужених обчислювальних процесів з використанням оператора Select Case.

Формулювання задачі. Скласти підпрограму обчислення значення складної функції, наведеної в розділі 11.5, за допомогою оператора Select Case.

Нижче наведено програмний код розв’язування даної задачі.


Sub Select_Case()

'Завдання. Дано аргумент функції x.

'Необхідно обчислити:

'значення складної функції y, яка задана виразами:

'x^2-3*x+1, якщо x<-2;

'sin(3*x)^2*log(abs(2*x-1))/log(3), якщо -2=

'x^2+5*x+1, якщо 0

'2^(-x), якщо x>=2;

Dim x, y As Single

x = Val(InputBox("Введіть значення аргумента x!"))

Select Case x

Case Is < -2

y = x ^ 2 - 3 * x + 1

Case -2 To 0

y = Sin(3 * x) ^ 2 * Log(Abs(2 * x - 1)) / Log(3)

Case 0.0000001 To 1.9999999

y = x ^ 2 + 5 * x + 1

Case Else

y = 2 ^ (-x)

End Select

MsgBox "x=" & Format(x, "0000.00") & " y=" & _

Format(y, "0000.00")

End Sub


  1. Оператор циклу ForNext.

Оператор циклу ForNext має такий формат:

For <параметр циклу> = <поч знач парам циклу> To <кін знач парам циклу> [Step <крок> ]

<блок операторів 1>

[Exit For]



<блок операторів 2>

Next [<параметр циклу > ]

де <параметр циклу> - проста змінна числового типу, яка є параметром циклу;



<поч знач парам циклу> - константа, проста змінна або вираз того ж типу, що і параметр циклу і значення якого визначає початкове значення параметра циклу;

<кін знач парам циклу> - константа, проста змінна або вираз того ж типу, що і параметр циклу і значення якого визначає кінцеве значення параметра циклу;

<крок> - константа, проста змінна або вираз того ж типу, що і параметр циклу і значення якого визначає крок зміни параметра циклу;

<блок операторів 1>, <блок операторів 1> - один або більше допустимих у мові VBA операторів.

Робота оператора ForNext полягає в наступному. Спочатку він надає елементу <параметр циклу> значення <поч знач парам циклу>. Якщо це значення виявиться меншим від значення <кін знач парам циклу>, то виконюються оператори тіла циклу, тобто оператори, які входять в <блок операторів 1> та <блок операторів 2>. Далі до значення <параметр циклу> додасться значення елемента <крок>, і процес виконання оператора циклу повториться вже з новим значенням параметра циклу. Це триватиме доти, поки значення <параметр циклу> не перевищить значення <кін знач парам циклу> . У цьому випадку відбувається вихід із циклу. Зазначимо, що вихід із циклу може відбутися і передчасно, якщо спрацює елемент [Exit Do]. Елемент Exit Do зазвичай використовується у складі умовного оператора IfThen, який перевіряє альтернативну умову переривання циклу. Цей оператор циклу називають оператором циклу з лічильником, адже в ньому заздалегідь відомо кількість повторень циклу. Якщо початкове значення параметра циклу менше від кінцевого значення параметра циклу, то використовують параметр циклу зі знаком плюс, у протилежному випадку - зі знаком мінус. За замовчуванням оператор циклу використовує <крок>, що дорівнює одиниці, і тоді елемент [Step <крок> ] можна не вказувати ; якщо ж <крок> має бути відмінним від одиниці, то він повинен бути заданий явно.



  1. Програмування циклічних обчислювальних процесів з використанням оператора ForNext.

Формулювання задачі. Скласти підпрограму розв’язування такої задачі. Дано вираз для загального члена та кількість n членів числової послідовності. Обчислити її суму
Нижче наведено програмний код розв’язування даної задачі.

Private Sub Sum()

'Завдання. Дано кількість членів n числової

'послідовності -1/12; 2/26; ... ; (-1)^i (i^2/(3*i^2+5*i+4)

'Обчислити суму n членів числової послідовності.

Dim і, n As Integer

Dim f, s As Single

n = Val(InputBox("Введіть кількість членів n!"))

For i = 1 To n

a = ((-1) ^ i) * ((i ^ 2) / (3 * i ^ 2 + 5 * i + 4))

s = s + a

MsgBox "i=" & Format(i, "00") & " a=" & _

Format(a, "000.000")

Next i


MsgBox "n=" & Format(n, "00") & " s=" & _

Format(s, "000.000")

End Sub


  1. Оператор циклу DoLoop.

Оператор циклу Do WhileLoop має такий формат:

Do While <умова>

<блок операторів 1>

[Exit Do]



<блок операторів 2>

Loop

де <умова> - логічний вираз або логічна константа, яка може приймати одне із двох значень: True або False;



<блок операторів 1>, <блок операторів 2> - один або більше допустимих у мові VBA операторів.

Робота оператора Do WhileLoop полягає в наступному. Перед входженням в оператор Do параметру циклу надають певного початкового значення. Від того, яким є значення параметра циклу, повністю залежить і значення елемента <умова>: воно може бути True або False. Якщо <умова> прийме значення True, то виконуються оператори тіла циклу, тобто оператори, які входять в <блок операторів 1> та <блок операторів 2>. Останнім із цих операторів має бути оператор, який змінює значення параметру циклу на величину кроку. Далі знову перевіряють істинність умови. Якщо <умова> вдруге прийме значення True, то вдруге виконуються оператори тіла циклу і т.д. Це повторюватиметься доти, поки <умова> не стане хибною. У цьому випадку відбувається вихід із циклу. Зазначимо, що вихід із циклу може відбутися і передчасно, якщо спрацює необов’язковий елемент [Exit Do], наприклад, у випадку ділення на нуль. Даний оператор Do WhileLoop кожного разу спочатку перевіряє умову, а тоді виконує оператори тіла циклу. Тому його називають ще оператор циклу з передумовою.

Оператор циклу DoLoop While має такий формат:

Do

<блок операторів 1>

[Exit Do]



<блок операторів 2>

Loop While <умова>

Робота цього оператора відбувається аналогічно з попереднім за одним винятком. Даний оператор DoLoop While кожного разу спочатку виконає оператори тіла циклу, а вже тоді перевірить умову. Тому його називають ще оператор циклу з післяумовою.

Оператор циклу Do UntilLoop має такий формат:

Do Until <умова>

<блок операторів 1>

[Exit Do]



<блок операторів 2>

Loop

Робота оператора Do UntilLoop полягає в наступному. Перед входженням в оператор Do параметру циклу надають певного початкового значення. Якщо <умова> прийме значення False, то виконуються оператори тіла циклу, тобто оператори, які входять в <блок операторів 1> та <блок операторів 2>. Останнім із цих операторів має бути оператор, який змінює значення параметру циклу на величину кроку і знову перевіряють істинність умови. Якщо <умова> вдруге прийме значення False, то вдруге виконуються оператори тіла циклу і т.д. Це повторюватиметься доти, поки <умова> не стане істинною. У цьому випадку відбувається вихід із циклу. Зазначимо, що вихід із циклу може відбутися і передчасно, якщо спрацює елемент [Exit Do], наприклад, у випадку ділення на нуль. Даний оператор є оператором циклу з передумовою.

Оператор циклу Do Loop Until має такий формат:

Do Until

<блок операторів 1>

[Exit Do]



<блок операторів 2>

Loop Until <умова>

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



  1. Програмування циклічних обчислювальних процесів з використанням оператора DoLoop.

Формулювання задачі. Використовуючи оператор Do WhileLoop, скласти підпрограму табулювання функції , якщо аргумент функції x набуває значень з інтервалу , змінюючись кожен раз на величину кроку
Нижче наведені форма та програмний код розв’язування даної задачі.

Private Sub CommandButton1_Click()

'Завдання. Дано функцію

'y=sin(3*x);

'інтервал зміни аргумента [1; 3];

'крок зміни аргумента h=0.2;

'Необхідно :

'протабулювати задану функцію на заданому інтервалі;

Dim x, y, xp, xk, h As Single

Dim k As Integer

xp = CSng(TextBox1.Text)

xk = CSng(TextBox2.Text)

h = CSng(TextBox3.Text)

x = xp

Do While x <= xk + h / 2

y = Sin(3 * x)

TextBox5.Text = TextBox5.Text + "x=" + _

Format(x, "0000.00") + " y=" + Format(y, "0000.00") + vbCr

x = x + h

Loop

End Sub


Private Sub CommandButton2_Click()

TextBox1.Text = ""

TextBox2.Text = ""

TextBox3.Text = ""

TextBox4.Text = ""

TextBox5.Text = ""



End Sub

Private Sub CommandButton3_Click()



End

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

Нижче наведено програмний код розв’язування даної задачі.

Private Sub DoLoopWhile()

Dim x, y, xp, xk, h As Single

Dim k As Integer

xp = 1


xk = 3

h = 0.2


x = xp

Do

y = Sin(3 * x)



MsgBox "x=" & Format(x, "00.00") & " y=" & _

Format(y, "000.000")

x = x + h

Loop While x <= xk + h / 2



End Sub

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

Нижче наведено програмний код розв’язування даної задачі.

Private Sub DoUntilLoop()

Dim x, y, xp, xk, h As Single

Dim k As Integer

xp = 1


xk = 3

h = 0.2


x = xp

Do Until x > xk + h / 2

y = Sin(3 * x)

MsgBox "x=" & Format(x, "00.00") & " y=" & _

Format(y, "000.000")

x = x + h



Loop

End Sub


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

Нижче наведено програмний код розв’язування даної задачі.

Private Sub DoLoopUntil()

Dim x, y, xp, xk, h As Single

Dim k As Integer

xp = 1


xk = 3

h = 0.2


x = xp

Do

y = Sin(3 * x)



MsgBox "x=" & Format(x, "00.00") & " y=" & _

Format(y, "000.000")

x = x + h

Loop Until x > xk + h / 2

End Sub


  1. Оператор циклу ForEach.

Оператор циклу For Each має такий формат:

For Each <елемент> In <набір>

<блок операторів 1>

[Exit For]



<блок операторів 2>

Next [<елемент > ]

де <елемент> - змінна типу Variant, що дозволяє розмістити в ній об’єкт VBA;



<набір> - ім’я колекції об’єктів, одного об’єкту VBA або масиву, за винятком масивів, елементи яких мають тип, сконструйований розробником проекту.

У процесі виконання оператора For Each об’єкт вибирається із конкретного набору і розміщується у змінній типу Variant. Це дозволяє використовувати цю змінну в операторах циклу з метою виконання певних дій з об’єктом. Оператор For Each зручно використовувати тоді, коли масив або діапазон комірок електронної таблиці передаються функції користувача. У цьому випадку змінна <елемент> може бути того ж типу, що і елементи масиву. На кожному кроці змінна <елемент> містить наступний елемент масиву.


Питання до лекції №14-15

  1. Яке ви знаєте функції перетворення типів даних?

  2. Дайте характеристику оператора присвоєння. Наведіть приклади.

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

  4. Наведіть чотири формати для умовного оператора If .

  5. Дайте характеристику умовного оператора Select Case.

  6. Дайте характеристику оператора циклу ForNext.

  7. Наведіть чотири формати для оператора циклу DoLoop.

  8. Дайте характеристику оператора For Each.


СПИСОК ЛІТЕРАТУРИ


  1. Баженов В. А. Інформатика. Комп’ютерна техніка. Комп’ютерні технології: Підручник. – 2-ге видання. – К.: Каравела, 2010.– 640 с. – С. 330 – 335.

  2. Бондаренко С., Бондаренко М. Excel 2003: Популярный самоучитель. – СПб.:Питер, 2010. – 320 с. – С. 264 – 270.

  3. Буйницька О.П. Інформаційні технології та технічні засоби навчання: Навч. посіб. – К.:

Центр учбової літератури, 2012. – 240 с.

  1. Волков В. Б. Популярный самоучитель Excel 2007. – СПб.: Питер, 2009. – 253 с. – С. 222 – 232.

  2. Гарнаев А. Использование MS Excel и VBA в экономике и финансах. – СПб: БХВ – Санкт-Петербург, 2000. – 336 с.

  3. Інформатика. Комп’ютерна техніка. Комп’ютерні технології. Пушкар О.І. Київ: Видавничий центр "Академія", 2010.

  4. Інформатика. Комп’ютерна техніка. Дибкова Л.М. Київ: „Академвидав”, 2002.

  5. Інформатика [Текст]: конспект лекцій для студентів напряму підготовки «Фінанси та кредит» та «Облік і аудит» усіх форм навчання/ уклад. С.В. Гринюк. – Луцьк : Луцький НТУ, 2012. – 64 с.

  6. Інформатика [Текст]: конспект лекцій для студентів напряму підготовки «Фінанси та кредит» та «Облік і аудит» усіх форм навчання/ уклад. С.В. Гринюк, Н.В. Багнюк. – Луцьк : Луцький НТУ, 2015. – 84 с.

  7. Кен Гетц, Майк Джилберт Программирование в Microsoft Office. Руководство по Visual Basic for Applications. – СПб: BHV, 2000. – 384с.

  8. Microsoft Access 2003-2007. – СПб.: БХВ Санкт-Петербург, Бакаревич Ю.Б., Пушкина Н.В. 2007. – 396 с.


ДЛЯ НОТАТОК





























































































































































































































































































































































































































































І 74

Інформаційні системи та технології [Текст]: конспект лекцій для студентів спеціальності 181 «Харчові технології» усіх форм навчання/ уклад. В.М. Мельник. – Луцьк : Луцький НТУ, 2016. – 168 с.




























Комп’ютерний набір




С.В. Гринюк

Редактор




С.В. Гринюк




(представник РВВ Луцького НТУ, інший фахівець)


































Підп. до друку 2016р.

Формат 60х84/16. Папір офс. Гарнітура Таймс.

Ум. друк. арк. ___. Обл.-вид. арк. 2,5.

Тираж ___ прим. Зам. 1.

























































Редакційно-видавничий відділ

Луцького національного технічного університету

43018 м. Луцьк, вул. Львівська, 75

Друк – РВВ Луцького НТУ





Поділіться з Вашими друзьями:
1   ...   46   47   48   49   50   51   52   53   54




База даних захищена авторським правом ©uchika.in.ua 2020
звернутися до адміністрації

    Головна сторінка