Visual Basic. Программирование на Visual Basic

..........................................................................................................................

[ Главная ] [ Статьи ] [ Для новичков ] [ Примеры ] [ Программы ] [ Microsoft Agent 2.0 ] [ Пособие ] [ Уроки ] [ Разное ]
..........................................................................................................................


Урок № 11. Выражения

Итак, с переменными мы разобрались. Теперь займёмся выражениями.

Выражения

Для начала разберёмся с понятием "выражение". В любом языке программирования выражения являются основными кирпичиками, из которых строится программа. Согласно самому точному определению, которое мне попадалось, "выражение" - это "что-то, что содержит значение". За примером далеко ходить не нужно, возьмём пример из предыдущего урока:

b = 234

Здесь мы присваиваем переменной b значение 234. Другими словами "234" - это выражение со значением 234. А теперь, к примеру рассмотрим строчку:

c = b

Здесь переменной c присваивается выражение b. Значение этого выражения -
b = 234. Т.е. другими словами b - выражение, со значением 234. Рассмотрим более сложный пример выражения - функцию. Объявим функцию MyFunc, возвращающую байт 234:

Public Function MyFunc() As Byte
    MyFunc = 234
End Function

А теперь запишем строку:

c = MyFunc()

Как вы уже наверное догадались, выражение здесь - MyFunc(), со значением 234. Т.е. после присвоения переменной c выражения MyFunc(), она будет содержать значение 234. А вот ещё пример:

c = 5 + 5 * 2

Здесь выражение это 5 + 5 * 2. Значение этого выражения не трудно посчитать, оно равно 15 (не 20!). Можно было бы написать и так:

c = MyFunc() - 219

Здесь значение выражение такое же, как и в предыдущем случае, но вот сами выражения разные. Это важно понимать.

Также необходимо отметить значение скобок в выражениях. Помните скобки в школе? Так вот в Visual Basic скобки выполняют ту же функцию, что и в школе, а именно - задают приоритет операции. К примеру, модифицируем выражение 5 + 5 * 2 на:

c = (5 + 5) * 2

Теперь значение этого выражения не 15, а 20! Запомните это.

Идём дальше. Рассмотрим другие, очень распространённые выражения - выражения сравнения. Такие выражения возвращают True или False, в зависимости от получившегося значения выражения. К таким выражениям относятся:

Dim bRes As Boolean ' переменная для хранения результата
Dim a As Long
Dim b As Byte
Dim c As Long

a = 234 ' переменные для теста
b = 5
c = 1000

bRes = c > b ' 1
bRes = c < b ' 2
bRes = a >= c ' 3
bRes = b <= 4 ' 4
bRes = b <= 5 ' 5
bRes = a <> b ' 6
bRes = Not (a = b) ' 7
bRes = c = MyFunc() ' 8
' и им подобные...

Итак, рассмотрим каждый случай подробно:

  1. Здесь, переменной типа Boolean - bRes присваивается значение выражения (c > b). Т.е. Visual Basic сравнивает эти переменные, и смотрит, c > b? Если да, то значение этого выражения сравнения - True. Если же нет, то False.
  2. То же самое, только bRes будет содержать значение False, т.к. c больше b, а не меньше, как указано в выражении.
  3. Здесь происходит сравнение значений переменных a и c. Т.е. a больше или равно c? В нашем случае a = 234, c = 1000, значит не больше и не равно (меньше). bRes будет содержать False.
  4. b сравнивается с числом 4. Вспомните, ведь 4 - это тоже выражение, со значением 4! Т.к. b > 4, то bRes = False.
  5. Здесь также происходит сравнение переменной b с числом, 5. Но на этот раз одно из условий выполнени, а именно b = 5! Значит bRes = True.
  6. Очевидно, что b <> a. Стало быть bRes должно быть равно True!? Да, так оно и есть... ;)
  7. Обратите внимание на этот пример. После выполнения этой строчки, bRes будет равно True! Здесь выражение Not (a = b) вычисляется следующим образом: сначала Visual Basic сравнивает значения a и b. После того, как VB убедится в том, что a <> b (т.е. False), он вычисляет выражение:
    Not (False). Оператор Not - это булев оператор отрицания. Он инвертирует значение. В данном случае из False получается True. (на более низком уровнем, могу добавить, что оператор Not инвертирует все биты операнда, в данном случае, т.к. False в VB - это 0, а True - FFFF, то значение выражения - True).
  8. Здесь ничего особенно не происходит. bRes = False. Почему? Пусть это будет вашим домашним заданием :).

Ну и последний пример, который иллюстрирует применение выражений сравнения. Сделаем так, чтобы переменной a присвоилось значение 234, если
c = b, и 100, если c <> b:

If c = b Then a = 234
If c <> b Then a = 100

А можно так:

If c = b Then
    a = 234
End If

If c <> b Then
    a = 100
End If

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

If c = b Then
    a = 234 ' строчка #1
Else
    a = 100 ' строчка #2
End If

Здесь конструкция If выполнит строчку #1 тогда и только тогда, когда c будет равно b. Если же они не будут равны, то выполниться строчка #2. Подробнее всё это мы рассмотрим далее.

Итак, с выражениями, я думаю, мы окончательно разобрались. Теперь, если вы запомнили, что такое константа, переменная и выражение, то можно ехать дальше. К уроку №12.



..........................................................................................................................

[ Главная ] [ Диски ] [ Книги ] [ Архив рассылки ] [ Архив новостей ] [ Готовые кусочки программ ] [ Карта сайта ]
..........................................................................................................................

По страницам сайта Visaul Progs
или Изучение Visual Basic
Рассылка 'По страницам сайта Visaul Progs' >>> Подпишись на рассылку - будешь получать новые статьи , примеры и много полезной информации из первых рук!!! >>>Если у вас есть статья которой нет на сайте
пришлите ее мне-------->
Послать статью
>>>Если вы хотите задать вопрос
пишите-------->
Мне нужна помощь


Рейтинг сайтов YandeG Rambler's Top100
Реклама:

...:::Design by Mystf0rse 2005-2010 year:::...