Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_по_ИТУ.doc
Скачиваний:
20
Добавлен:
31.03.2015
Размер:
14.24 Mб
Скачать

8.9. Программа поиска наибольшего элемента массива

Public Sub Massiv() 'Начало

'Список данных

Dim a, b, c, d As Integer 'в ОЗУ отводится место для переменных

Dim mas(4, 4) As Integer 'в ОЗУ отводится место для массива

'Конец списка

'Ввод значений элементов массива размером 4 на 4

For i = 1 To 4 'начинаем цикл по переменной i, изменение первого индекса

For j = 1 To 4 'изменение второго индекса

'в следующем операторе используется функция InputBox для ввода данных

'при выполнении функции выводится окно диалога InputBox

mas(i, j) = InputBox("Ввод значения элемента mas( " & i & ", " & j & " )", , 10)

Next j 'конец цикла по j

Next i 'конец цикла по i

'определение наибольшего элемента массива

b = mas(1, 1) 'переменной b присваивается значение элемента mas(1,1)

For i = 1 To 4

For j = 1 To 4

If mas(i, j) > b Then 'если очередной элемент массива больше

b = mas(i, j) 'записать его значение в переменную b

c = i 'в переменную с записать значение первого индекса

d = j 'в переменную с записать значение второго индекса

End If

Next j

Next i

'вывод значения наибольшего элемента массива в окно диалога MsgBox

MsgBox "Наибольший элемент массива mas( " & c & " , " & d & " )" & " , равен " & b

End Sub 'Конец

8.10. Линейные алгоритмы и ветвления

Ход занятия. Используя стандартные средства VBA разработать программы, для решения задач, связать их с кнопками на панелях инструментов. Программы разрабатывать в документе Word. Предлагаемый перечень задач:

ЗАДАЧА 1

Составить алгоритм на VBA для вычисления и печати значений функции Y, заданной формулой:

;

в алгоритме предусмотреть ввод аргумента x и вывод на печать введенной информации и результатов решения.

ЗАДАЧА 2

Известно, что система уравнений

имеет решение:

Составить алгоритм на VBA для вычисления и печати значений x и y по известным численным значениям коэффициентам A1, B1, C1, A2, B2, C2, являющихся исходными данными для алгоритма.

ЗАДАЧА 3

Составить алгоритм на VBA в случае (а), обеспечивающий присваивание переменной A значение “1” при выполнении следующего условия:

а). переменная X принадлежит отрезку ]0;1[

ЗАДАЧА 4

Составить алгоритм на VBA для вычисления и печати значений функции Y, заданной формулой:

В алгоритме предусмотреть ввод аргументов X и Z на вывод на печать введенной информации и результатов расчета.

ЗАДАЧА 5

Разработать алгоритм для вычисления и печати значения переменной X равному квадрату наименьшего одного из двух чисел A и B.

8.11. Циклические алгоритмы

.Теоретические сведения.

Типы циклов

· Do...Loop: повторяет набор инструкций, пока условие имеет значение True или пока оно не примет значение True

Sub ChkFirstWhile()

counter = 0

myNum = 20

Do While myNum > 10

myNum = myNum - 1

counter = counter + 1

Loop

MsgBox "Выполнено " & counter & " итераций цикла."

End Sub

· For...Next: использует счетчик. Повторяет набор инструкций указанное число раз.

· For Each...Next: повторяет набор инструкций для каждого объекта семейства

Sub TwosTotal()

For j = 2 To 10 Step 2

total = total + j

Next j

MsgBox "Сумма равна " & total

End Sub

В приведенном ниже примере для формирования приветствия в ответ на ввод имени пользователя используется конструкция цикла с параметром. Этот оператор позволяет организовать ввод пяти имен пользователей.

Public Sub ВводВывод()

Dim strImya As String

Dim i, a As Integer

For a = 1 To 5 Step 1

strImya = InputBox("Введите ваше имя - ")

MsgBox (strImya & "! У Вас получилось вывести приветствие! Ура!")

Next a

End Sub

Следующая ниже программа позволяет вводить имена пользователей и выводить приветствие до тех пор пока значение переменной а больше либо равно 1.

Public Sub ВводВывод()

Dim strImya As String

Dim i, a As Integer

a = 5

Do While a >= 1 'Выполняется пока условие истинно

a = a - 1

strImya = InputBox("Введите ваше имя - ")

MsgBox (strImya & "! У Вас получилось вывести приветствие! Ура!")

Loop

End Sub

Существует второй вариант использования условия:

Public Sub ВводВывод()

Dim strImya As String

Dim i, a As Integer

a = 5

Do

a = a - 1

strImya = InputBox("Введите ваше имя - ")

MsgBox (strImya & "! У Вас получилось вывести приветствие! Ура!")

Loop While a >= 1 'Выполняется пока условие истинно

End Sub

Во втором варианте условие проверяется в конце цикла. Это дает возможность выполнить операторы тела цикла хотя бы один раз не зависимо от условия.

Решение задач

ЗАДАЧА 6

Составить алгоритм на VBA, обеспечивающий выполнение следующих действий:

а). Переменной С присвоить значение суммы элементов массива:

ЗАДАЧА 7

Составить алгоритм, обеспечивающий вычисление и печать значений функции Y=f(x) в точках X1, X2,...,Xn:

а).

ЗАДАЧА 8

Переменная Х меняет свое значение от Хн до Хк с шагом Х. Разработать алгоритм, обеспечивающий вычисление и печать значений аргумента Х и функцииY=f(x) при каждом значении Х. Значения Хн, Хк иХ являются исходными и подлежат вводу.

а) Хн=-2, Хк=8,Х=2.

ЗАДАЧА 9

Разработать алгоритм, обеспечивающий для заданного одномерного массива из n элементов {Ai}, i=1,2,.....,n выполнение следующих преобразований:

д) найти номер и величину наименьшего элемента Аi