Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Способы обработки массивов
1. Нахождение суммы, произведения, среднего арифметического, среднего геометрического элементов массива. 1.1 Нахождение суммы элементов массива.
Sub prim6() Dim a(), str_a, i, sum n = Val(InputBox("введите количество элементов массива n:")) ReDim a(n) For i = 0 To n a(i) = Int(Rnd * 100) + 1 str_a = str_a & a(i) & " " sum = sum + a(i) Next i MsgBox str_a & Chr(10) & Chr(13) & _ "sum=" & sum End Sub
Нахождение суммы четных и нечетных элементов массива. Sub prim7() Dim a(4), str_a, i, sumchet, sumnechet For i = 0 To 4 a(i) = Int(Rnd * 100) + 1 str_a = str_a & a(i) & " " If a(i) Mod 2 = 0 Then sumchet = sumchet + a(i) If a(i) Mod 2 <> 0 Then sumnechet = sumnechet + a(i) Next i MsgBox str_a & Chr(10) & Chr(13) & _ "sumchet=" & sumchet & "sumnechet=" & sumnechet End Sub
Нахождение суммы элементов массива, значения которых находятся в интервале от 50 до 100. Sub prim8() Dim a(4), str_a, i, sum For i = 0 To 4 a(i) = Int(Rnd * 100) + 1 str_a = str_a & a(i) & " " If a(i) >= 50 And a(i) <= 100 Then sum = sum + a(i) Next i MsgBox str_a & Chr(10) & Chr(13) & _ "sum=" & sum End Sub
1.4 Нахождение суммы элементов массива с четными индексами и суммы элементов массива с нечетными индексами.
Sub prim9() Dim a(4), str_a, i, sum1, sum2 For i = 0 To 4 a(i) = Int(Rnd * 100) + 1 str_a = str_a & a(i) & " " If i Mod 2 = 0 Then sum1 = sum1 + a(i) If i Mod 2 <> 0 Then sum2 = sum2 + a(i) Next i MsgBox str_a & Chr(10) & Chr(13) & _ "sum1=" & sum1 & "sum2=" & sum2 End Sub
Нахождение суммы индексов четных элементов и произведения индексов нечетных элементов массива. Начальное значение произведения надо задавать равным 1.
Sub prim11() Dim a(1 To 4), str_a, i, sum, pr pr = 1 For i = 1 To 4 a(i) = Int(Rnd * 100) + 1 str_a = str_a & a(i) & " " If a(i) Mod 2 = 0 Then sum = sum + i If a(i) Mod 2 <> 0 Then pr = pr * i Next i MsgBox str_a & Chr(10) & Chr(13) & _ "sum=" & sum & "pr=" & pr End Sub 2.Нахождение произведения и среднего геометрического элементов массива. Нахождение среднего арифметического и среднего геометрического элементов массива. Sub prim12() Dim a(4), str_a, i, sum, pr pr = 1 For i = 0 To 4 a(i) = Int(Rnd * 100) + 1 str_a = str_a & a(i) & " " sum = sum + a(i) pr = pr * a(i) Next i sa = sum / 5: sg = pr * (1 / 5) MsgBox str_a & Chr(10) & Chr(13) & _ "sa=" & sa & "sg=" & sg End Sub
Задан массив а(4), найти индексы тех элементов, значения которых превосходят цифру 50.
Sub prim13() Dim a(4), str_a, i, str_b, b(4) pr = 1 For i = 0 To 4 a(i) = Int(Rnd * 100) + 1 str_a = str_a & a(i) & " " If a(i) > 50 Then b(i) = i str_b = str_b & b(i) & " " End If Next i MsgBox "исходный массив:" & str_a & Chr(10) & Chr(13) & _ "массив индексов:" & str_b End Sub 3 Обработка элементов массива. 3.1 Задан массив а(4), значения элементов которого заданы генератором случайных чисел, заменить единицами, те элементы, значения которых превосходят 50.
Sub prim14() Dim a(4), str_a, i, str_anew pr = 1 For i = 0 To 4 a(i) = Int(Rnd * 100) + 1 str_a = str_a & a(i) & " " If a(i) > 50 Then a(i) = 1 str_anew = str_anew & a(i) & " " Next i MsgBox "исходный массив:" & str_a & Chr(10) & Chr(13) & _ "новый массив:" & str_anew End Sub 3.2 Нахождение максимального и минимального элементов массива и обмен их местами. Sub prim15() Dim a(4), str_a, i, str_anew, max, min, imax, imin For i = 0 To 4 a(i) = Int(Rnd * 100) + 1 str_a = str_a & a(i) & " " Next i max = a(0): imax = 0: min = a(0): imin = 0 For i = 1 To 4 If a(i) > max Then max = a(i): imax = i If a(i) < min Then min = a(i): imin = i Next i a(imax) = min: a(imin) = max For i = 0 To 4 str_anew = str_anew & a(i) & " " Next i MsgBox "исходный массив:" & str_a & Chr(10) & Chr(13) & _ "max=" & max & "imax=" & imax & Chr(10) & Chr(13) & _ "min=" & min & "imin=" & imin & Chr(10) & Chr(13) & _ "новый массив:" & str_anew End Sub 3.2 Подсчет количества элементов массива, например больших 50. Sub prim17() Dim a(4), str_a, i, str_anew, k k = 0 For i = 0 To 4 a(i) = Int(Rnd * 100) + 1 str_a = str_a & a(i) & " " If a(i) > 50 Then k = k + 1 str_anew = str_anew & a(i) & " " Next i MsgBox "исходный массив:" & str_a & Chr(10) & Chr(13) & _ "k=" & k End Sub
3.3 Обработка двух массивов. Заданы два массива a(4) и b(4) заполнить их случайными значениями и поменять местами четвертые элементы массивов. Sub prim16() Dim a(4), b(4), str_a, str_b, i, str_anew, str_bnew, buf For i = 0 To 4 a(i) = Int(Rnd * 100) + 1 str_a = str_a & a(i) & " " b(i) = Int(Rnd * 10) + 1 str_b = str_b & b(i) & " " Next i buf = a(4) a(4) = b(4) b(4) = buf For i = 0 To 4 str_anew = str_anew & a(i) & " " str_bnew = str_bnew & b(i) & " " Next i MsgBox "исходный массив a:" & str_a & Chr(10) & Chr(13) & _ "исходный массив b:" & str_b & Chr(10) & Chr(13) & _ "новый массив a:" & str_anew & imin & Chr(10) & Chr(13) & _ "новый массив b:" & str_bnew End Sub
3.3 Обработка элементов массива в блоках разветвления и циклов. Структура программы: 1. Заголовок. 2. Описание переменных. 3. Ввод элементов массива (или массивов). 4. Условие. 5. Инструкции, если Условие выполняется. 6. Инструкции, если Условие не выполняется. 7. Вывод результата.
Date: 2016-05-14; view: 578; Нарушение авторских прав |