Скачать презентацию ВЫРАЖЕНИЯ И ОПЕРАЦИИ Вычислительная система выполняет вычислительные Скачать презентацию ВЫРАЖЕНИЯ И ОПЕРАЦИИ Вычислительная система выполняет вычислительные

9- выражения и операции.ppt

  • Количество слайдов: 42

ВЫРАЖЕНИЯ И ОПЕРАЦИИ ВЫРАЖЕНИЯ И ОПЕРАЦИИ

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

Для изменения порядка выполнения операций могут быть использованы круглые скобки. Выражения бывают арифметические, логические Для изменения порядка выполнения операций могут быть использованы круглые скобки. Выражения бывают арифметические, логические и строковые. В качестве операндов могут быть использованы: Константы Операнды Переменные Массивы Функции В зависимости от операций, использующихся в выражении, последние подразделяются на: Арифметические Отношения Операции Логические Текстовые

а) Арифметические операции: + сложение; - вычитание; * умножение; / деление;  целочисленное деление; а) Арифметические операции: + сложение; - вычитание; * умножение; / деление; целочисленное деление; Mod – остаток от целочисленного деления; ^ возведение в степень.

 Выражение Операция Пример А B Результат A+B А – В А * В Выражение Операция Пример А B Результат A+B А – В А * В А/В A В Сложение Вычитание Умножение Деление Целочисленное деление 5 5 2 7 7 2, 75 6 2 2 7, 75 2, 15 12 3, 5 3 A mod В Остаток от деления по модулю 7 2 1 Возведение в 2 3 8 A^B степень

Пример. Записать математические выражения в виде арифметических выражений на VBA Математическое выражение Выражение на Пример. Записать математические выражения в виде арифметических выражений на VBA Математическое выражение Выражение на VBA x 2 7 x+6 x^2 7*x+6 (Abs(x) Abs(y))/(1+Abs(x*y)) Log(Abs((y Sqr(Abs(x)))*(x y/(z+(x)^2/4))))

б) Операции отношения > больше, < меньше, >= больше либо равно, <= меньше либо б) Операции отношения > больше, < меньше, >= больше либо равно, <= меньше либо равно, <> не равно, = равно.

в) Логические операции • Not отрицание, • And конъюнкция (умножение), • Or дизъюнкция (сложение). в) Логические операции • Not отрицание, • And конъюнкция (умножение), • Or дизъюнкция (сложение). Результатом вычисления логического выражения может быть одно из двух логических значений: True (истина ) или False (ложь).

г) Текстовые операции Сложение строк. Для сложения строк допустимо использование операции +, но предпочтительнее, г) Текстовые операции Сложение строк. Для сложения строк допустимо использование операции +, но предпочтительнее, во избежание путаницы, применять операцию со знаком &.

д) Приоритеты операций VBA выполняет операции в соответствии с их приоритетами, что обеспечивает однозначность д) Приоритеты операций VBA выполняет операции в соответствии с их приоритетами, что обеспечивает однозначность в трактовании значений выражений 1) Операции в скобках 2) Вычисление функций 3) Возведение в степень 4) /, , mod 5) * 6) +, 7) >, >=, <, <=, <>, = 8) Not, And, Or

ВСТРОЕННЫЕ ФУНКЦИИ VBA ВСТРОЕННЫЕ ФУНКЦИИ VBA

В VBA имеется большой набор встроенных функций и процедур, использование которых существенно упрощает программирование. В VBA имеется большой набор встроенных функций и процедур, использование которых существенно упрощает программирование. Эти функции можно разделить на следующие основные категории: • Математические функции • Функции проверки типов • Функции преобразования форматов • Функции обработки строк • Функции времени и даты Ниже рассмотрены основные функции из этих категорий.

 • Математические функции В VBA имеется большой список математических функций, позволяющих произвести любые • Математические функции В VBA имеется большой список математических функций, позволяющих произвести любые вычисления.

Обращение Abs(х) Atn(x) Соs (x) Eхр(х) Int(x) Функция Модуль аргумента Арктангенс (радианы) Косинус (x Обращение Abs(х) Atn(x) Соs (x) Eхр(х) Int(x) Функция Модуль аргумента Арктангенс (радианы) Косинус (x в радианах) ex — экспонента Целая часть х, полученная отбрасыванием дробной части Fix(x) Число, округленное до ближайшего меньшего целого Log(x) Натуральный логарифм Sin(x) Синус (х—в радианах) Sqr(x) Корень квадратный Tan(x) Тангенс числа Round(E[, N]) Округляет число до определенного количества (N) десятичных знаков

 • Функции преобразования типов Функция CBool (Выражение) CByte (Выражение) CDate (Выражение) СDbl (Выражение) • Функции преобразования типов Функция CBool (Выражение) CByte (Выражение) CDate (Выражение) СDbl (Выражение) CInt (Выражение) CLng (Выражение) CSng (Выражение) CVar (Выражение) CStr (Выражение) Тип, в который преобразуется выражение Boolean Byte Date Double Integer Long Single Variant String

 • Функции проверки типа Позволяют узнать, является ли переменная выражением определенного типа. Функция • Функции проверки типа Позволяют узнать, является ли переменная выражением определенного типа. Функция Проверка Is. Numeric(х) Является ли переменная числовым значением Is. Null(х) Является ли переменная пустым значением (Null) Is. Error(х) Является ли переменная кодом ошибки

 • Функции обработки строк Функция Возвращаемое выражение Asc Возвращает ASC() код начальной буквы • Функции обработки строк Функция Возвращаемое выражение Asc Возвращает ASC() код начальной буквы строки. Синтаксис: Asc(Строка) Chr Lcase Ucase Преобразует ASC() код в строку. Синтаксис: Chr(Код) Например Chr (13) — переход на новую строку, Chr(97) = "а" Преобразует строку к нижнему регистру. Синтаксис: Lcase(Строка) Преобразует строку к верхнему регистру. Синтаксис: Ucase(Строка)

 • Функции обработки строк Функция Возвращаемое выражение Space Возвращает строку, состоящую из указанного • Функции обработки строк Функция Возвращаемое выражение Space Возвращает строку, состоящую из указанного числа пробелов. Синтаксис: Space(Число) String Возвращает строку, состоящую из указанного числа повторений одного и того же символа. Синтаксис: String(number, character) Аргументы: number — число повторений символа character — повторяемый символ

 • Функции обработки строк Функция Возвращаемое выражение Str. Comp Возвращает результат сравнения двух • Функции обработки строк Функция Возвращаемое выражение Str. Comp Возвращает результат сравнения двух строк. Синтаксис: Str. Comp(stringl, string 2 [, compare]) Аргументы: stringl и string 2 — два любых строковых выражения compare — указывает способ сравнения строк. Допустимые значения: 0 (двоичное сравнение), 1 (посимвольное сравне ние без учета регистра) Возвращаемые значения: string 1 меньше, чем string 2, то 1 string 1 равняется string 2, то 0 string 1 больше, чем string 2, то 1

 • Функции обработки строк Функция Возвращаемое выражение In. Str Возвращает позицию первого вхождения • Функции обработки строк Функция Возвращаемое выражение In. Str Возвращает позицию первого вхождения одной строки внутри другой строки. Синтаксис: In. Str([start, ]string 1, string 2[, compare]) Аргументы: start — числовое выражение, задающее позицию, с кото рой начинается каждый поиск. Если этот аргумент опущен, поиск начинается с первого символа строки Возвращаемое выражение • string 1 — строковое выражение, в котором выполняется поиск • string 2 — искомое строковое выражение compare — указывает способ сравнения строк. Допустимые значения: 0 (для двоичного сравнения), 1 (посимвольное сравнение без учета регистра).

 • Функции обработки строк Функция Возвращаемое выражение Len LTrim Rtrim Trim Space Возвращает • Функции обработки строк Функция Возвращаемое выражение Len LTrim Rtrim Trim Space Возвращает число символов строки. Синтаксис: Len(Строка) Возвращает копию строки без пробелов в начале Синтаксис: LTrim(Строка) Возвращает копию строки без пробелов в конце. Синтаксис: RTrimf. Строка) Возвращает копию строки без пробелов в начале и в конце Синтаксис: Trim(Строка) Возвращает строку, состоящую из указанного числа пробелов. Синтаксис: Space(Число)

ПЕРЕМЕННЫЕ ПЕРЕМЕННЫЕ

В Visual Basic for Application существует явное и неявное объявление переменной. Явное объявление означает В Visual Basic for Application существует явное и неявное объявление переменной. Явное объявление означает указание имени и типа переменной перед ее использованием. Если тип переменной не указан, или она не объявлена, то считается, что она объявлена неявно. Объявление переменной осуществляется при помощи специальных инструкций которые имеют следующий синтаксис: • Dim имя. Переменной [As тип. Данных] • Private имя. Переменной [As тип. Данных] • Static имя. Переменной [As тип. Данных] • Public имя. Переменной [As тип. Данных]

Например • Dim a As Integer • Dim d 1 As String Если тип Например • Dim a As Integer • Dim d 1 As String Если тип данных при объявлении переменных опущен, то переменная объявлена неявно и по умолчанию получает тип Variant

Термины время жизни и область видимости переменной означают место использования переменной в приложении, а Термины время жизни и область видимости переменной означают место использования переменной в приложении, а также время существования переменной после ее создания. Область видимости переменной определяет часть кода, которая «знает» о существовании переменной. В VBA могут применяться глобальные и локальные переменные. Глобальные переменные доступны из любой части программы. Для локальных переменных можно задавать область видимости в рамках всего модуля или отдельной процедуры.

В зависимости от области видимости в VBA имеется три соответствующих уровня переменных: 1. Переменные В зависимости от области видимости в VBA имеется три соответствующих уровня переменных: 1. Переменные уровня процедуры распознаются только в процедуре, в которой они описаны при помощи инструкций Dim, Static. Эти переменные являются локальными. Например: Public Sub Hello. Dave() Dim Hello. Msg = "Hello. Dave" Msg. Box Hello. Msg End Sub

2. Переменные уровня модуля используются только в модуле, в котором они описаны, но не 2. Переменные уровня модуля используются только в модуле, в котором они описаны, но не в других модулях данного проекта. Описываются при помощи инструкции Dim или Private, размещенной в области описания модуля, т. е. перед описанием процедур. Например: Dim Hello. Msg Public Sub Hello. Dave() Hello. Msg = "Hello. Dave" Msg. Box Hello. Msg End Sub

3. Общие переменные, используемые во всех модулях данного проекта, описываются при помощи инструкции Public, 3. Общие переменные, используемые во всех модулях данного проекта, описываются при помощи инструкции Public, размещенной в области описания модуля. Например: Public Hello. Msg Public Sub Hello. Dave() Hello. Msg = "Hello. Dave" Msg. Box Hello. Msg End Sub

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

КОНСТАНТЫ КОНСТАНТЫ

Константы – это данные, которые не изменяют свое значение во время выполнения программы. Синтаксис Константы – это данные, которые не изменяют свое значение во время выполнения программы. Синтаксис объявления констант [Public | Private] Const < Имя константы > [As Тип] = < Выражение > Пример: Const Процентная. Ставка As Single = 0. 2 Const Фирма = "OOO Бескрайние просторы"

Аргументы: Public Private Имя. Константы Ключевое слово, используемое на уровне модуля для описания констант, Аргументы: Public Private Имя. Константы Ключевое слово, используемое на уровне модуля для описания констант, доступных всем процедурам во всех модулях. Ключевое слово, используемое на уровне модуля для описания констант, доступных только внутри модуля, в котором выполняется описание. Имя константы, удовлетворяющее стандартным правилам именования переменных. Тип Один из поддерживаемых типов данных: Byte, Boolean, Integer, Long, Single, Double. Для каждой описываемой константы следует использовать отдельное предложение AS Тип. Выражение Литерал, другая константа или любое сочетание, которое включает все арифметические или логические операторы.

Область действия констант определяется, так же как и в случае с переменными. Т. е. Область действия констант определяется, так же как и в случае с переменными. Т. е. константа, объявленная в процедуре, имеет область действия процедурного уровня. Если константа объявлена в области модуля, то область действия данной константы модульного уровня. Если константа объявлена Const < Имя константы > = < Выражение >, то константа имеет тип, согласующийся с типом выражения. Например: Const b=”Весна” ‘ константа b типа string

МАССИВЫ МАССИВЫ

Массив представляет собой набор переменных одного типа с одним именем и разными индексами. Каждая Массив представляет собой набор переменных одного типа с одним именем и разными индексами. Каждая такая переменная называется элементом массива. Количество хранящихся в массиве элементов называется размером массива. Обращение к элементу массива осуществляется указанием имени массива, за которым в круглых скобках указывается индекс массива.

Массивы в VBA бывают статическими и динамическими. • Статическими называются массивы, количество элементов в Массивы в VBA бывают статическими и динамическими. • Статическими называются массивы, количество элементов в которых заранее известно и не изменяется в ходе выполнения программы. • Динамическими называются массивы, в которых не известно начальное количество элементов и оно изменяется во время выполнения программы. Массив, как любую переменную, надо объявлять используя инструкции: Dim, Static, Privat, Public.

Объявление статических массивов Синтаксис объявления статического массива: • Dim <имя массива> (<количество элементов массива>) Объявление статических массивов Синтаксис объявления статического массива: • Dim <имя массива> (<количество элементов массива>) [As <тип элементов>] • Dim <имя массива> (<начальное значение индекса> To <конечное значение индекса>) [As <тип элементов>] По умолчанию первый элемент массива имеет индекс 0. В этом случае говорят, что 0 – базовый индекс массива. Изменить базовый индекс можно, написав в области объявления модуля директиву Option Base.

Например: • • объявлен одномерный Dim A(11) As Integer массив, состоящий из 12 целых Например: • • объявлен одномерный Dim A(11) As Integer массив, состоящий из 12 целых чисел. объявлен двумерный массив Dim B(2, 2) As Single (матрица) В размерностью (3 х3) действительных чисел. одномерный массив S, Dim S (1 To 7) As Integer содержащий семь элементов целого типа. Dim V As (1 To 5, 1 To 7) двухмерный массив V, у которого 5 строчек и 7 As Double столбцов вещественных элементов. • Option Base 1 Dim A(11) As Integer объявлен одномерный массив, состоящий из 11 целых чисел.

Инициализацию элементов массива можно производить двумя способами: 1) Последовательностью операторов а) одномерный массив Dim Инициализацию элементов массива можно производить двумя способами: 1) Последовательностью операторов а) одномерный массив Dim А(1 To 3) As Single А(1)=2 А(2)=4 А(3)=1 б) двумерный массив Dim B(l To 2, 1 То 2) As Single B(1, 1)=2 В(1, 2)=4 В(2, 1)=1 В(1, 2)=6

2) С помощью операторов цикла а) одномерный массив Dim A(11) As Integer For i 2) С помощью операторов цикла а) одномерный массив Dim A(11) As Integer For i = 0 To 11 A(i) = i Next i б) двумерный массив Dim F (1 To 9, 1 To 11) As Integer Dim i As integer Dim j As integer For i=1 to 9 For j=1 to 11 F(i, j)=i*j Next i

Объявление динамических массивов Синтаксис объявления динамического массива Dim <имя массива> ( ) [As <тип Объявление динамических массивов Синтаксис объявления динамического массива Dim <имя массива> ( ) [As <тип элементов>] Затем в программе следует вычислить необходимый размер массива в некоторой переменной и изменить размер динамического массива. С помощью инструкции Re. Dim <имя массива> (<размерность массива>) Допустимо повторное использование инструкции Re. Dim для изменения числа элементов и размерностей массива.

Например: Dim R() As Single Re. Dim R(1 To 10) Re. Dim R(5, 10) Например: Dim R() As Single Re. Dim R(1 To 10) Re. Dim R(5, 10) Далее инициализацию элементов массива можно производить теми же способами, что и статических массивов.