Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика. Ответы на билеты.doc
Скачиваний:
129
Добавлен:
22.06.2014
Размер:
337.41 Кб
Скачать

92. Ветвление в программах. Условные операторы в Visual Basic.

Строка кода в программе на Visual Basic называется оператором программы. Оператор программы является комбинацией ключевых слов Visual Basic, свойств, функций, арифметических или логических операторов и символов, которые вместе образуют допустимую инструкцию, распознаваемую компилятором Visual Basic.

93. Массивы и операции циклов

Урок 22. Операторы циклов For...Next и For Each

Циклы в VB.NET похожи на циклы в других языках программирования. На этом занятии мы рассмотрим циклы двух типов - циклы For...Next и For Each. Циклы For...Next выпоялняются опеределенное число раз. Т. е. если вам заранее известно, сколько раз должен выполнится ваш цикл, то используем цикл For...Next. Цикл For Each используется для обхода элементов коллекций и массивов. Например, с помощью For Each можно перечислить (обойти) все элементы на форме или обработать все строки тамбицы в базе данных.

Вот пример на оператор For...Next:

Dim A(10) As Integer

Dim i As Integer

For i = 0 To 9

'Заполняем массив квадратами чисел

A(i) = i * i

Next

For i = 0 To 9

'Выводим элементы массива

Console.WriteLine(A(i))

Next

В этом примере массив из 10 целых сначала заполняется квадратами чисел, потом элементы массива выводятся на экран. Вместо строки

...

Next

...

Можно написать

...

Next i

...

В циклах типа For...Next счетчик цикла (i в данном случае) изменяется автоматически.

В приведенном примере счетчик увеличивается при каждом прохождении цикла на 1. Если вам нужен другой шаг, то используем конструкцию с Step:

For i = 0 To 9 Step 2

'Что-то делаем

Next

Такой цикл выполнится 5 раз.

Теперь рассмотрим пример на цикл For Each:

Dim z As Integer

Dim A(10) As Integer

'Заполняем массив A

...

For Each z In A

If z > 10 Then

Console.WriteLine(z)

End If

Next

Как вы видите, мы в нашем цикле пробегаем все элементы в массиве A (это видно из конструкции In A). Если элемент массива оказался больше 10, мы выводим его на экран.

Обычно циклы For Each используются для перечисления элементв всевозможных коллекций (например, элементов на форме или всех шрифтом в Windows).

Использование массивов данных при решении задач. Массивы в ВБ. Индексированные переменные. Описание массивов. Порядок назначения нижней и верхней границ индексов массивов. Массивы элементов управления. Порядок создания массивов элементов управления. Массивом можно назвать ряд ячеек памяти, отведенных для хранения индексированной переменной. X1,Y2, Zt+1, Mi,j+1 – индексные переменные. => Х(1), Y(2), Z(i+1), M(I, f+1) – в ЯПВУ, предназначены для работы с числовыми рядами. dlina (1), dlina (2), dlina (3) – массив одномерный. Dim dlina (1 to 3) As Integer – описание массива в программе, причем 1 – нижняя граница массива, 3 – верхняя граница массива. Индексация массивов необязательно начинается с 0 или 1. Массив элементов управления образуется с помощью свойства Index, назначая свойства Index, мы говорим компьютеру, что данный объект считается элементом массива. Массив элементов управления – это ряд пронумерованных объектов. Способ создания: 1) Назначение свойства Index на этапе проектирования. 2) Путем копирования в Win (copy/paste). 3) Программным путем (Load Text 1(1) – метод). Load загружает на форму объект с именем Text1(1). Двумерные массивы. Задаются аналогично одномерным: Dim dlina (1 to 3, 1 to 4) As Integer, где в скобках через запятую перечисляются границы по двум направлениям, первыми (1 to 3) границы по вертикали, а вторыми по горизонтали(1 to 4). Обращение к элементу двумерного массива: dlina(1,3) – элемент в первой строчке, третьем столбце.

Для хранения нескольких значений переменных используются массивы данных:

Static х(2) As Integer (x=0,1,2).

Если размер массива не может быть определен заранее, то используется динамический массив:

Dim Y() As Integer.

Для определения констант используется ключевое слово:

Const Pi = 3.142.

. Массив, как параметр процедуры

Rem Программа_2.5 – Массив, как параметр процедуры

Sub Main()

Dim n As Integer

Dim s As Single

Dim x(2) As Single

n = 2

x(1) = 5: x(2) = 15: s = 0

Call sumir(x(), n, s) ‘ вызов процедуры суммирования элементов массива

MsgBox "s = " & Str(s)

End Sub

Sub sumir (x() As Single, n As Integer, s As Single)

Dim i As Integer

For i = 1 To n

s = s + x(i)

Next i

End Sub

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

Пользовательские функции (не библиотечные функции, составляемые самим пользователем) объявляются при вводе в окне редактирования кода заголовка из ключевого слова Function и следующего за ним имени функции с требуемыми аргументами в круглых скобках. После этого автоматически появляется следующий шаблон:

Function ИМЯ_ФУНКЦИИ

End Function

В пространство между именем функции и ключевыми словами End Function вносятся необходимые операторы.

Если при вызове функции ей должны передаваться какие-либо значения (аргументы), то в заголовке после имени функции надо через запятую перечислить соответствующие переменные.

Общий синтаксис определения функции:

Function ИМЯ_ФУНКЦИИ(ПАРАМЕТР_1[, ПАРАМЕТР_2]...) [Static]

ОПЕРАТОР_1

[ОПЕРАТОР_2]

...

ИМЯ_ФУНКЦИИ = ВЫРАЖЕНИЕ

End Function

где ПАРАМЕТР – элемент данных, передаваемый функции при ее вызове; Static – при наличии в объявлении функции данного ключевого слова локальные переменные, объявленные в теле функции, сохраняют свои значения в промежутках между вызовами этой функции.

Способы вызова функций: X = fun1(Y), или Call fun1 Y.

Если функция должна возвращать символьное (строковое) значение, то последним символом в ее имени должен быть знак $.

Каждая функция всегда возвращает только одно значение.

Примеры функций:

1. Передача параметра из функции

Rem Программа_2.6 – Передача параметра из функции

Sub Main()

Dim x As Single, y As Single, s As Single

x = 5: y = 15

s = sumir(x, y) ‘ вызов функции суммирования двух чисел

MsgBox "s = " & Str(s)

End Sub

Function sumir! (x!, y!) ‘ определение функции суммирования двух чисел

sumir! = x! + y!

End Function

Для хранения величин кроме простых переменных можно использовать массивы. Массив представляет собой набор переменных с одним именем и разными индексами. Каждая такая переменная называется элементом массива. Количество хранящихся в массиве элементов называется размером массива. Размер массива ограничен объемом оперативной памяти и типом данных элементов массива. Все элементы массива имеют одинаковый тип. Однако если массив имеет тип variant, то отдельные элементы могут содержать данные разных типов. Например, одни элементы могут быть числами, другие — строками или объектами. В Visual Basic существуют массивы фиксированного размера и динамические массивы. Массив фиксированного размера имеет неизменный размер, заданный при его объявлении. Динамические массивы могут изменять размер в процессе выполнения. Что такое двумерный массив? Это такой набор однотипных данных, местоположение каждого элемента которого определяется не одним индексом, а двумя. Например, для тех, кто с детства играл в "морской бой", не будет открытием, что каждая клеточка игрового поля обозначается двумя символами — буквой и цифрой, например, А5 — "мимо", И10— "попал", Ж7 — "убит". Только в Бейсике принято в качестве индексов использовать все же целые числа. Жизненный пример применения двумерных массивов — билеты в кино или театр, имеющие для каждого зрителя две координаты — ряд и место'.

Описываются подобные массивы в Бейсике тем же оператором dim, после которого в скобках указываются две размерности массива — количество строк и количество столбцов.