Основы и принципы работы в VBA. Часть 3: Методические указания к выполнению лабораторных работ, страница 4

Продолжение табл. 9.2

1

2

10

  Вычислить формулу Z = S  P, где  S – сумма  элементов массива  X;         Р – произведение элементов массива А, отличных от нуля

11

  Рассчитать сумму  положительных элементов массива X и их количество и  отрицательных элементов массива А и их количество

12

  Определить сумму S = S1 + S2, где S1 – сумма  элементов массива  X с четными индексами; S2 – сумма элементов массива  А с нечетными индексами

13

  Вычислить сумму нечетных значений элементов массива А, а элементы, кратные двум заменить нулями

14

  Найти в массиве А элементы, кратные двум, и заменить их нулями

15

  Вычислить среднее геометрическое ненулевых элементов массива  по формуле, , где k – количество ненулевых элементов

16

  Определить сумму  элементов массива с нечетными индексами и произведение элементов массива, кратных пяти

17

  Найти среднее арифметическое значение положительных  элементов
 массива X

18

  Рассчитать произведение всех  положительных элементов  массива  X с четными индексами

19

  Вычислить произведение суммы  элементов массива X с четными индексами на сумму  элементов с нечетными индексами

20

  Найти в массиве А первый элемент, кратный 10,  и заменить его на второй элемент массива  А

21

  Определить сумму кубов элементов массива X с  нечетными индексами

22

  Рассчитать сумму четных и произведение неравных нулю элементов массива, сменить знак  у элементов с четными индексами

23

  Найти в массиве А последний элемент, равный 10, и его порядковый номер и заменить этот элемент на максимальный элемент массива А

24

  Определить численное значение суммы положительных и произведение кратных пяти элементов массива X и определить количество тех и других элементов

Окончание табл. 9.2

1

2

25

  Вычислить сумму отрицательных и произведение нечетных элементов массива X с нечетными индексами и определить количество тех и других элементов

26

  Определить в массиве X элемент массива, кратный 25, и прибавить к нему численное значение суммы  элементов массива с четными индексами

27

  Найти в массиве А первый элемент, равный восьми, и его порядковый номер и заменить его на второй элемент массива

Лабораторная работа 10

Удаление  и  вставка  элемента  одномерного  массива.
Формирование  нового  массива  из  исходного

Цель работы: Изучение  особенностей  алгоритмизации и программирования задач, связанных с обработкой и формированием массивов.

10.1. Примеры выполнения работы

П р и м е р 1. Задан массив Х = (– 4; 8; – 6; 5; 8; 4). Удалить из массива Х элемент, стоящий на третьем месте, и сформировать новый массива A.

Алгоритм процедуры PR1 удаления элемента из массива с формированием нового массива A показан на рис. 10.1. Программный код, в котором удаляется третий элемент массива Х с формированием нового массива A, выглядит так:

Option Explicit

Sub PR1 ( )

Dim x(1 to 6) as As Integer, A(1 to 5) As Integer

Dim N As Integer, i As Integer

Dim k As Integer

k  = 3 : n=6

For I=1 to n : x(I) = Val(Input Box("Вв. x")):Next I

For i = k To N – 1  ‘начиная с k-го и до    предпоследнего элемента

X(i) = X(i + 1)   ‘сдвигаем элементы
                                     массива влево

Next i

          Cells(3, 1) = "полученный массив"

For i = 1 to N - 1   

  A(i)=x(i)     ‘с формированием массива A

     Cells(4, i) = A(i)    ‘вывод массива

     Next i: End Sub

Удаление одного элемента из одномерного массива происходит по следующей схеме:

1) указывается или определяется порядковый номер элемента, который необходимо удалить из массива;

2) все элементы, стоящие за удаляемым элементом, сдвигаются на одну позицию влево;

3) количество элементов уменьшается на единицу.

При вставке одного элемента в массив необходимо сначала освободить место для вставляемого элемента, т. е. «раздвинуть» элементы, а затем вставить новый элемент в массив, увеличив массив на один элемент.

П р и м е р  2. Дан массив  X = {–3; 2; 0; 6; –8; 12; 0; 5; 77}. После первого числа 0 вставить сумму всех элементов массива. Алгоритм вставки элемента массива процедуры PR2 представлен на рис. 10.2.

Программный код:

Option Explicit

Sub PR2 ( )

Dim x(11) As Integer, i As Integer, a As Integer, n As Integer

Dim i0 As Integer                                   ‘ порядковый номер числа 0

s = 0: n = 10

For i = 1 To n

            x(i) = Cells(1, i)                          ‘ ввод массива и

       s = s + x(i)                                       ‘ вычисление суммы элементов

Next i

            For i = 1 To n              ‘ поиск порядкового номера первого числа 0

If x(i) = 0 Then

                      i0 = i

                     Exit For                                       ‘ выход из цикла

                End If

Next i

                For i = n + 1 To i0 + 1 Step  –1       ‘ раздвигаем элементы массива

                      x(i) = x(i – 1)

                Next i

             x(i0 + 1) = s                                    ‘ вставка элемента равного сумме

            Cells(3, 1) = "полученный массив"

 


                    For i = 1 to n+1                        ‘ вывод полученного массива