Введение 8 Этапы создания Windowsприложения 8
Скачать 6.98 Mb.
|
Вывод массива в окно списка и в текстовое полеВывод массива – одна из основных операций, без которой не обходится ни одна программа обработки массивов. Массивы можно выводить в окно списка или в текстовое поле. Рассмотрим оба способа. Вывод массива в окно списка практически не отличается от вывода совокупности. Сначала очищаем окно списка. lstA.Items.Clear() Выводим в окно списка поясняющий текст и заголовки колонок. Константа vbTab позволяет организовать вывод в две колонки. lstA.Items.Add("Исходный массив") lstA.Items.Add("Номер" + vbTab + "Значение") Организуем цикл для вывода значений элементов массива. Элементы массива последовательно пронумерованы от 0 до n. Следовательно, счетчик цикла должен изменяться в этом же диапазоне. Тогда на i-м шаге цикла мы будем выводить элемент массива с номером i. For i = 0 To n На каждом шаге цикла в окно списка выводим номер элемента – i и его значение – a(i). Константа vbTab позволяет организовать вывод в две колонки. lstA.Items.Add(Str(i) + vbTab + Str(a(i))) Next Вывод массива в текстовое поле существенно отличается от вывода в окно списка. Здесь основным приемом является своеобразное накопление суммы. Другое отличие заключается в организации вывода. Если в окно списка мы выводили каждый элемент массива по отдельности, то в текстовое поле выводится сразу весь массив. Сначала в специальной переменной формируется выводимая информация, а выводится она только после завершения основного цикла. Рассмотрим особенности программной реализации этого процесса. Для вывода массива в текстовое поле нам потребуется специальная переменная, в которой будет формироваться выводимая строка. Так как массив выводится в текстовое поле, то эта переменная будет иметь символьный тип данных, а точнее – String. Dim s As String Сначала в этой строке нет никакой информации. Она пустая. Пустая строка обозначается парой кавычек, между которыми нет ни одного символа. s = "" Организуем цикл для формирования строки выводимой информации. Элементы массива последовательно пронумерованы от 0 до n. Следовательно, счетчик цикла должен изменяться в этом же диапазоне. Тогда на i-м шаге цикла мы будем обрабатывать элемент массива с номером i. For i = 0 To n На каждом шаге цикла мы будем добавлять к переменной s очередной элемент массива, который предварительно преобразуем в символьный формат с помощью функции Str. Чтобы между элементами массива на экране было некоторое расстояние, после каждого элемента будем добавлять к строке s один пробел, который необходимо взять в кавычки. Так как для строк операция сложения имеет смыл соединения (склейки) строк, то в строке s постепенно будут скапливаться все элементы массива, разделенные пробелом. s += Str(a(i)) + " " Next После завершения основного цикла в переменной s будут записаны все элементы массива. Остается только вывести значение переменной s в текстовое поле. Так как переменная s имеет символьный тип данных, то при ее выводе не надо использовать никаких дополнительных преобразований. txtA.Text = s Полный текст программы представлен в приложении 21. Пример работы программы приведен на рис. 36. Рис. 36. Заполнение массива случайными числами и вывод его в окно списка и в текстовое поле 7.3. Вычисление суммы и произведения элементов массиваВычисление суммы и произведения всех элементов массива практически не отличается от аналогичных операций для обработки совокупности чисел (см. раздел 6.1.3). Вычисление происходит путем последовательного накопления значения. Начальное значение суммы – ноль, произведения – единица. На каждом шаге цикла к ранее накопленному значению суммы добавляется значение очередного элемента массива, а значение произведения умножается на значение текущего элемента массива. Рассмотрим особенности программной реализации данного алгоритма. Объявляем переменные для суммы и произведения соответственно. Тип этих переменных должен всегда совпадать с типом элементов массива. Dim summa, proiz As Integer Задаем начальные значения для суммы и произведения. summa = 0 proiz = 1 Организуем цикл для формирования суммы и произведения. Элементы массива последовательно пронумерованы от 0 до n. Следовательно, счетчик цикла должен изменяться в этом же диапазоне. Тогда на i-м шаге цикла мы будем обрабатывать элемент массива с номером i. For i = 0 To n Добавляем очередной элемент массива к общей сумме. summa += a(i) Значение произведения умножаем на значение текущего элемента массива. proiz *= a(i) Next После завершения цикла выводим полученные результаты. Сначала выводим горизонтальную черту, которая зрительно отделить исходные данные от полученных результатов. lstA.Items.Add("-------------------------------") Выводим значение накопленной суммы и поясняющий текст. lstA.Items.Add("Сумма = " + Str(summa)) Выводим значение произведения и поясняющий текст. lstA.Items.Add("Произведение = " + Str(proiz)) Полный текст программы представлен в приложении 22. Пример работы программы приведен на рис. 37. Рис. 37. Пример работы программы вычисления суммы и произведения всех элементов массива |