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

Типы данных Visual Basic.

Тип данных Объем занимаемой памяти Краткая запись
Целые типы    
Integer (целое) 2 байта %
Long (целое двойной длины) 4 байта &
Byte (Байт) 1 байт  
Boolean (булево) 2 байта  
Плавающие типы  
Single Десятичные числа 4 байта !
Double Десятичные числа 8 байт #
Строковые типы  
String Текстовая информация 1 байт на каждый символ $
Объектные типы    
Object Рисунки или ссылки на любой другой объект 4 байта  
Variant-типы    
Variant (числовые типы) 16 байт  
Variant (строковые типы) 22 байта +длина строки  
Прочие типы    
Currency Число в денежном формате 8 байт @
Date Дата 8 байт  
     

19 вопрос Язык программирования VB(Условные операторы)

VB – язык программирования – совокупность жестов и правил для составления алгоритмов применяемых для ПК.

Операторы - это самая главная часть программы.

1. Условный оператор

2. Оператор цикла со счётчиком

3. Логические операторы

Условный оператор - самый главный оператор, он есть почти во всех программах. Он нужен для создания условия.

If – если

Then – тогда

Else – иначе

Оператор цикла со счётчиком - нужен для выполнения повторяемых действий

For – Для (начало цикла)

Next – конец цикла

Логические операторы - используются вместе с условным оператором. Основные логические операторы это:
And = Нашему русскому "И"
Or и Xor = Нашему русскому "Или"

20 вопрос Язык программирования VB(Организация циклов)

Организация циклов

Условные операторы (операторы выбора) и оператор безусловного перехода GOTO позволяют в зависимости от необходимости выполнять один блок операторов, обходя при этом другой. Однако часто при написании программ нужно решить задачу другого плана — многократно выполнять один и тот же блок операторов. Программная конструкция, позволяющая организовать многократное выполнение блока операторов, называется циклом.

Цикл можно организовать при помощи условного оператора и оператора GOTO. Для этого, например, в процедуре можно объявить целочисленную переменную, которая будет служить счетчиком. Перед входом в группу операторов, подлежащих многократному выполнению (такая группа операторов называется телом цикла), счетчику присваивается значение 0. Затем следуют операторы тела цикла, среди которых необходимо обязательно разместить оператор, увеличивающий значение счетчика на 1. Завершает всю конструкцию условный оператор, в котором проверяется значение счетчика. Если оно еще не превышает заранее заданного предельного значения, то при помощи оператора GOTO осуществляется переход к первому оператору тела цикла. Операторы тела цикла выполнятся еще раз, и так будет продолжаться до тех пор, пока значение счетчика не превысит заданный предел.

Однако, как уже говорилось выше, оператор безусловного перехода GOTO является своего рода операторным изгоем и применять его благопристойным программистам не рекомендуется. Кроме того, Visual Basic содержит четыре удобных в использовании оператора цикла: FOR ... NEXT, FOR EACH ... NEXT, DO ... LOOP и WHILE ... WEND. Некоторые из этих операторов имеют несколько вариантов синтаксиса и позволяют организовать какие угодно циклы, так что вам нет необходимости пользоваться неправильным оператором GOTO. Далее в этом разделе будут описаны все упомянутые конструкции.

Оператор цикла FOR ... NEXT повторяет группу операторов указанное количество раз. Ниже приведен его полный синтаксис.

FOR счетчик = начало ТО конец [STEP шаг]
[операторы]
[EXIT FOR]
[операторы]
NEXT [счетчик]

где:

счетчик — обязательный элемент; переменная числового типа, используемая в качестве счетчика цикла; переменная не может быть типа Boolean и не может быть элементом массива.

начало и конец — обязательные элементы; выражения, задающие начальное и конечное значение счетчика цикла.

шаг — необязательный элемент; если он используется, то указывается после ключевого слова STEP; этот элемент задает величину приращения счетчика, то есть при каждом прохождении цикла счетчик будет увеличиваться на шаг, пока не достигает значения 1 конец; приращение шаг может быть как положительным, так«и отрицательным; значение 0 задает бесконечный цикл (в этом случае нужно предусмотреть свой собственный вариант выхода из цикла); если шаг не указан, то приращение считается равным 1.

операторы — блок операторов, составляющих тело цикла; ни один из операторов тела цикла не должен менять значение счетчика цикла (это может привести к непредсказуемым последствиям);

EXIT FOR — необязательная конструкция; если присутствует, то при получении управления осуществляет переход за пределы оператора FOR ... NEXT (прерывает выполнение оператора цикла); при помощи конструкции EXIT FOR можно запрограммировать альтернативный вариант выхода из цикла (например, при достижении какоголибо условия, в том числе для выхода из бесконечных циклов); используется в сочетании с условными операторами.

Конструкция NEXT служит для завершения оператора цикла. После ключевого слова NEXT можно указать переменную цикла счетчик, ту же самую, что и в заголовке цикла (после ключевого слова FOR). Это делать не обязательно, но настоятельно рекомендуется. Иначе вы обязательно запутаетесь, особенно при использовании вложенных циклов.

Ниже приведено несколько примеров использования оператора цикла FOR ... NEXT.

1. Вычисление суммы и произведения элементов массива - student2.ru
В приведенном в этом примере цикле вычисляются значения 11 точек параболы, соответствующие значениям абсциссы от -5 до 5. При помощи функции MsgBox эта информация выдается на экран. Обратите внимание на то, как при помощи операции конкатенации в одну строку собирается текстовая информация и значения числовых переменных.

2. Вычисление суммы и произведения элементов массива - student2.ru
В этом примере вычисляется произведение нечетных чисел из первой десятки (нечетный факториал). Шаг приращения задан явно и равен 2.

3. Вычисление суммы и произведения элементов массива - student2.ru
В этом примере проиллюстрирован вариант наиболее частого использования вложенных циклов — инициализация массивов. Во вложенном цикле (по переменной J) происходит инициализация элементов массива для конкретного значения I для всех значений J. Затем во внешнем цикле переменная I увеличивается на 1, и для всех значений J при новом значении Iинициализируются элементы массива. Так задаются начальные значения для всех без исключения элементов массива А.

21 и 22 вопрос Одномерные массивы и двумерные

Одномерный массив – это средство языка программирования, которое позволяет обращаться к любому элементу пронумерованного множества значений. При этом все элементы множества должны иметь одинаковый тип данных, а их количество не должно превосходить некоторого заранее заданного числа, которое называется размером массива.

Двумерный массив можно представить в виде совокупности одномерных массивов (каждая строка - это одномерный массив). Поэтому для каждой строки двумерного массива нужно выполнить следующее действие: "Заполнить одномерный массив". В последнем предложении присутствует слово каждой, поэтому имеет смысл говорить об использовании конструкции цикла. A(5,9)

Объявление массива выполняется аналогично объявлению переменной. уже знакомые нам операторы Dim, Static, Public и Private. По способу описания массивы делятся на Для этого используются две основные группы1:

- массив с заранее известным числом элементов;

- массив, число элементов которого заранее неизвестно.

Объявление массива

При описании массива указывается его имя, затем ставятся круглые скобки, показывающие Visual Basic 2005, что мы организуем массив, и задается тип данных, к которому будут принадлежать все элементы массива. Рассмотрим два случая объявления массива.

Dim a() As Integer

Эта конструкция описывает одномерный целочисленный массив a типа Integer, размер которого заранее неизвестен. Изначально в нем нет ни одного элемента. Размер этого массива будет определен позднее с помощью оператора ReDim.

Dim b(10) As Single

Такая запись определяет одномерный массив b типа Single, в котором будет содержаться 11 элементов пронумерованных от 0 до 10. То есть при описании массива в круглых скобках указывается номер его последнего элемента (это значение не должно выходить за пределы значений типа ULong).

Ввод массива

Обратите внимание, что нумерация элементов массива всегда начинается с нуля независимо от способа объявления массива. Размер этого массива тоже можно будет изменять в процессе выполнения программы с помощью оператора ReDim.

В Visual Basic 2005 нумерация элементов массива всегда начинается с нуля. Следовательно, номер последнего элемента будет на единицу меньше общего количества элементов массива. Поэтому уменьшаем значение переменной n на единицу. Теперь в ней хранится не количество элементов, а номер последнего элемента массива.

n -= 1

Задаем размер массива a(), указывая в операторе ReDim номер последнего элемента массива.

ReDim a(n)

Организуем цикл для ввода значений элементов массива. Элементы массива последовательно пронумерованы от 0 до n. Следовательно, счетчик цикла должен изменяться в этом же диапазоне. Тогда на i-м шаге цикла мы будем вводить элемент массива с номером i.

For i = 0 To n

С помощью функции InputBox вводим значение i-го элемента массива. Так как вводимое значение является числом, то используем преобразование Val.

a(i) = Val(InputBox("Введите " + Str(i) + _"-й элемент массива"))

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

Вычисление суммы и произведения всех элементов массива практически не отличается от аналогичных операций для обработки совокупности чисел. Вычисление происходит путем последовательного накопления значения. Начальное значение суммы – ноль, произведения – единица. На каждом шаге цикла к ранее накопленному значению суммы добавляется значение очередного элемента массива, а значение произведения умножается на значение текущего элемента массива. Рассмотрим особенности программной реализации данного алгоритма.

Объявляем переменные для суммы и произведения соответственно. Тип этих переменных должен всегда совпадать с типом элементов массива.

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

После завершения цикла выводим полученные результаты.

Наши рекомендации