Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка для заочников_VBA.doc
Скачиваний:
4
Добавлен:
16.11.2019
Размер:
2.45 Mб
Скачать
    • 4.23. Примеры программ

ЗАДАЧА 9. Найти среднее значение положительных элементов в массиве (рис 41).

Sub prim()

Dim i As Integer, N As Integer

Dim k As Integer, S As Integer

Dim X(1 To 20) As Integer

N = InputBox("N=", , 10)

For i = 1 To N

X(i) = Cells(i, 1)

Next

S = 0

K = 0

For i = 1 To N

If X(i) > 0 Then

S = S + X(i)

k = k + 1

End If

Next

If k <> 0 Then

S = S / k

MsgBox "S=" & S

Else

MsgBox "ERROR!!!"

End If

End Sub

Рис. 41

ЗАДАЧА 10. Дан массив А состоящий из k целых положительных чисел. Записать все четные по значению элементы массива А в массив В.

Рис. 42

Sub prim_10()

Dim i As Integer, m As Integer, k As Integer

Dim A(1 To 20) As Integer

Dim B(1 To 20) As Integer

k = InputBox("k=", , 10)

For i = 1 To k

A(i) = Cells(1, i + 1)

Next

m = 0

For i = 1 To k

If A(i) Mod 2 = 0 Then

m = m + 1

B(m) = A(i)

End If

Next

If m <> 0 Then

For i = 1 To m

Cells(2, i + 1) = B(i)

Next

Else

MsgBox "ERROR!!!"

End If

End Sub

ЗАДАЧА 11. Удалить из массива X, состоящего из N элементов, наименьший элемент.

Sub prim_11()

Dim i As Integer, N As Integer

Dim nom As Integer

Dim max As Integer

Dim X(1 To 20) As Integer

N = InputBox("N=", , 10)

For i = 1 To N

X(i) = Cells(1, i)

Next

max = X(1)

nom = 1

For i = 2 To N

If X(i) > max Then

max = X(i)nom = I

End If

Next

For i = nom To N - 1

X(i) = X(i + 1)

Next

Рис. 43.

For i = 1 To N - 1

Cells(2, i) = X(i)

Next

End Sub

ЗАДАЧА 12. Проверить содержит ли массив X, состоящий из N элементов, хотябы один нулевой элемент. Если содержит, то поменять его местами с последним элементом массива.

Алгоритм показан на рис. 44.

Sub prim_12()

Dim i As Integer

Dim N As Integer

Dim nom As Integer

Dim b As Integer

Dim X(1 To 20) As Integer

N = InputBox("N=", , 10)

For i = 1 To N

X(i) = Cells(1, i)

Next

nom = 0

For i = 1 To N

If X(i) = 0 Then

nom = i

Exit For

End If

Next

If nom <> 0 Then

b = X(nom)

X(nom) = X(N)

X(N) = b

For i = 1 To N

Cells(2, i) = X(i)

Next

Else

MsgBox "NO!!!"

End If

End Sub

Рис. 44.

ЗАДАЧА 13. Вычислить сумму элементов массива X(N) расположенных между минимумом и максимумом (рис. 45).

Sub prim_13()

Dim i As Integer, N As Integer

Dim nMax As Integer, max As Single

Dim nMin As Integer, min As Single

Dim S As Single

Dim X(1 To 20) As Single

Рис. 45

N = InputBox("N=", , 10)

For i = 1 To N

X(i) = Cells(1, i)

Next

max = X(1)

nMax = 1

For i = 2 To N

If X(i) > max Then

max = X(i)

nMax = i

End If

Next

min = X(1)

nMin = 1

For i = 2 To N

If X(i) < min Then

min = X(i)

nMin = i

End If

Next

If nMax < nMin Then

b = nMax

nMax = nMin

nMin = b

End If

S = 0

For i = nMin To nMax

S = S + X(i)

Next

MsgBox "S=" & S

End Sub

ЗАДАЧА 14. Вычислить сумму элементов массива X(N) с четными индексами и произведение с нечетными.

Sub prim_14()

Dim i As Integer

Dim N As Integer

Dim P As Integer

Dim S As Integer

Dim X(1 To 20) As Integer

N = InputBox("N=", , 10)

For i = 1 To N

X(i) = Cells(i, 1)

Next

S = 0

For i = 2 To N Step 2

S = S + X(i)

Next

MsgBox "S=" & S

P = 1

For i = 1 To N Step 2

P = P * X(i)

Next

MsgBox "P=" & P

End Sub

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

Оксана Віталіївна Чеснокова

МЕТОДИЧНІ РЕКОМЕНДАЦІЇ

І КОНТРОЛЬНІ ЗАВДАННЯ

ПО КУРСУ

«ІНФОРМАТИКА І СИСТЕМОЛОГІЯ»

для студентів спеціальності 7.070801

«Екологія і охорона навколишнього середовища»

Відповідальний

за випуск: В. М. Павлиш

Редактор: О. В. Чеснокова

40