- •Переменные и массивы в языке visual basic .Net
- •Локальные переменные и переменные-члены
- •Переменные экземпляров и общие переменные
- •Сохранение значений в массиве
- •Заполнение массива начальными значениями
- •Вложенные литералы массива
- •Перебор массива
- •Массивы как возвращаемые значения и параметры
- •Массивы массивов
- •Массивы нулевой длины
- •Размер массива
- •Типы массива и другие типы
- •Коллекции как альтернатива массивам
Московский технический университет связи и информатики
КУРСОВАЯ РАБОТА ПО ДИСЦИПЛИНЕ:
АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ
ПО ТЕМЕ:
Переменные и массивы в языке visual basic .Net
Вариант № 0
Студент гр. 2БШИ1403 Леонова Е.В.
Преподаватель ____________/ Ерохин А.Г./
Visual Basic .NET (в дальнейшем VB.NET) представляет собой объектно-ориентированный язык программирования, реализованный на платформе Microsoft .NET. VB.NET не имеет обратной совместимости с более ранней версией (Visual Basic 6.0).
Переменные в VB.NET
При выполнении вычислений в Visual Basic часто приходится сохранять значения. Например, может возникнуть необходимость вычислить несколько значений, сравнить их и выполнить некоторые операции над ними в зависимости от результатов сравнения. Необходимо сохранить значения, если их нужно сравнить.
Visual Basic, как и большинство языков программирования, использует переменные для хранения значений. У переменной есть имя (слово, которое будет использоваться для ссылки на значение, которое содержит переменную). Переменная также имеет тип данных (который определяет тип данных, которые можно хранить в переменной). Переменная может представлять массив, если необходимо хранить индексированную последовательность связанных элементов данных.
Вывод локального типа позволяет объявлять переменные без явного указания типа данных. Компилятор определяет тип данных переменной из типа выражения, которое ее инициализирует.
Переменная объявляется для того, чтобы задать ее имя и характеристики. Оператором объявления переменных является Оператор Dim (Visual Basic). Его местоположение и содержание определяют характеристики переменной.
Локальные переменные и переменные-члены
Локальная переменная — это переменная, объявленная внутри процедуры. Переменная–член является членом типа Visual Basic; она объявляется на уровне модуля, внутри класса, структуры или модуля, но не внутри любых процедур этого класса, структуры или модуля.
Переменные экземпляров и общие переменные
В классе или структуре категория переменной–члена зависит от того, используется ли она совместно. Если переменная объявлена с зарезервированным словом Shared, она является общей переменной и существует в единственном экземпляре, разделяемом между всеми экземплярами класса или структуры.
В противном случае это переменная экземпляра, и отдельные ее копии создаются для каждого экземпляра класса или структуры. Заданный копия переменной экземпляра доступно только на экземпляр класса или структуры, в котором он был создан. Он не зависит от копии переменной экземпляра в любом другом экземпляре класса или структуры.
Предложение As в операторе объявления позволяет определить тип данных или тип объекта объявляемой переменной. Можно указать любой из следующих типов переменных.
Простой тип данных, например Boolean, Long или Decimal.
Составной тип данных, например массив или структура.
Объектный тип объекта или класс, определенный либо в вашем приложении, либо в другом
Класс .NET Framework, такой как Label или TextBox
Тип интерфейса, такой как IComparable или IDisposable
Можно
объявить несколько переменных в одном
операторе без повторения типа данных. В
следующих операторах
переменные i ,j и k объявляются
как тип Integer,l и m как Long, x и y как Single:
Dim i, j, k As Integer
' All three variables in the preceding statement are declared as Integer.
Dim l, m As Long, x, y As Single
' In the preceding statement, l and m are Long, x and y are Single.
Определение
типа используется для определения
типов данных локальных переменных,
объявленных без предложения As. Компилятор
выводит тип переменной из типа
инициализированного выражения. Показано,
как объявлять переменные без явного
указания типа. В следующем примере
и num1, и num2 имеют
тип целых чисел.
VB
Public Sub inferenceExample()
' Using explicit typing.
Dim num1 As Integer = 3
' Using local type inference.
Dim num2 = 3
End Sub
Время жизни переменной — это период времени, в течение которого переменную можно использовать. В общем случае переменная существует, пока продолжает существовать элемент, объявляющий ее (например, процедура или класс). Если существование переменной должно прекратиться после окончания времени существования содержащего его элемента, вам не нужно ничего делать специальное в объявлении. Если переменная должна существовать дольше, чем содержащий ее элемент, можно включить ключевое слово Static или Shared в ее оператор Dim.
Область действия переменной — это совокупность всего кода, в котором можно обращаться к переменной без уточнения ее имени. Область действия переменной определяется местом, в котором она была объявлена. Код, расположенный в определенной области, может использовать переменную, объявленную в этой области, без уточнения ее имени. Дополнительные сведения см. в разделе Область видимости в Visual Basic.
Уровень доступа переменной — пространство кода, обладающего разрешением на доступ к ней. Он определяется модификатором доступа (например Public (Visual Basic) или Private (Visual Basic)), который используется в инструкции Dim.
Все переменные в VB.NET имеют свой тип. Каждый тип переменной полезен по своему. Самые главные типы переменных используемые в VB.NET :
Byte - целое число не имеющий знака, для хранения переменной отводится 1 байт, положительное(от 0 до 255)
Shotr - целое число, отводится 2 байта, короткое( от -32768 до 32767)
Boolean - логический тип( Истина(True) - Ложь(False)), для хранения переменной отводится 2 байта
Integer - обычное целое число(от -2147483648 до 2147483647), для хранения переменной отводиться 4 байта
String - строка, произвольный текст, чаще всего используемый
Date - дата и время
Double - десятичная дробь, двоичной точности
Long - целое число, длинное(от -9223372036854775808 до 9223372036854775807)
Single - десятичная дробь, обычная точность
Decimal - десятичная дробь длинная, абсолютной точности
Char - любой символ(из 65536 состоящий из букв, цифр, символов и других)
Типы переменных которые мы не будем пока использовать :
Enumerations - перечисления. Типов перечислений много и все с разными именами
Structures - структуры – пользовательские типы. Типов структур много и все с разными именами
Классы - типов классов огромное количество и все с разными именами.
Object - объект – всеобъемлющий тип-хамелеон
Переменные объявляются при помощи оператора Dim. Попробуем объявить переменную
1 |
Dim Str As String |
- тут объявлена переменная Str в типе String. За место Str - может быть любая буква или слово на русском или на английском.
1 |
Dim Стр As String |
- суть не изменилась.
Объявление несколько переменных в одном типе :
1 |
Dim a, b, c As Integer |
Установка значения переменных одним оператором:
1 2 3 |
Dim Str As String = "Привет мир!" Dim Int As Integer = "5" Dim Doub As Double = "1.2" |
Можно сначала объявить, а впоследствии присвоить ей значение:
1 2 3 4 5 6 |
Dim Str As String Str = "Переменные" Dim Int As Integer Int = "5" Dim Doub As Double Doub = "1.2" |
Оператор присваивания:
1 2 3 4 5 |
Dim a, b, s As Integer a = 10 b = 10 s = a + b MsgBox(s) |
- результат будет 20. Обычное сложение. Тут мы встретили новое для нас слово MsgBox про которое вы узнаете в этом уроке MessageBox.
Теперь осталась рассказать как и куда объявлять переменные : переменные можно объявить как для одной процедуры, так и для всех.
Объявление для одной процедуры :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Public Class Form1 Dim a As String ' объявили общую переменную для всех процедур Button1_Click и Button2_Click Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim b, s As Integer ' обявили переменную для одной процедуры Button1_Click a = 10 b = 10 s = a + b MsgBox(s) End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click a = 100 MsgBox(a) End Sub End Class |
Массивы в VB.Net
Массив представляет собой набор значений, логически связанных друг с другом, например, число учеников в каждом классе в школе.
С помощью массива можно ссылаться на связанные значения по одному имени и используя номер, называемый индексом или подиндексом, чтобы отличить элементы друг от друга. Отдельные значения, называются элементами массива. Они представляются непрерывной последовательностью от индекса 0 до наибольшего значения индекса.
В отличие от массива, переменная, содержащая одиночное значение, называется скалярной переменной.
В следующем примере объявляется переменная массива для хранения числа учеников в каждом классе школы.
VB
Dim students(6) As Integer
Массив students в
предыдущем примере содержит семь
элементов. Индексы элементов лежат
в диапазоне от 0 до 6. Использовать
массив проще, чем объявить семь отдельных
переменных.
В
следующем примере показано обращение
к первому, второму и последнему элементу
массива students:
VB
Dim kindergarten As Integer = students(0)
Dim firstGrade As Integer = students(1)
Dim sixthGrade As Integer = students(6)
MsgBox("Students in kindergarten = " & CStr(kindergarten))
MsgBox("Students in first grade = " & CStr(firstGrade))
MsgBox("Students in sixth grade = " & CStr(sixthGrade))
Можно ссылаться на массив в целом, используя только имя переменной массива без индексов.
Массив students в
предыдущем примере использует один
индекс и считается одномерным. Массив,
использующий более одного индекса,
называется многомерным массивом. Дополнительные
сведения далее в этом разделе в
разделе Размерность
массивов в Visual Basic.
Размер массива можно задать несколькими способами. Можно указать размер при объявлении массива, как показано в следующем примере.
VB
Dim cargoWeights(10) As Double
Dim atmospherePressures(2, 2, 4, 10) As Short
Dim inquiriesByYearMonthDay(20)()() As Byte
Также можно указать размер массива при создании с помощью предложения New, как показано в следующем примере.
VB
cargoWeights = New Double(10) {}
atmospherePressures = New Short(2, 2, 4, 10) {}
inquiriesByYearMonthDay = New Byte(20)()() {}
Если уже существует массив, можно переопределить его размер с помощью оператора Redim. Можно указать оператору Redim сохранить значения, уже имеющиеся в массиве, или указать создать новый пустой массив. В следующем примере показаны различные варианты использования оператора Redim для изменения размера существующего массива.
VB
' Assign a new array size and retain the current element values.
ReDim Preserve cargoWeights(20)
' Assign a new array size and retain only the first five element values.
ReDim Preserve cargoWeights(4)
' Assign a new array size and discard all current element values.
ReDim cargoWeights(15)
Переменная массива объявляется так же, как любая другая переменная, с помощью инструкции Dim. За именем переменой следуют одна или более пар скобок, показывающие, что это массив, а не скаляр (переменная, содержащая одно значение).
После объявления массива можно определить его размер с помощью Оператор ReDim (Visual Basic).
В следующем примере объявляется переменная одномерного массива путем добавления пары скобок после типа. В примере также определяется измерения массива с помощью Оператор ReDim (Visual Basic).
VB
' Declare a one-dimensional array.
Dim cargoWeights As Double()
' Dimension the array.
ReDim cargoWeights(15)
В следующем примере объявляется переменная многомерного массива путем добавления одной пары скобок после типа и запятых внутри скобок для разделения измерений массива. В примере также определяется измерения массива с помощью Оператор ReDim (Visual Basic).
VB
' Declare a multidimensional array.
Dim atmospherePressures As Short(,,,)
' Dimension the array.
ReDim atmospherePressures(1, 2, 3, 4)
Для объявления переменной массива массивов добавьте пару скобок после имени переменной для каждого уровня вложенных массивов.
VB
Dim inquiriesByYearMonthDay()()() As Byte
В предыдущих примерах объявляются переменные массива, но массивы им не присваиваются. По-прежнему необходимо создать массив, инициализировать его и присвоить его переменной.
