Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Рыбакова. Основы программирования. учебное посо....doc
Скачиваний:
3
Добавлен:
14.04.2019
Размер:
7.44 Mб
Скачать

2.12.6 Одномерные массивы

Пример 1.

Формирование массива в программе с помощью последовательности операторов.

Постановка задачи. Реализовать на языке VBA алгоритм поиска наибольшего элемента последовательности с определением его местонахождения.

Технология выполнения задания:

1. Набрать в стандартном модуле проекта следующую пользовательскую процедуру:

Sub primer()

Const n = 10

Dim N_max As Integer

Dim i As Integer

Dim Max As Single

Dim B(1 To n) As Single

B(1) = 0.2: B(2) = 1.4: B(3) = 0.6

B(4) = 0.121: B(5) = 0.77: B(6) = 9.45

B(7) = 8.21: B(8) = 0.4: B(9) = 0.3

B(10) = 4.11

Max = B(1)

N_max = 1

For i = 2 To n

If B(i) > Max Then

Max = B(i)

N_max = i

End If

Next i

Debug.Print "Max= " & Max & " N_max= " & N_max

End Sub

2. Вычислить.

Пример 2.

Использование функции Array (массив) для задания одномерного массива.

Постановка задачи. Реализовать на языке VBA алгоритм поиска наибольшего элемента последовательности с определением его местонахождения.

Технология выполнения задания:

1. Набрать в стандартном модуле проекта следующую пользовательскую процедуру:

Option Base 1

Sub primer()

Dim i As Integer

Dim Max As Single

Dim N_Max As Integer

Dim B As Variant

B = Array(0.1, 1.12, 3.12, 0.45, 101.47, 12.4, 10.12, 10.11, 6.47, 13.4)

Max = B(1)

N_Max = 1

For i = 2 To 10

If B(i) > Max Then

Max = B(i)

N_Max = i

End If

Next i

Debug.Print "Max= " & Max & " N_max= " & N_Max

End Sub

2. Вычислить.

Лабораторная работа № 6

Создание процедур для обработки последовательности

Цель: приобретение навыков программирования обрабатывать последовательности с помощью пользовательской подпрограммы-процедуры. Индивидуальные варианты лабораторной работы № 6 представлены в таблице 23 (2 часа).

Варианты индивидуальных заданий

Таблица 23

Разработать процедуру пользователя для обработки последовательности

1

Даны натуральные числа n, a1, a2, … ,an. Определить количество ak последовательности a1,a2,…,an являющихся нечётными числами

2

Даны натуральные числа n, a1, a2, … ,an. Определить количество ak последовательности a1,a2,…,an кратных 3 и не кратных 5.

3

Даны натуральные числа n, a1, a2, … ,an. Определить количество ak последовательности a1,a2,…,an являющихся квадратами чётных чисел.

4

Даны натуральные числа n, a1, a2, … ,an. Определить количество ak последовательности a1,a2,…,an удовлетворяющих условию

.

Продолжение таблицы 23

5

Даны натуральные числа n, a1, a2, … ,an. Определить количество ak последовательности a1,a2,…,an удовлетворяющих условию

.

6

Даны натуральные числа n, q1, q2,…, qn. найти те члены qi последовательности q1, q2,…, qn которые являются удвоенными нечётными числами.

7

Даны натуральные числа n, q1, q2,…, qn. найти те члены qi последовательности q1, q2,…, qn которые при делении на 7 дают остаток 1.2 или 5.

8

Даны натуральные числа n, q1, q2,…, qn. найти те члены qi последовательности q1, q2,…, qn которые обладают тем свойством, что корни уравнения действительны и положительны.

9

Вычислить , где

10

Дано натуральное число n. Получить сумму тех чисел вида , которые являются удвоенными нечётными. При отсутствии таких чисел искомая сумма равна нулю.

11

Даны целые числа а1,…,а50. Получить сумму тех чисел данной последовательности, которые кратны 5.

12

Даны целые числа а1,…,а50. Получить сумму тех чисел данной последовательности, которые нечётны и отрицательны.

13

Даны целые числа а1,…,а50. Получить сумму тех чисел данной последовательности, которые удовлетворяют условию .

14

Даны натуральное число n, действительные числа a1, a2, … ,an. в последовательности a1, a2, … ,an все отрицательные члены увеличить на 0.5, а все неотрицательные заменит на 0.1.

15

Вычислить , где

16

Даны целые числа a, n, x1,…,xn (n>0). Определить, каким по счёту идёт в последовательности x1,…,xn член, равный а. Если такого члена нет, то ответом должно быть число 0.

17

Даны натуральные числа n, a1, a2, … ,an. В последовательности a1, a2,…,an получить сумму положительных и число отрицательных членов.

Продолжение таблицы 23

18

Даны натуральные числа n, a1, a2, … ,an. Заменить все большие семи члены последовательности a1, a2, … ,an числом 7. Вычислить количество таких членов.

19

Даны целые числа a1, a2, … ,a45. Получить число отрицательных членов последовательности a1, a2, … ,a35 и число нулевых членов всей последовательности a1, a2, … ,a45.

20

Запишите +1 вместо максимального элемента массива (а1, а2, …, а50), а -1 вместо минимального.