Уроки, Туториалы, Мануалы со всего света!

На этом форуме, будет находится огромное количество уроков и мануалов, сделайте небольшой вклад, и опубликуйте хотя бы один урок.
Текущее время: 18-10, 23:19

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Учебник 1. Урок № 11. Выражения.
СообщениеДобавлено: 05-02, 18:03 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 13-12, 03:24
Сообщения: 89
Откуда: Украинос!
Итак, с переменными мы разобрались. Теперь займёмся выражениями.

Выражения

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

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> b). Т.е. Visual Basic сравнивает эти переменные, и смотрит, c > b? Если да, то значение этого выражения сравнения - True. Если же нет, то False.
То же самое, только bRes будет содержать значение False, т.к. c больше b, а не меньше, как указано в выражении.
Здесь происходит сравнение значений переменных a и c. Т.е. a больше или равно c? В нашем случае a = 234, c = 1000, значит не больше и не равно (меньше). bRes будет содержать False.
b сравнивается с числом 4. Вспомните, ведь 4 - это тоже выражение, со значением 4! Т.к. b > 4, то bRes = False.
Здесь также происходит сравнение переменной b с числом, 5. Но на этот раз одно из условий выполнени, а именно b = 5! Значит bRes = True.
Очевидно, что b <> a. Стало быть bRes должно быть равно True!? Да, так оно и есть... ;)
Обратите внимание на этот пример. После выполнения этой строчки, 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).
Здесь ничего особенно не происходит. 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. Подробнее всё это мы рассмотрим далее.

_________________
Прочтите это одно правило, плиз :)
Большой мой вам совет!
Работа на дому
StimuL CompaNy
Turbo-Dizel


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by Forumenko © 2006–2014
Русская поддержка phpBB