Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
52
Добавлен:
07.06.2015
Размер:
2.04 Mб
Скачать

3.4. Выражения и функции

      1. Выражения

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

Значения арифметических выражений вычисляются по правилам, которые являются общеизвестными, и мы не будем на них подробно останавливаться. Приведём лишь таблицу арифметических операций, используемых в языке Visuа1 Ваsiс. Таких операций восемь (табл. 3.3).

Таблица 3.3

Операция

Описание операции

A ^ B

Возведение А в степень В

-A

Перемена знака А

A*B

Умножение А на В

A / B

Деление А на В

A \ B

Целочисленное деление А на В

A mod B

Деление по модулю А на В

A + B

Сложение А с В

A - B

Вычитание В из А

Эти операции наверняка хорошо Вам знакомы и не требуют пояснений. Приведём примеры:

(3 + 2)/(6 - 4); значение выражения равно 2.5;

-3 * (-3); значение выражения равно 9;

2^2 + 1; значение выражения равно 5.

Возможно, что для вас исключение составляют операции целочисленного деления и деления по модулю: \ и Моd. Смысл этих операций заключается в следующем.

Результатом целочисленного деления одного числа на другое является целая часть их отношения, например: значение выражения 34 \ 5 равно 6.

Результатом деления по модулю одного числа на другое является дробная часть их отношения, например: значение выражения 34 Моd 5 равно 4.

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

Строка - это значение переменной типа String.

Строка - это либо упорядоченная последовательность символов, либо пустая строка. Для обозначения строки используются кавычки:

« » - обозначение пустой строки;

«Иван» - пример непустой строки.

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

Число символов строки называется длиной строки. Длина пустой строки равна нулю.

Каждый символ строки имеет свою позицию - порядковый номер при счёте слева направо.

Например, символ И в строке «Иван» имеет позицию 1, а символ н - позицию 4.

В Бейсике используется понятие подстроки. Строго определять его мы не будем, ограничимся примерами:

«Иван» - это подстрока строки «Иванов»;

«+1» - это подстрока строки «Число+100»;

«01» не является подстрокой строки «Число+100».

(Сможете ли вы сами по этим примерам определить понятие подстроки?)

Подстрока S1 строки S называется левой подстрокой, если их первые символы совпадают («Иван» - левая подстрока строки «Иванов»).

Подстрока S1 строки S называется правой подстрокой, если их последние символы совпадают («ов» - правая подстрока строки «Иванов»).

Конкатенацией двух строк S1 и S2 называется такая строка S, для которой S1 и S2 - это левая и правая подстроки, а длина S равна сумме длин S1 и S2, например:

«12345678» - это конкатенация строк «12345» и «678».

Знак конкатенации в Visual Basic - это знак +. Но не надо путать конкатенацию строк со сложением чисел в арифметических выражениях, хотя знак используется один и тот же!

В языке Visual Basic применяется ещё один знак конкатенации: & (амперсанд). С его помощью можно подвергнуть конкатенации не только строки, но и числа. При этом числа будут сначала преобразованы в строки (обрамлены кавычками). И результат тоже будет строкой.

Пример 3.9

Код 3.9 демонстрирует конкатенацию строк и чисел с помощью знака &:

Код 3.9

Dim Строка 1 Аs String, Строка2 Аs String, _

Результат Аs String

Строка 1 = «Объём комнаты»

Строка2 = « куб. метров»

Результат = Строка1 & 2.5 * 3 * 5 & Строка2

После выполнения этого кода значением переменной результат будет строка «Объём комнаты 37.5 куб. метров».

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

Аргументы в определениях функций будем записывать с суффиксами для указания их типа.

Функция определения длины строки. Синтаксис функции:

Len (Строка$)

Функция возвращает длину Строки$.

Например:

Len («Иван» + «Иванович») возвращает 12;

Lеn («Иван» + « » + «Иванович») возвращает 13;

Lеn (900 & «-» & 4567) возвращает 8.

Функции выделения подстроки. Таких функций три:

Мid ( Строка$, Позиция& [, Длина&] )

В Строке$ выделяется подстрока начиная с заданой Позиции&. Длину& выделяемой подстроки можно не указывать, тогда будет возвращена подстрока от данной Позиции& до конца Строки$.

Например:

Мid Иван Иванович», 6) возвращает «Иванович»;

Мid Иван Иванович», 6, 2) возвращает «Ив».

Left (Строка$, Длина&)

В Строке$ выделяется левая подстрока Длиной&. Она и будет возвращаемым значением.

Например:

Left («Иван Иванович», 4) возвращает «Иван»

Right (Строка$, Длина&).

В Строке$ выделяется правая подстрока Длиной&. Она и будет возвращаемым значением.

Например:

Right Иван Иванович», 8) возвращает «Иванович».

Функция поиска подстроки. Синтаксис функции:

InStr ([Старт&,] Строка$, Подстрока$)

В Строке$ ищется то место, где находится Подстрока$. Возвращается позиция первого символа Подстроки$. Если Подстрока$ не найдена, возвращается 0.

Старт& — необязательный аргумент — номер той позиции, с которой начинается поиск. Например:

InStr Иван Иванович», «Иван») возвращает 1;

InStr («Иван Иванович», «Пётр») возвращает 0;

InStr (1, «Иван Иванович», «Иван») возвращает 1;

InStr (2, «Иван Иванович», «Иван») возвращает 6.

Функции преобразования предназначены для преобразования данных из одного типа в другой.

Таких функций в Visul Basic довольно много. Например, целый ряд функций призван превращать строки в различные числовые и нечисловые типы. Рассмотрим только четыре функции этого вида.

Val (Строка$)

Эта функция преобразует Строку в число.

Например:

Val («2.5») возвращает 2.5.

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

Str (Число) - эта функция преобразовывает Число любого типа в строку.

Например:

Str (5.E+25) возвращает «5Е+25»

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

Соседние файлы в папке Задания и примеры