Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Суммирование и перемножение элементов массивов
Нахождение суммы или произведения всех или некоторых элементов массива является одной из основных операций при работе с массивами. Пример. Найти сумму элементов одномерного массива . Чтобы просуммировать все элементы массива, необходимо переменной, в которой будет храниться значение суммы, присвоить нулевое значение, а затем в цикле нарастить ее величину, последовательно прибавляя к ней значение каждого очередного элемента массива, начиная с первого и заканчивая последним.
Dim A(1 То 15) As Single, i As Integer, S As Single 'Ввод массива • • • S = 0 'Начальное значение суммы For i = 1 То 15 S = S + A(i) 'Накапливание суммы Next i Если требуется вычислить произведение, то в приведенном фрагменте достаточно заменить начальное значение переменной на 1, а знак «+» на «*». Пример. Вычислить произведение элементов, расположенных ниже главной диагонали квадратной матрицы .
Главной диагональю квадратной матрицы называется диагональ, проходящая через левый верхний и правый нижний угол, т. е. совокупность элементов с одинаковыми индексами. Соответственно элементы, расположенные на диагонали, проходящей через правый верхний и левый нижний угол, составляют побочную диагональ матрицы. Для перебора элементов матрицы ниже главной диагонали организуем двойной цикл. Во внешнем цикле будем изменять номер строки. Как видно из таблицы индекс i (номер строки) для элементов ниже главной диагонали изменяется от 2 до 5. Во внутреннем цикле будем изменять номер столбца. Как видно, что для второй строки индекс j изменяется от 1 до 1, для третьей - от 1 до 2, для четвертой - от 1 до 3, для пятой - от 1 до 4, т. е. в общем случае - от 1 до .
Sub Massiv7() Dim B(l To 5, 1 To 5) As Single Dim i As Integer, j As Integer Dim P As Single 'Произведение
'Ввод матрицы '----------------
'Начальное значение произведения Р = 1 For i = 2 To 5 For j = 1 To i - 1 'Накопление произведения Р = Р * B(i, j) Next j Next i
End Sub
Выбор элементов из массива
Задачи этого типа могут формулироваться по-разному, но в общем случае сводятся к выбору из данного массива элементов с заданными свойствами. Например: в заданном числовом массиве подсчитать количество положительных, отрицательных или нулевых элементов; в массиве целых чисел подсчитать количество четных или нечетных элементов; в таблице функции выбрать значения по модулю большие (или меньшие) заданного; найти сумму или произведение элементов из определенного интервала и т. п.
Пример. Сформировать вектор Y, состоящий из элементов кратных трём целочисленного вектора . Для решения поставленной задачи необходимо в цикле для каждого элемента вектора X проверить, делится ли значение элемента на 3 без остатка. Если это условие выполняется, то добавить значение элемента в вектор Y. Так как нельзя заранее точно определить количество элементов в векторе Y, то следует описать его как динамический.
Sub Massiv8() Dim Y() As Integer Dim n As Integer 'Количество элементов в векторе Y Dim X(35) As Integer Dim i As Integer 'Ввод вектора Х '----------------- 'Формирование вектора Y n = О For i = 1 To 35 If X(i) Mod 3 = 0 Then n = n + 1 ReDim Preserve Y(n) Y(n) = X(i) End If Next
'Вывод массива '--------------------- End Sub
Пример. Подсчитать количество элементов матрицы , значения которых лежат в диапазоне от -30 до 50.
Sub Massiv9() Dim A(l To 6, 1 To 8) As Single Dim i As Integer, i As Integer Dim n As Integer 'Искомая величина 'Ввод матрицы А '--------------------- 'Подсчет количества элементов по условию задачи п = 0 For i = 1 To 6 For j = 1 To 8 If A(i, j) >= -30 And A(i, j) <= 50 Then n = n + 1 End If Next j Next i End Sub
|
|||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2021-11-27; просмотров: 44; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.186.226 (0.007 с.) |