Среда Visual Basic

Автор работы: Пользователь скрыл имя, 25 Марта 2013 в 11:36, реферат

Описание

Visual Basic разработан в 1991 г. фирмой Microsoft как удобное и мощное средство
визуального проектирования программ, работающих в операционной среде Windows.
При относительной простоте языка, он позволяет быстро создавать программный
продукт, который мало отличается от подобных продуктов, созданных профессионалами
с использованием языков C и Pascal.
Модификация языка Visual Basic может использоваться в Microsoft Office, в частности в Excel и Access. Он обеспечивает простой доступ и эффективную обработку
данных различных систем управления базами данных (СУБД).

Работа состоит из  1 файл

Лекции по VB.doc

— 1.35 Мб (Скачать документ)

Программа (тело программы), это последовательность операторов, выполняющихся друг за другом. В каждой строке может помещаться один оператор. В одной строке можно объединить несколько операторов, разделив их двоеточием. В VB есть возможность разделить одну логическую строку на несколько физических. Разделителем строк служит знак подчеркивания, следующий за знаком пробела. Логическая строка может содержать до 1023 символа и не более десяти разделителей.

 

12.1. Оператор безусловного перехода (GoTo)

 

Оператор безусловного перехода передает управление на оператор, помеченный меткой, указанной в операторе GoTo.

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

 

M1: Print “Это метка”

 

Оператор перехода для перехода к оператору с меткой M1 будет иметь вид:

GoTo M1

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

 

Условный оператор If в VB может иметь однострочную или многострочную структуру.

Однострочная структура имеет вид:

 

If <ЛогическоеВыражение> Then <Оператор1> [Else <Оператор2>]

 

где:

  • <ЛогическоеВыражение> - логическое выражение;
  • <Оператор> - один или несколько операторов, разделенных двоеточием.

 

Выполнение:

  • Если <ЛогическоеВыражение> = True (Истина), выполняется <Оператор1>;
  • Если <ЛогическоеВыражение> = False (Ложь), выполняется <Оператор2>;
  • Далее управление передается на следующий за End If оператор (на следующую строку).

 

Многострочная структура имеет  вид:

If <ЛогическоеВыражение1> Then

<Операторы1>

[ElseIf <ЛогическоеВыражение2> Then

[<Операторы2>]

……………………………………

ElseIf <ЛогическоеВыражениеN> Then

[<ОператорыN>]]

[Else

[<ОператорыN+1>]]

End If

 

Выполнение: Последовательно проверяются  логические выражения начиная с  первого. Выполняются те <ОператорыI>, для которых впервые <ЛогическоеВыражениеI> станет равным True. Далее управление передается за End If. Если нет логического выражения равного True выполняются <ОператорыN+1> и управление передается за End If.

 

If Ball >= 14 Then

Sball = “Отлично”

    ElseIf Ball >= 10 Then

Sball = “Хорошо”

    ElseIf Ball >= 5 Then

Sball = “Удовлетворительно”

    Else      ‘ Else :  Sball = “Неудовлетворительно”

Sball = “Неудовлетворительно”

End If

 

Оператор If допускает вложения. Кратность вложения не ограничена.

 

12.3. Условный оператор Select Case

 

  Условный оператор Select Case имеет следующий вид:

 

Select Case <Выражение>

     [Case <Значение1>

[<Операторы1>]]

     [Case <Значение2>

[<Операторы2>]]

     ……………………..

     [Case <ЗначениеN>

[<ОператорыN>]]

     [Case Else

[<ОператорыN+1>]]

End Select

 

Выполнение: Выполняются те первые <ОператорыI>, для которых <Выражение> = <ЗначениеI>. Далее управление передается за End Select. Если нет <ЗначенияI> равного <Выражению>, то выполняются <ОператорыN+1> и управление передается за End Select. Если для разных значений надо выполнить одни операторы, то их можно объединить, записав через запятую или использовать ключевое слово To, если их целый диапазон. Кроме того можно использовать операции отношения при использовании ключевого слова Is:

 

Select Case Ball ‘Ball - Переменная выбора

    Case Is >= 14

Sball = “Отлично”

    Case 10,11,12,13

Sball = “Хорошо”

    Case 5 To 9     ‘5-9

Sball = “Удовлетворительно”

    Case Else   ‘Остальные

Sball = “Неудовлетворительно”

End Select

 

Можно одновременно использовать все три способа: Case 1,3, 7 To 15, Is >23.

Значения переменной выбора могут  быть не только числовыми, но и строковыми. При этом строковые значения берутся  в кавычки: Case "Москва".

 

12.4. Оператор цикла For … Next

 

Цикл – это оператор или группа операторов, которые в программе выполняются многократно.

В VB существуют два основных типа циклов – циклы со счетчиком (с известным числом повторений) и циклы с условием (с неизвестным числом повторений.

Цикл For…Next это цикл со счетчиком:

 

For <Счетчик> = <НачальноеЗначение> To <КонечноеЗначение> [Step <Шаг>]

[<Операторы>]

[Exit For]

Next [<Счетчик>]

 

где:

<Счетчик> - параметр цикла, числовая  переменная, необязательно целого  типа;

<НачальноеЗначение> - выражение,  определяющее начальное значение параметра цикла, необязательно целого типа;

<КонечноеЗначение> - выражение,  определяющее конечное значение  параметра цикла, необязательно целого типа;

<Шаг> - выражение, определяющее  значение на которое увеличивается  (или уменьшается) значение параметра цикла, необязательно целого типа;

For, To, Step, Next – ключевые слова;

Exit For – оператор досрочного выхода из цикла.

 

Порядок работы:

  1. Вычисление и запоминание значений выражений, определяющих начальное и конечное значения параметра цикла, а также шаг;
  2. Присвоение параметру цикла начального значения;
  3. Сравнение параметра цикла с конечным значением и выполнение операторов, если параметр цикла не перешел за конечное значение, и выход из цикла в противном случае;
  4. Присвоение параметру цикла следующего значения, увеличенного или уменьшенного на значение шага;
  5. Переход к пункту 3.

 

Замечания:

  1. Если начальное, конечное значения параметра цикла и значение шага противоречивы, то операторы не выполняются ни разу;
  2. При выходе из цикла значение параметра цикла считается неопределенным, за исключением его искусственного прерывания;
  3. Параметр цикла не может входить в выражения: <НачальноеЗначение>, <КонечноеЗначение> и <Шаг>;
  4. Если опция Step не используется, то значение шага принимается равным единице;
  5. Цикл For допускает вложения. Число вложенных циклов не ограничено. Имя параметра каждого из циклов должно быть уникальным.

 

Пример 1:

For I1 = 5 To 1 Step –0.5

    For I2 = 10 To 15

        Print I1*I2

    Next I2

Next I1 ‘Next I2, I1

 

Пример 2: Каково будет K при выходе из цикла?

K = 0: M = 0

For I = 1 To 10 – M  Step 1 + M

    K = K + 1: M = M + 1

Next I    ‘ K = 10

 

12.5. Оператор цикла Do … Loop

 

Особенностью циклов с условием является условие, может быть любым  выражением логического типа, см. табл. 12.5.1:

 

Таблица 12.5.1

Цикл с предусловием

Цикл с постусловием

Do [While / Until <Лог.Выражение>]

[<Операторы>]

[Exit Do]

Loop

Do

[<Операторы>]

[Exit Do]

Loop [While / Until <Лог.Выражение>]


 

Цикл с While выполняется до тех пор, пока логическое выражение имеет значение True. Цикл с Until выполняется до тех пор, пока логическое выражение имеет значение False. Если логическое выражение проверяется в начале цикла, то операторы могут никогда не выполняться, если логическое выражение принимает с самого начала неподходящее значение. Если логическое выражение проверяется в конце, то операторы выполняются хотя бы один раз. Для досрочного выхода из цикла используется Exit Do. Если While / Until <Лог.Выражение> отсутствует, то цикл превращается в бесконечный.

 

В VB есть еще один оператор While:

 

While  <Выражение>

[<Операторы>]

Wend

 

Выполнение: Тело цикла (<Операторы>) выполняется  пока <Выражение>=True. Выход из цикла  осуществляется как только оно станет равным False.

 

Замечание: Тело цикла может совсем не выполняться, если вначале <Выражение>=False.

Для этого  цикла нет оператора досрочного выхода, кроме GoTo.

 

Пример1:

Dim S As Integer, I As Integer

S = 2: I = 1

Do While S < 10

  S = S + I

  I = I + 1

Loop  ‘S = 2 + 1 + 2 + 3 + 4 = 12

 

Пример2: Составить программу для  вычисления суммы ряда:

y=1 + 2/x + (2*3)/x^2 + (2*3*2)/x^3 + (2*3*2*3)/x^4 + ... принимая, что |x|>3.

Вычисления продолжать до тех пор, пока модуль разности между слагаемым  и его предыдущим значением не станет меньше заданной величины (точности вычисления).

 Command1    Click

Private Sub Command1_Click()

Dim x!, tv!   ‘Single

x = Val(Text1.Text)

tv = Val(Text2.Text)

Dim pr!, sl!, s!

Dim m As Byte, zn%  ‘Integer

s = 0: pr = 0: sl = 1: m = 2: zn = 1

Do While Abs(pr - sl) > tv

  s = s + sl

  pr = sl: sl = sl * m / x

  m = m + zn: zn = -zn

Loop

Text3.Text = Str(s)

End Sub

 Command2    Click

Private Sub Command2_Click()

  End

End Sub

 

Результаты работы программы представлены на рис. 21:

 

 

Рис. 21.

 

13. Процедуры и функции

 

В языке VB имеется два вида подпрограмм (subroutine), это процедуры и функции.

Процедуры подразделяются на процедуры  обработки событий и общие  процедуры.

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

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

13.1. Процедуры

 

  Процедура в языке VB имеет вид:

 

[Public / Private][Static] Sub <ИмяПроцедуры> ([<CписокФормальныхПараметов>])

[<Объявление переменных процедуры>]

[<Операторы>]

[Exit Sub]

End Sub

 

Public / Private – необязательные ключевые слова, определяющие область видимости процедуры. Глобальная (Public) доступна из других модулей. Локальная (Private) доступна только внутри данного модуля. Если область видимости явно не указана, то по умолчанию она будет определена как глобальная.

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

Exit Sub – необязательный оператор, прерывающий выполнение процедуры и возвращающий управление на оператор, следующий за оператором вызова.

<CписокФормальныхПараметов> - это список входных и выходных параметров. Входной параметр – параметр, значение которого должно быть определено до начала работы процедуры, и переданный в процедуру в момент ее вызова. Выходной параметр – это параметр, значение которого определяется в результате работы процедуры. Процедура может не иметь входных параметров или не иметь выходных или и тех и других. В этом случае в заголовке процедуры останутся только пустые круглые скобки. Кроме того любой из параметров может быть одновременно и входным и выходным. Это касается общих процедур. Процедуры обработки событий имеет набор параметров, зависящих от конкретного события и не может быть изменен разработчиком. Список формальных параметров имеет вид:

 

[ByRef / ByVal] <ИмяПараметра1>[()] [As <ИмяТипа1>]

[, [ByRef / ByVal] <ИмяПараметра2>[()] [As <ИмяТипа2>] [, ….. ]]

 

ByVal / ByRef – определяет способ передачи данных в процедуру при ее вызове.

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

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

По умолчанию – ByRef.

Процедуры обработки событий и  общие процедуры вызываются по-разному. Первые запускаются автоматически  в случае совершения события. Для  запуска общих процедур используется следующий оператор:

 

[Call] <ИмяПроцедуры> [(]<СписокФактическихПараметров>[)]

 

<СписокФактическихПараметров> - список  параметров, которые замещают формальные  параметры при исполнении процедуры.  Элементы списка записываются  своими именами или значениями  и разделяются запятыми. Он должен  быть согласован (совпадать) со  списком формальных параметров по количеству элементов, их типам и по порядку их следования.

Если при вызове процедуры используется ключевое слово Call, то список фактических параметров должен быть указан в скобках. Если процедура вызывается без использования Call, то параметры перечисляются без скобок. Если процедура не имеет параметров и используется слово Call, то после имени процедуры следует ставить пустые скобки.

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

 

Пример1: Повторение примера приведенного на рис. 17. (стр. 14, сложение двух чисел):

 (General)    (Declarations)

Option Base 1

 (General)       Sum

Sub Sum(A() As Single)

    A(3) = A(2) + A(1)

End Sub

 Command1    Click

Private Sub Command1_Click()

  'Dim A As Single

  'Dim B As Single

  Dim C(3) As Single

  'A = Val(Text1.Text)

  'B = Val(Text2.Text)

  C(1) = Val(Text1.Text)

  C(2) = Val(Text2.Text)

  Call Sum(C())                          ‘ Sum C()

Информация о работе Среда Visual Basic