Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

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

РефератДопомога в написанніДізнатися вартістьмоєї роботи

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

Оператори циклу. Програмування циклічних обчислювальних процесів (реферат, курсова, диплом, контрольна)

програмування word excel vba.

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. Цикли WhileWend можуть мати будь-яку глибину вкладеності.

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.

Dim p As Single, i As Integer, n As Variant.

For i = 1 To 10.

a (i) = Val (InputBox («Введіть «& str (i) & «елемент масиву а»)).

Next i.

p = 1.

For Each n In a.

If n > 0 Then p = p * n.

Next n.

MsgBox «p=» & p.

End Sub.

Приклад 5. Дана матриця D=(dij), i= 1,2,. .., m; j=1,2,. .., n (m10, n20). Знайти суми додатних елементів кожного стовпця.

Позначення: sum[j] - сума додатних елементів j-го стовпця.

Sub Р5().

Dim d (1 to 10, 1 to 20) As Single, sum (1 to 20) As Single.

Dim i As Integer, j As Integer, n As Integer, m As Integer.

n = Val (InputBox («Введіть кількість рядків n»)).

m = Val (InputBox («Введіть кількість стовпців m»)).

For i = 1 To n.

For j = 1 To m.

d (i, j) = Val (InputBox («Введіть масив d»)).

Next j.

Next i.

For j = 1 To m.

sum (j) = 0.

For i = 1 To n.

If d (i, j) > 0 Then sum (j) = sum (j) + d (i, j).

Next i.

Debug.Print sum (j).

Next j.

End Sub.

Приклад 6. Дана матриця З=(сij), i=1,2,.. .n; j=1,2,... m (n50, m50). Визначити для кожного рядка максимальний елемент і його індекси. (Передбачається, що в кожному рядку є єдиний максимальний елемент).

Позначення: max — максимальний елемент у рядку, jmax — номер стовпця максимального елемента.

Sub Р6().

Dim c (1 to 50, 1 to 50) As Double, max As Double.

Dim i, j, n, m, jmax As Integer.

n = Val (InputBox («Введіть кількість рядків n»)).

m = Val (InputBox («Введіть кількість стовпців m»)).

For i = 1 To n.

For j = 1 To m.

c (i, j) = Val (InputBox («Введіть масив c»)).

Next j.

Next i.

For i = 1 To n.

jmax = 1: max = c (i, 1).

For j = 1 To m.

If c (i, j) > max Then max = c (i, j): jmax = j.

Next j.

Debug.Print «max= «& max & «imax=» & i & «jmax=» & jmax.

Next i.

End Sub.

Показати весь текст
Заповнити форму поточною роботою