Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка приложений в среде Visual Basic.pdf
Скачиваний:
0
Добавлен:
29.11.2025
Размер:
2.08 Mб
Скачать

0, для строк ""). Для изменения размеров массива и сохранения всех старых элементов нужно после оператора ReDim поставить слово Preserve. Например:

ReDim Preserve myArray (3) ' сохраняем старые элементы myLong = myArray (1) ' всё в порядке

Массивы могут храниться в переменных типа Variant. Если массив имеет тип Variant, то отдельные элементы могут содержать данные разных типов. Например, одни элементы могут быть числами, другие — строками или объектами. Чтобы сохранить какой-либо массив в переменной типа Variant необходимо просто присвоить этой переменной нужный массив:

Dim myVariantArray ' переменная Variant по умолчанию myVarianrArray = chessTable

Теперь можно использовать копию как обычный массив: myVarianrArray (0) = "Это копия"

Встроенные функции Visual Basic – Lbound и UBound используют, если потребуется в коде программы узнать текущие размеры массива. Первая функция возвращает нижнюю границу массива, вторая верхнюю

9.2.Задания

1.В одномерном массиве, содержащим N элементов найти сумму положительных элементов (рис. 46).

Рис. 46. Реализации формы приложения

2. В двумерном массиве размерности N на M найти сумму элементов, кратных числу 3 (рис. 47).

Рис. 47. Реализации формы приложения

77

3. Дан двумерный массив размером n*m, заполненный случайными числами. Определить, есть ли в данном массиве строка, содержащая больше положительных элементов, чем отрицательных (рис. 48).

Рис. 48. Реализации формы приложения

9.3. Порядок выполнения работы

Задание 1.

Разработка алгоритма решения задачи начинается с составления блоксхемы алгоритма (рис. 49).

Рис. 49. Блок схема алгоритма решения задачи

78

Код программы:

Dim Am(50) As Double Private Sub Command1_Click() Picture1.Cls

s=0

av=Split (Text2, " " ) ' разбивает строку по разделителю

For i = 0 To Text1 - 1 Am(i) = Val(av(i))

If Am(i) >= 0 Then s=s+Am(i)

Next i Picture1.Print s End Sub

Задание 2.

Блок схема алгоритма решения задачи приведена на рис. 50.

Рис. 50. Блок схема алгоритма решения задачи

Ввод элементов массива – построчный из модального диалогового окна по запросу приложения с помощью функции InputBox. Вывод элементов двумерного массива в графическое поле (PictureBox).

79

Код программы:

Dim A(50,50) As Double Private Sub Command1_Click()

Picture1.Cls

s=0

txt="Введите"+ Text2+"элемент(ов) строки " For i = 0 To Text1 – 1

x=unputBox(txt, "Ввод данных" ) av=Split (x, " " )

If (Am(i, j) Mod 3)>= 0 Then s=s+ Am(i, j) Picture1.Print Am(i, j)

Next i av= " "

Picture2.Print s End Sub

Задание 3.

Результат выполнения задания приведен на рис. 51.

Рис. 51. Реализации формы приложения

Код программы:

Dim A(100) As Integer

Private Sub Command1_Click() n = Val(Text1)

Picture1.Cls

Picture2.Cls

If n > 0 Then

Randomize k = 1

80