SlideShare uma empresa Scribd logo
1 de 47
Тема:Тема:
ВыходВыход
Выражение – это значение или группа
значений, выражающая отдельное
значение. Каждое выражение вычисляется
до отдельного значения. Выражения
состоят из одной или более следующих
частей:
•константы (литеральные или
именованные);
•переменные (любого типа данных);
•операторы;
•массивы;
•элементы массива;
•функции.
ВыходВыход
Операторы – используются для
объединения, сравнения или других
действий над определенными
значениями в выражении. При
использовании оператора в
выражении элементы данных, над
которыми этот оператор выполняет
действие, называются операндами:
большинству операторов требуются
два операнда.
ВыходВыход
Выражение используется для выполнения
вычислений и сравнения значений, для
предоставления переменных в качестве
аргументов различным функциям и
процедурам VBA. Используются следующие
типы выражений:
•выражение типа даты – вычисляется до
значения типа date;
•численное выражение – вычисляется до
любого числа;
•строковое выражение – имеет результатом
значение типа string;
•логическое выражение – вычисляется до
значения типа boolean.
ВыходВыход
Арифметические операторы
ВыходВыход
Оператор Like дает возможность выполнять
особый тип операции сравнения строк, и его
можно использовать только со строками.
Оператор Like тестирует строку для
определения того, совпадает ли она с
заданным шаблоном.
Синтаксис:
выражение1 like выражение2,
где выражение1 – любое строковое
выражение;
выражение2 – строковое выражение,
специально созданное для задания шаблона.
ВыходВыход
Символы совпадения с
образцом для оператора Like
ВыходВыход
Логические операторы
используются для объединения
результатов отдельных выражений
сравнения, чтобы создать сложные
критерии для принятия решений в
процедуре, или для создания
условий, при которых группа
операторов должна повторяться.
ВыходВыход
Логические операторы
ВыходВыход
Запуск редактора VBA
Для запуска редактора VBA можно использовать два
способа:
1) активизировать любое приложение пакета MS
Office (Word, Excel);
2) выполнить команду меню: Сервис + Макрос +
Редактор Visual Basic.
Или:
1) активизировать любое приложение пакета MS
Office (Word, Excel);
2) нажать комбинацию клавиш Alt+F11.
В левой части окна редактора появляется дерево
разрабатываемого проекта (аналог с
Проводником). Необходимо обратить внимание на
два главных объекта окна: Normal и Project
(Операции).
ВыходВыход
Создание простейших программ
Пример 1. Создать программу, которая
работает с глобальными переменными,
рассчитывая выражение:
14,3cossin 2
++= bad
ВыходВыход
Технология выполнения
• 1. Активизируйте приложение Word,
создайте (сохраните) новый документ
под именем Операции.
• 2. Выйдите в редактор VBA (Alt+F11).
• 3. Правой кнопкой мыши выделите
Project(Document), где Document –
название созданного документа,
например Операции, и выберите
команду Insert + Module. Если же имеется
папка Modules, то добавьте в нее.
ВыходВыход
Дважды щелкните по классу Module1. В результате в
правой части редактора VBA активизируется модуль
(появится курсор), в котором можно прописывать все
создаваемые программы, причем при вводе
заготовки создаваемого модуля (слово Sub) и его
имени (list1 – от листинг, можно вписать любое имя)
появляется окончание данного модуля End Sub.
ВыходВыход
Запустите
программу на выполнение,
предварительно ее
откомпилировав (проверив
синтаксические ошибки).
Для компиляции проекта
выполните команду меню:
Debug + Compile Project.
Если ошибок нет, запустите
приложение при помощи
кнопки
Запуск панели
инструментов или клавиши
F5. Если все действия
выполнены верно, то на
экране появится диалоговое
окно Msgbox с итоговым
сообщением
ВыходВыход
Пример 2.
Создать программу,
которая производит
сложение строковых
переменных и
результат выводит в
диалоговое окно
msgbox.
Технология выполнения
1. В том же документе
Операции выделите
правой кнопкой мыши
папку Modules и
выполните команду:
Insert + Module ВыходВыход
В результате появится новый модуль, где можно
создать новую программу (модуль). Пропишите код:
ВыходВыход
Условные операторы
Оператор условного перехода – это
структура, которая выбирает ту или иную
ветвь кода процедуры на основе
некоторого предопределенного условия
или группы условий.
Оператор безусловного перехода – это
оператор, просто изменяющий
последовательность выполнения кода
процедуры независимо ни от какого
конкретного условия. Условный переход
используется гораздо чаще, чем
безусловный.
ВыходВыход
Оператор If … Then позволяет
выбрать единственную
альтернативную ветвь кода в
процедуре или функции.
Синтаксис:
If условие Then оператор(ы),
где условие – любое логическое
выражение;
оператор(ы) – один или несколько
операторов VBA.
ВыходВыход
Вторая форма синтаксиса оператора If …
Then называется блоком оператора if. В
блоке оператора If… Then условие и
операторы записываются в отдельных
строках, причем заканчивается данный
оператор ключевыми словами End If.
Синтаксис:
If условие Then
оператор 1
оператор 2
….
Оператор n
End If ВыходВыход
Выбор одной из двух различных ветвей
операторов в зависимости от определенного
условия обеспечивает оператор
If … Then … Else
и If … Then … ElseIf.
Синтаксис однострочного оператора If … Then …
Else:
If условие Then оператор1 Else оператор2,
где условие – любое допустимое логическое
выражение;
операторы – один или несколько операторов
VBA, которые должны находиться в одной и той
же строке.
ВыходВыход
Блок операторов If … Then … Else легче
читать и понимать, и поскольку можно
располагать операторы в разных строках
внутри блока оператора If … Then … Else, он не
имеет ограничения по размеру и числу
операторов, которые можно помещать в
альтернативные ветви.
Синтаксис:
If условие Then
Оператор1
Else
Оператор2
End If
ВыходВыход
Пример.
Создать
программу, которая,
используя инструкцию if
… then, выполняет
следующие действия:
если переменной а
присваивается значение
больше нуля, то
находится сумма чисел
а и b, если меньше нуля,
то находится
произведение.
Результат
выводится в
стандартное диалоговое
окно msgbox.
Dim a, b, c As Integer
Sub poradok()
a = -5
b = 25
If a > 0 Then
c = a + b
MsgBox (c)
End If
If a < 0 Then
с = a * b
MsgBox (с)
End If
End Sub
ВыходВыход
Также:
Dim a, b, c As Integer
Sub poradok()
a = 5
b = 25
If a > 0 Then
c = a + b
MsgBox (c)
Else
c = a * b
MsgBox (c)
End If
End Sub
ВыходВыход
Пример:
В примере представлена программа для вывода значения
размера скидки в зависимости от ведённой стоимости покупки.
Public Sub IfPrim()
Dim sk As Double
k = InputBox("Введите стоимость покупки ($):")
If IsNumeric(k) And k > 0 And k < 10 Then
MsgBox "Нет скидки"
ElseIf k > 10 And k < 100 Then
MsgBox "Скидка 10%"
ElseIf k > 100 And k < 200 Then
MsgBox "Скидка 20%"
ElseIf k > 200 Then
MsgBox "Скидка 30%"
Else
MsgBox "Введено отрицательное значение"
End If
End Sub
ВыходВыход
VBA имеет условный оператор перехода
для использования в случаях, когда
необходимо выбирать из большего
количества различных ветвей кода:
оператор
Select Case.
Данный оператор работает во многом так
же, как и оператор If. Ключевые слова Select
Case используются со многими
операторами Case, где каждый оператор
Case проверяет появление другого условия
и выполняется только одна из ветвей Case.
Ветвь Case может содержать один,
несколько или ни одного оператора VBA.
ВыходВыход
Синтаксис:
Select Case выражение
Case условие_1
Оператор_1
Case условие_2
Оператор_2
…..
Case условие_N
Оператор_N
[Case Else
Оператор_N+1
End Select,
где выражение – любое численное или строковое
выражение;
условие_1, условие_2, условие_N – (каждый)
представляет список логических выражений, отделенных
запятыми;
оператор_1, оператор_2, оператор_N, оператор_N+1
– (каждый) представляет один, несколько или ни одного
оператора. ВыходВыход
В примере представлена программа, которая в зависимости
от введённого названия города выводит расстояние от столицы
до него. Функция StrConv с параметром vbProperCase переводит
в верхний регистр первые буквы каждого слова строки,
переданной в качестве параметра.
Public Sub IfPrim()
NameGR = InputBox("Введите название города:")
Select Case StrConv(NameGR, vbProperCase)
Case "Гродно": MsgBox "250 километров"
Case "Гомель": MsgBox "300 километров"
Case "Могилёв": MsgBox "270 километров"
Case "Витебск": MsgBox "247 километров"
Case "Брест": MsgBox "280 километров"
Case Else
MsgBox "Это не областной центр"
End Select
End Sub
ВыходВыход
Оператор безусловного перехода всегда
изменяет порядок выполнения операторов в
процедуре или функции vba. При этом vba не
проверяет никаких условий, а просто
переходит к выполнению кода с другого места.
Оператор GoTo имеет следующий синтаксис:
GoTo метка
Метка – любое обозначение или номер
строки в той же процедуре или функции,
которая содержит оператор GoTo. При
выполнении оператора GoTo VBA немедленно
переходит к выполнению оператора в строке,
определенной с помощью метки.
ВыходВыход
Повторение действий: циклы
Процесс выполнения всех операторов, заключенных в
структуру цикла, один раз называется итерацией (iteration)
цикла. Некоторые структуры цикла организуются так, что
они всегда выполняются заданное количество раз.
Структуры цикла, всегда выполняющиеся заданное
количество раз, называются циклами с фиксированным
числом итераций (fixed iteration). Другие типы структур
цикла повторяются переменное количество раз в
зависимости от некоторого набора условий. Поскольку
количество раз повторений этих гибких структур цикла
является неопределенным, такие циклы называются
неопределенными циклами (indefinite loops).
ВыходВыход
VBA предоставляет две различные
структуры фиксированного цикла:
For… Next и
For Each … Next.
Обе структуры фиксированного
цикла называются циклами For, потому
что они всегда выполняются для (for)
заданного количества раз.
ВыходВыход
Цикл For…Next используется, когда необходимо
повторить действие или ряд действий заданное
количество раз, известное до начала выполнения
цикла.
Цикл For…Next имеет следующий синтаксис:
For а = Start To End [Step StepSize]
операторы
Next [а],
где а – любая численная переменная VBA, обычно
переменная типа Integer или Long;
Start – любое численное выражение, определяет
начальное значение для переменной а;
End – это также численное выражение, определяет
конечное значение для переменной а.
ВыходВыход
По умолчанию VBA увеличивает переменную а на 1
каждый раз при выполнении операторов в цикле (считает
количество циклов). Можно задавать другое значение
(StepSize), на которое будет изменяться а, включая
необязательное ключевое слово Step. При включении
ключевого слова Step необходимо задавать значение для
изменения переменной а.
Операторы представляют один, несколько или ни
одного оператора VBA. Эти операторы составляют тело
цикла For.
Ключевое слово Next сообщает о том, что достигнут
конец цикла; необязательная переменная а после
ключевого слова next должна быть той же самой
переменной а, которая была задана после ключевого
слова For в начале структуры цикла.
ВыходВыход
Цикл For Each … Next
В отличие от цикла For…Next, цикл For
Each … Next не использует счетчик цикла.
Циклы For Each … Next выполняются
столько раз, сколько имеется элементов
в определенной группе, такой как
коллекция объектов или массив.
Другими словами, цикл For Each … Next
выполняется один раз для каждого
элемента в группе.
ВыходВыход
Синтаксис:
For Each <элемент> In <группа>
<операторы>
Next <элемент>,
где а – это переменная, используемая для
итерации по всем элементам в определенной группе;
группа – это объект коллекции или массив. Если
группа – это объект коллекции, то а должна быть
переменной типа Variant, Object или заданным
объектным типом, таким как Range, Worksheet,
Document, Paragraph и т. д.
Если группа – это массив, то а должна быть
переменной типа Variant;
операторы – один, несколько или ни одного
оператора VBA, составляющих тело цикла.
ВыходВыход
В представленном примере с помощью
оператора For Each просматриваются все
объекты в коллекции Workbooks (все
открытые книги Excel) и выводятся на экран
их имена.
Public Sub ForEachProc()
For Each el In Workbooks
MsgBox el.Name
Next el
End Sub
ВыходВыход
В примере представлена программа,
организующая вывод в обратном порядке
чисел от 10 до 1 с шагом 0,5 в окно
Immediate.
Public Sub Revers()
For i = 10 To 0 Step -0.5
Debug.Print i
Next i
End Sub
ВыходВыход
Цикл Do-Loop
Логически управляемый цикл, оператор Do —
начало, оператор Loop — конец цикла; имеет 4
модификации:
1) условие True в начале цикла
Do While <условие>
<блок операторов>
Exit Do
<блок операторов>
Loop
Цикл выполняется до тех пор, пока истинно
<условие>. Минимальное число повторений тела
цикла — 0. Оператор Exit Do предназначен для
прекращения цикла и передачи управления оператору
Loop — конец цикла.
ВыходВыход
В примере представлена программа,
позволяющая организовать водить
информацию с клавиатуры в диалоговое
окно до тех пор, пока не введена пустая
строка.
Public Sub InputStr()
st = InputBox("Введите строку:")
Do While (st <> "")
MsgBox "Введена строка: " & st
st = InputBox("Введите строку:")
Loop
End Sub
ВыходВыход
2) условие True в конце цикла
Do
<блок операторов>
Exit Do
<блок операторов>
Loop While <условие>
Цикл выполняется хотя бы один
раз, в конце выполняется проверка
<условия>.
ВыходВыход
В примере представлена программа,
осуществляющая вывод цифр числа в обратном
порядке. Функция Abs() используется для того, чтобы
получить модуль числа.
Public Sub do_true_end()
del = 10
n = InputBox("Введите число:")
If Not IsNumeric(num) Then Exit Sub
Debug.Print "Число: " & n
n = Abs(n)
Do
ost = n Mod del
Debug.Print ost;
n = (n - ost) / del
Loop While n <> 0
End Sub
ВыходВыход
3) условие False в начале цикла
Do Until <условие>
<блок операторов>
Exit Do
<блок операторов>
Loop
Until указывает, что цикл выполняется до
тех пор, пока <условие> не станет
истинным. Минимальное число повторений
тела цикла — 0.
ВыходВыход
4) условие False в конце цикла
Do
<блок операторов>
Exit Do
<блок операторов>
Loop Until <условие>
Условие проверяется в конце, цикл
прекращается, когда условие станет
истинным.Минимальное число повторений
тела цикла—1.
ВыходВыход
В примере представлена программа, позволяющая
находить произведение нечётных чисел, вводимых с
клавиатуры. Подсчёт прекращается в том случае,
если введено чётное число, либо выражение,
которое невозможно преобразовать в числовое.
Public Sub InputNum()
pr = 1
num = InputBox("Введите число:")
If Not IsNumeric(num) Then Exit Sub
Do Until (num Mod 2 = 0)
pr = pr * num
num = InputBox("Введите число:")
If Not IsNumeric(num) Then Exit Do
Loop
MsgBox "Произведение нечётных чисел = " & pr
End Sub
ВыходВыход
Цикл While-Wend
Данный оператор полностью
соответствует структуре Do While - Loop.
Отличительной особенностью оператора
является невозможность прервать выполне-
ние цикла из тела цикла (Exit Do
отсутствует), проверка условия выполняется
только в начале цикла.
While <условие>
<блок операторов>
Wend
ВыходВыход
Код процедуры, представленной в примере,
позволяет объединять введённые строки до тех пор,
пока длина выходной строки меньше 55 символов,
либо пока не введена пустая строка. Результирующая
строка выводится в окно Inmmediate.
Public Sub InputNum()
Dim PutSt As String
Dim St As String
PutSt = InputBox("Введите строку:")
St = PutSt
While (Len(St) < 55 And PutSt <> "")
PutSt = InputBox("Введите строку:")
St = St + PutSt
Wend
Debug.Print St
End Sub
ВыходВыход

Mais conteúdo relacionado

Mais procurados

C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.Igor Shkulipa
 
VAMR ACADEMY Второе занятие
VAMR ACADEMY Второе занятиеVAMR ACADEMY Второе занятие
VAMR ACADEMY Второе занятиеmixARConference
 
C++ Базовый. Занятие 02.
C++ Базовый. Занятие 02.C++ Базовый. Занятие 02.
C++ Базовый. Занятие 02.Igor Shkulipa
 
основы ооп на языке C#. часть 1. введение в программирование
основы ооп на языке C#. часть 1. введение в программированиеосновы ооп на языке C#. часть 1. введение в программирование
основы ооп на языке C#. часть 1. введение в программированиеYakubovichDA
 
Основы ооп на языке C#. Часть 2. базовый синтаксис.
Основы ооп на языке C#. Часть 2. базовый синтаксис.Основы ооп на языке C#. Часть 2. базовый синтаксис.
Основы ооп на языке C#. Часть 2. базовый синтаксис.YakubovichDA
 
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETОпыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETGoSharp
 
C++ осень 2013 лекция 4
C++ осень 2013 лекция 4C++ осень 2013 лекция 4
C++ осень 2013 лекция 4Technopark
 
C++ осень 2013 лекция 6
C++ осень 2013 лекция 6C++ осень 2013 лекция 6
C++ осень 2013 лекция 6Technopark
 
Roslyn API : SyntaxTree vs CodeDom, SemanticModel vs Reflection
Roslyn API: SyntaxTree vs CodeDom, SemanticModel vs ReflectionRoslyn API: SyntaxTree vs CodeDom, SemanticModel vs Reflection
Roslyn API : SyntaxTree vs CodeDom, SemanticModel vs ReflectionDenis Tsvettsih
 
Евгений Зуев, С++ в России: Стандарт языка и его реализация
Евгений Зуев, С++ в России: Стандарт языка и его реализацияЕвгений Зуев, С++ в России: Стандарт языка и его реализация
Евгений Зуев, С++ в России: Стандарт языка и его реализацияPlatonov Sergey
 
Cpp/cli types
Cpp/cli typesCpp/cli types
Cpp/cli typesmcroitor
 
Базовые операторы Java
Базовые операторы JavaБазовые операторы Java
Базовые операторы Javametaform
 
C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.Igor Shkulipa
 
C++ Базовый. Занятие 03.
C++ Базовый. Занятие 03.C++ Базовый. Занятие 03.
C++ Базовый. Занятие 03.Igor Shkulipa
 
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Platonov Sergey
 
Автоматическая генерация тестов по комментариям к программному коду
Автоматическая генерация тестов по комментариям к программному кодуАвтоматическая генерация тестов по комментариям к программному коду
Автоматическая генерация тестов по комментариям к программному кодуAlexey Noskov
 

Mais procurados (20)

C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.
 
VAMR ACADEMY Второе занятие
VAMR ACADEMY Второе занятиеVAMR ACADEMY Второе занятие
VAMR ACADEMY Второе занятие
 
C++ Базовый. Занятие 02.
C++ Базовый. Занятие 02.C++ Базовый. Занятие 02.
C++ Базовый. Занятие 02.
 
основы ооп на языке C#. часть 1. введение в программирование
основы ооп на языке C#. часть 1. введение в программированиеосновы ооп на языке C#. часть 1. введение в программирование
основы ооп на языке C#. часть 1. введение в программирование
 
Основы ооп на языке C#. Часть 2. базовый синтаксис.
Основы ооп на языке C#. Часть 2. базовый синтаксис.Основы ооп на языке C#. Часть 2. базовый синтаксис.
Основы ооп на языке C#. Часть 2. базовый синтаксис.
 
10 инф
10 инф10 инф
10 инф
 
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETОпыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
 
C++ осень 2013 лекция 4
C++ осень 2013 лекция 4C++ осень 2013 лекция 4
C++ осень 2013 лекция 4
 
java 8
java 8java 8
java 8
 
C++ осень 2013 лекция 6
C++ осень 2013 лекция 6C++ осень 2013 лекция 6
C++ осень 2013 лекция 6
 
Roslyn API : SyntaxTree vs CodeDom, SemanticModel vs Reflection
Roslyn API: SyntaxTree vs CodeDom, SemanticModel vs ReflectionRoslyn API: SyntaxTree vs CodeDom, SemanticModel vs Reflection
Roslyn API : SyntaxTree vs CodeDom, SemanticModel vs Reflection
 
Евгений Зуев, С++ в России: Стандарт языка и его реализация
Евгений Зуев, С++ в России: Стандарт языка и его реализацияЕвгений Зуев, С++ в России: Стандарт языка и его реализация
Евгений Зуев, С++ в России: Стандарт языка и его реализация
 
Cpp/cli types
Cpp/cli typesCpp/cli types
Cpp/cli types
 
Базовые операторы Java
Базовые операторы JavaБазовые операторы Java
Базовые операторы Java
 
лр7
лр7лр7
лр7
 
C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.
 
C++ Базовый. Занятие 03.
C++ Базовый. Занятие 03.C++ Базовый. Занятие 03.
C++ Базовый. Занятие 03.
 
Обзор SObjectizer 5.5
Обзор SObjectizer 5.5Обзор SObjectizer 5.5
Обзор SObjectizer 5.5
 
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
 
Автоматическая генерация тестов по комментариям к программному коду
Автоматическая генерация тестов по комментариям к программному кодуАвтоматическая генерация тестов по комментариям к программному коду
Автоматическая генерация тестов по комментариям к программному коду
 

Destaque

Emaar South Golf Views - Apartments +971 45538725
Emaar South Golf Views - Apartments +971 45538725Emaar South Golf Views - Apartments +971 45538725
Emaar South Golf Views - Apartments +971 45538725Sandeepnextgen
 
Metodo de optimizacion
Metodo de optimizacionMetodo de optimizacion
Metodo de optimizacionAngel Jhoan
 
10 03 17_slide minggu 4-asas ilmu faraid-syi34102
10 03 17_slide minggu 4-asas ilmu faraid-syi3410210 03 17_slide minggu 4-asas ilmu faraid-syi34102
10 03 17_slide minggu 4-asas ilmu faraid-syi34102abuhannan78
 
Actividad 8 luz neidy luna
Actividad 8 luz neidy lunaActividad 8 luz neidy luna
Actividad 8 luz neidy lunaLuz Neidy
 
정품수면제구입 ̄http://7cc.kr"「톡:c2017」정품수면제 구입처г수면제 구입방법ㄅ수면제 판매,수면제 구입,수면제 파는곳,수면제 추...
정품수면제구입 ̄http://7cc.kr"「톡:c2017」정품수면제 구입처г수면제 구입방법ㄅ수면제 판매,수면제 구입,수면제 파는곳,수면제 추...정품수면제구입 ̄http://7cc.kr"「톡:c2017」정품수면제 구입처г수면제 구입방법ㄅ수면제 판매,수면제 구입,수면제 파는곳,수면제 추...
정품수면제구입 ̄http://7cc.kr"「톡:c2017」정품수면제 구입처г수면제 구입방법ㄅ수면제 판매,수면제 구입,수면제 파는곳,수면제 추...成 金
 
Leccion 5.7 hospital management system for word press
Leccion 5.7   hospital management system for word pressLeccion 5.7   hospital management system for word press
Leccion 5.7 hospital management system for word pressSergio Sanchez
 
Antecedentes Nathalia Velandia
Antecedentes Nathalia VelandiaAntecedentes Nathalia Velandia
Antecedentes Nathalia VelandiaNathalia Velandia
 
Clasificación de las empresas
Clasificación de las empresasClasificación de las empresas
Clasificación de las empresasVERONICA RODRIGUEZ
 

Destaque (13)

Emaar South Golf Views - Apartments +971 45538725
Emaar South Golf Views - Apartments +971 45538725Emaar South Golf Views - Apartments +971 45538725
Emaar South Golf Views - Apartments +971 45538725
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
B2 b
B2 bB2 b
B2 b
 
Metodo de optimizacion
Metodo de optimizacionMetodo de optimizacion
Metodo de optimizacion
 
10 03 17_slide minggu 4-asas ilmu faraid-syi34102
10 03 17_slide minggu 4-asas ilmu faraid-syi3410210 03 17_slide minggu 4-asas ilmu faraid-syi34102
10 03 17_slide minggu 4-asas ilmu faraid-syi34102
 
ігри
ігриігри
ігри
 
Sylabus Bioética General y Fundamentos
Sylabus Bioética General y FundamentosSylabus Bioética General y Fundamentos
Sylabus Bioética General y Fundamentos
 
Actividad 8 luz neidy luna
Actividad 8 luz neidy lunaActividad 8 luz neidy luna
Actividad 8 luz neidy luna
 
정품수면제구입 ̄http://7cc.kr"「톡:c2017」정품수면제 구입처г수면제 구입방법ㄅ수면제 판매,수면제 구입,수면제 파는곳,수면제 추...
정품수면제구입 ̄http://7cc.kr"「톡:c2017」정품수면제 구입처г수면제 구입방법ㄅ수면제 판매,수면제 구입,수면제 파는곳,수면제 추...정품수면제구입 ̄http://7cc.kr"「톡:c2017」정품수면제 구입처г수면제 구입방법ㄅ수면제 판매,수면제 구입,수면제 파는곳,수면제 추...
정품수면제구입 ̄http://7cc.kr"「톡:c2017」정품수면제 구입처г수면제 구입방법ㄅ수면제 판매,수면제 구입,수면제 파는곳,수면제 추...
 
Leccion 5.7 hospital management system for word press
Leccion 5.7   hospital management system for word pressLeccion 5.7   hospital management system for word press
Leccion 5.7 hospital management system for word press
 
Antecedentes Nathalia Velandia
Antecedentes Nathalia VelandiaAntecedentes Nathalia Velandia
Antecedentes Nathalia Velandia
 
Prueba de hipotesis estadistica
Prueba de hipotesis estadisticaPrueba de hipotesis estadistica
Prueba de hipotesis estadistica
 
Clasificación de las empresas
Clasificación de las empresasClasificación de las empresas
Clasificación de las empresas
 

Semelhante a операторы и выражения

вспомогательные алгоритмы
вспомогательные алгоритмывспомогательные алгоритмы
вспомогательные алгоритмыЕлена Ключева
 
C++ теория
C++ теорияC++ теория
C++ теорияtank1975
 
C++ теория
C++ теорияC++ теория
C++ теорияtank1975
 
C++ теория
C++ теорияC++ теория
C++ теорияtank1975
 
язык програмирования
язык програмированияязык програмирования
язык програмированияOlegmingalev1997
 
0034
00340034
0034JIuc
 
Типы данных (продолжение). Операторы. Стандартные библиотеки
Типы данных (продолжение). Операторы. Стандартные библиотекиТипы данных (продолжение). Операторы. Стандартные библиотеки
Типы данных (продолжение). Операторы. Стандартные библиотекиIhor Porotikov
 
лекции спрг 6_семестр (1)
лекции спрг 6_семестр (1)лекции спрг 6_семестр (1)
лекции спрг 6_семестр (1)djbelyakk
 
Теория языков программирования некоторые слайды к лекциям
Теория языков программирования некоторые слайды к лекциямТеория языков программирования некоторые слайды к лекциям
Теория языков программирования некоторые слайды к лекциямSergey Staroletov
 
основные команды языка программирования
основные команды языка программированияосновные команды языка программирования
основные команды языка программированияanastastish
 
О сложностях программирования, или C# нас не спасет?
О сложностях программирования, или C# нас не спасет?О сложностях программирования, или C# нас не спасет?
О сложностях программирования, или C# нас не спасет?Tatyanazaxarova
 
Для чего мы делали свой акторный фреймворк и что из этого вышло?
Для чего мы делали свой акторный фреймворк и что из этого вышло?Для чего мы делали свой акторный фреймворк и что из этого вышло?
Для чего мы делали свой акторный фреймворк и что из этого вышло?Yauheni Akhotnikau
 

Semelhante a операторы и выражения (20)

Stat 6 alpha
Stat 6 alphaStat 6 alpha
Stat 6 alpha
 
вспомогательные алгоритмы
вспомогательные алгоритмывспомогательные алгоритмы
вспомогательные алгоритмы
 
Podprogram
PodprogramPodprogram
Podprogram
 
C++ теория
C++ теорияC++ теория
C++ теория
 
C++ теория
C++ теорияC++ теория
C++ теория
 
C++ теория
C++ теорияC++ теория
C++ теория
 
язык програмирования
язык програмированияязык програмирования
язык програмирования
 
презентация1
презентация1презентация1
презентация1
 
Обзор Ruby
Обзор RubyОбзор Ruby
Обзор Ruby
 
206297
206297206297
206297
 
0034
00340034
0034
 
Step 2
Step 2Step 2
Step 2
 
лек11 4
лек11 4лек11 4
лек11 4
 
Типы данных (продолжение). Операторы. Стандартные библиотеки
Типы данных (продолжение). Операторы. Стандартные библиотекиТипы данных (продолжение). Операторы. Стандартные библиотеки
Типы данных (продолжение). Операторы. Стандартные библиотеки
 
лекции спрг 6_семестр (1)
лекции спрг 6_семестр (1)лекции спрг 6_семестр (1)
лекции спрг 6_семестр (1)
 
Теория языков программирования некоторые слайды к лекциям
Теория языков программирования некоторые слайды к лекциямТеория языков программирования некоторые слайды к лекциям
Теория языков программирования некоторые слайды к лекциям
 
основные команды языка программирования
основные команды языка программированияосновные команды языка программирования
основные команды языка программирования
 
О сложностях программирования, или C# нас не спасет?
О сложностях программирования, или C# нас не спасет?О сложностях программирования, или C# нас не спасет?
О сложностях программирования, или C# нас не спасет?
 
Для чего мы делали свой акторный фреймворк и что из этого вышло?
Для чего мы делали свой акторный фреймворк и что из этого вышло?Для чего мы делали свой акторный фреймворк и что из этого вышло?
Для чего мы делали свой акторный фреймворк и что из этого вышло?
 
Step cpp022
Step cpp022Step cpp022
Step cpp022
 

Mais de LidiKashka

функции работы с датой и временем
функции работы с датой и временемфункции работы с датой и временем
функции работы с датой и временемLidiKashka
 
объекты Word
объекты Wordобъекты Word
объекты WordLidiKashka
 
объекты Excel
объекты Excelобъекты Excel
объекты ExcelLidiKashka
 
объекты и классы
объекты и классыобъекты и классы
объекты и классыLidiKashka
 
массивы
массивымассивы
массивыLidiKashka
 
встроен функции
встроен функциивстроен функции
встроен функцииLidiKashka
 

Mais de LidiKashka (8)

функции работы с датой и временем
функции работы с датой и временемфункции работы с датой и временем
функции работы с датой и временем
 
ооп
оопооп
ооп
 
объекты Word
объекты Wordобъекты Word
объекты Word
 
объекты Excel
объекты Excelобъекты Excel
объекты Excel
 
объекты и классы
объекты и классыобъекты и классы
объекты и классы
 
массивы
массивымассивы
массивы
 
записи
записизаписи
записи
 
встроен функции
встроен функциивстроен функции
встроен функции
 

операторы и выражения

  • 1.
  • 3. Выражение – это значение или группа значений, выражающая отдельное значение. Каждое выражение вычисляется до отдельного значения. Выражения состоят из одной или более следующих частей: •константы (литеральные или именованные); •переменные (любого типа данных); •операторы; •массивы; •элементы массива; •функции. ВыходВыход
  • 4. Операторы – используются для объединения, сравнения или других действий над определенными значениями в выражении. При использовании оператора в выражении элементы данных, над которыми этот оператор выполняет действие, называются операндами: большинству операторов требуются два операнда. ВыходВыход
  • 5. Выражение используется для выполнения вычислений и сравнения значений, для предоставления переменных в качестве аргументов различным функциям и процедурам VBA. Используются следующие типы выражений: •выражение типа даты – вычисляется до значения типа date; •численное выражение – вычисляется до любого числа; •строковое выражение – имеет результатом значение типа string; •логическое выражение – вычисляется до значения типа boolean. ВыходВыход
  • 7. Оператор Like дает возможность выполнять особый тип операции сравнения строк, и его можно использовать только со строками. Оператор Like тестирует строку для определения того, совпадает ли она с заданным шаблоном. Синтаксис: выражение1 like выражение2, где выражение1 – любое строковое выражение; выражение2 – строковое выражение, специально созданное для задания шаблона. ВыходВыход
  • 8. Символы совпадения с образцом для оператора Like ВыходВыход
  • 9. Логические операторы используются для объединения результатов отдельных выражений сравнения, чтобы создать сложные критерии для принятия решений в процедуре, или для создания условий, при которых группа операторов должна повторяться. ВыходВыход
  • 11. Запуск редактора VBA Для запуска редактора VBA можно использовать два способа: 1) активизировать любое приложение пакета MS Office (Word, Excel); 2) выполнить команду меню: Сервис + Макрос + Редактор Visual Basic. Или: 1) активизировать любое приложение пакета MS Office (Word, Excel); 2) нажать комбинацию клавиш Alt+F11. В левой части окна редактора появляется дерево разрабатываемого проекта (аналог с Проводником). Необходимо обратить внимание на два главных объекта окна: Normal и Project (Операции). ВыходВыход
  • 12. Создание простейших программ Пример 1. Создать программу, которая работает с глобальными переменными, рассчитывая выражение: 14,3cossin 2 ++= bad ВыходВыход
  • 13. Технология выполнения • 1. Активизируйте приложение Word, создайте (сохраните) новый документ под именем Операции. • 2. Выйдите в редактор VBA (Alt+F11). • 3. Правой кнопкой мыши выделите Project(Document), где Document – название созданного документа, например Операции, и выберите команду Insert + Module. Если же имеется папка Modules, то добавьте в нее.
  • 15. Дважды щелкните по классу Module1. В результате в правой части редактора VBA активизируется модуль (появится курсор), в котором можно прописывать все создаваемые программы, причем при вводе заготовки создаваемого модуля (слово Sub) и его имени (list1 – от листинг, можно вписать любое имя) появляется окончание данного модуля End Sub. ВыходВыход
  • 16. Запустите программу на выполнение, предварительно ее откомпилировав (проверив синтаксические ошибки). Для компиляции проекта выполните команду меню: Debug + Compile Project. Если ошибок нет, запустите приложение при помощи кнопки Запуск панели инструментов или клавиши F5. Если все действия выполнены верно, то на экране появится диалоговое окно Msgbox с итоговым сообщением ВыходВыход
  • 17. Пример 2. Создать программу, которая производит сложение строковых переменных и результат выводит в диалоговое окно msgbox. Технология выполнения 1. В том же документе Операции выделите правой кнопкой мыши папку Modules и выполните команду: Insert + Module ВыходВыход
  • 18. В результате появится новый модуль, где можно создать новую программу (модуль). Пропишите код: ВыходВыход
  • 19. Условные операторы Оператор условного перехода – это структура, которая выбирает ту или иную ветвь кода процедуры на основе некоторого предопределенного условия или группы условий. Оператор безусловного перехода – это оператор, просто изменяющий последовательность выполнения кода процедуры независимо ни от какого конкретного условия. Условный переход используется гораздо чаще, чем безусловный. ВыходВыход
  • 20. Оператор If … Then позволяет выбрать единственную альтернативную ветвь кода в процедуре или функции. Синтаксис: If условие Then оператор(ы), где условие – любое логическое выражение; оператор(ы) – один или несколько операторов VBA. ВыходВыход
  • 21. Вторая форма синтаксиса оператора If … Then называется блоком оператора if. В блоке оператора If… Then условие и операторы записываются в отдельных строках, причем заканчивается данный оператор ключевыми словами End If. Синтаксис: If условие Then оператор 1 оператор 2 …. Оператор n End If ВыходВыход
  • 22. Выбор одной из двух различных ветвей операторов в зависимости от определенного условия обеспечивает оператор If … Then … Else и If … Then … ElseIf. Синтаксис однострочного оператора If … Then … Else: If условие Then оператор1 Else оператор2, где условие – любое допустимое логическое выражение; операторы – один или несколько операторов VBA, которые должны находиться в одной и той же строке. ВыходВыход
  • 23. Блок операторов If … Then … Else легче читать и понимать, и поскольку можно располагать операторы в разных строках внутри блока оператора If … Then … Else, он не имеет ограничения по размеру и числу операторов, которые можно помещать в альтернативные ветви. Синтаксис: If условие Then Оператор1 Else Оператор2 End If ВыходВыход
  • 24. Пример. Создать программу, которая, используя инструкцию if … then, выполняет следующие действия: если переменной а присваивается значение больше нуля, то находится сумма чисел а и b, если меньше нуля, то находится произведение. Результат выводится в стандартное диалоговое окно msgbox. Dim a, b, c As Integer Sub poradok() a = -5 b = 25 If a > 0 Then c = a + b MsgBox (c) End If If a < 0 Then с = a * b MsgBox (с) End If End Sub ВыходВыход
  • 25. Также: Dim a, b, c As Integer Sub poradok() a = 5 b = 25 If a > 0 Then c = a + b MsgBox (c) Else c = a * b MsgBox (c) End If End Sub ВыходВыход
  • 26. Пример: В примере представлена программа для вывода значения размера скидки в зависимости от ведённой стоимости покупки. Public Sub IfPrim() Dim sk As Double k = InputBox("Введите стоимость покупки ($):") If IsNumeric(k) And k > 0 And k < 10 Then MsgBox "Нет скидки" ElseIf k > 10 And k < 100 Then MsgBox "Скидка 10%" ElseIf k > 100 And k < 200 Then MsgBox "Скидка 20%" ElseIf k > 200 Then MsgBox "Скидка 30%" Else MsgBox "Введено отрицательное значение" End If End Sub ВыходВыход
  • 27. VBA имеет условный оператор перехода для использования в случаях, когда необходимо выбирать из большего количества различных ветвей кода: оператор Select Case. Данный оператор работает во многом так же, как и оператор If. Ключевые слова Select Case используются со многими операторами Case, где каждый оператор Case проверяет появление другого условия и выполняется только одна из ветвей Case. Ветвь Case может содержать один, несколько или ни одного оператора VBA. ВыходВыход
  • 28. Синтаксис: Select Case выражение Case условие_1 Оператор_1 Case условие_2 Оператор_2 ….. Case условие_N Оператор_N [Case Else Оператор_N+1 End Select, где выражение – любое численное или строковое выражение; условие_1, условие_2, условие_N – (каждый) представляет список логических выражений, отделенных запятыми; оператор_1, оператор_2, оператор_N, оператор_N+1 – (каждый) представляет один, несколько или ни одного оператора. ВыходВыход
  • 29. В примере представлена программа, которая в зависимости от введённого названия города выводит расстояние от столицы до него. Функция StrConv с параметром vbProperCase переводит в верхний регистр первые буквы каждого слова строки, переданной в качестве параметра. Public Sub IfPrim() NameGR = InputBox("Введите название города:") Select Case StrConv(NameGR, vbProperCase) Case "Гродно": MsgBox "250 километров" Case "Гомель": MsgBox "300 километров" Case "Могилёв": MsgBox "270 километров" Case "Витебск": MsgBox "247 километров" Case "Брест": MsgBox "280 километров" Case Else MsgBox "Это не областной центр" End Select End Sub ВыходВыход
  • 30. Оператор безусловного перехода всегда изменяет порядок выполнения операторов в процедуре или функции vba. При этом vba не проверяет никаких условий, а просто переходит к выполнению кода с другого места. Оператор GoTo имеет следующий синтаксис: GoTo метка Метка – любое обозначение или номер строки в той же процедуре или функции, которая содержит оператор GoTo. При выполнении оператора GoTo VBA немедленно переходит к выполнению оператора в строке, определенной с помощью метки. ВыходВыход
  • 31. Повторение действий: циклы Процесс выполнения всех операторов, заключенных в структуру цикла, один раз называется итерацией (iteration) цикла. Некоторые структуры цикла организуются так, что они всегда выполняются заданное количество раз. Структуры цикла, всегда выполняющиеся заданное количество раз, называются циклами с фиксированным числом итераций (fixed iteration). Другие типы структур цикла повторяются переменное количество раз в зависимости от некоторого набора условий. Поскольку количество раз повторений этих гибких структур цикла является неопределенным, такие циклы называются неопределенными циклами (indefinite loops). ВыходВыход
  • 32. VBA предоставляет две различные структуры фиксированного цикла: For… Next и For Each … Next. Обе структуры фиксированного цикла называются циклами For, потому что они всегда выполняются для (for) заданного количества раз. ВыходВыход
  • 33. Цикл For…Next используется, когда необходимо повторить действие или ряд действий заданное количество раз, известное до начала выполнения цикла. Цикл For…Next имеет следующий синтаксис: For а = Start To End [Step StepSize] операторы Next [а], где а – любая численная переменная VBA, обычно переменная типа Integer или Long; Start – любое численное выражение, определяет начальное значение для переменной а; End – это также численное выражение, определяет конечное значение для переменной а. ВыходВыход
  • 34. По умолчанию VBA увеличивает переменную а на 1 каждый раз при выполнении операторов в цикле (считает количество циклов). Можно задавать другое значение (StepSize), на которое будет изменяться а, включая необязательное ключевое слово Step. При включении ключевого слова Step необходимо задавать значение для изменения переменной а. Операторы представляют один, несколько или ни одного оператора VBA. Эти операторы составляют тело цикла For. Ключевое слово Next сообщает о том, что достигнут конец цикла; необязательная переменная а после ключевого слова next должна быть той же самой переменной а, которая была задана после ключевого слова For в начале структуры цикла. ВыходВыход
  • 35. Цикл For Each … Next В отличие от цикла For…Next, цикл For Each … Next не использует счетчик цикла. Циклы For Each … Next выполняются столько раз, сколько имеется элементов в определенной группе, такой как коллекция объектов или массив. Другими словами, цикл For Each … Next выполняется один раз для каждого элемента в группе. ВыходВыход
  • 36. Синтаксис: For Each <элемент> In <группа> <операторы> Next <элемент>, где а – это переменная, используемая для итерации по всем элементам в определенной группе; группа – это объект коллекции или массив. Если группа – это объект коллекции, то а должна быть переменной типа Variant, Object или заданным объектным типом, таким как Range, Worksheet, Document, Paragraph и т. д. Если группа – это массив, то а должна быть переменной типа Variant; операторы – один, несколько или ни одного оператора VBA, составляющих тело цикла. ВыходВыход
  • 37. В представленном примере с помощью оператора For Each просматриваются все объекты в коллекции Workbooks (все открытые книги Excel) и выводятся на экран их имена. Public Sub ForEachProc() For Each el In Workbooks MsgBox el.Name Next el End Sub ВыходВыход
  • 38. В примере представлена программа, организующая вывод в обратном порядке чисел от 10 до 1 с шагом 0,5 в окно Immediate. Public Sub Revers() For i = 10 To 0 Step -0.5 Debug.Print i Next i End Sub ВыходВыход
  • 39. Цикл Do-Loop Логически управляемый цикл, оператор Do — начало, оператор Loop — конец цикла; имеет 4 модификации: 1) условие True в начале цикла Do While <условие> <блок операторов> Exit Do <блок операторов> Loop Цикл выполняется до тех пор, пока истинно <условие>. Минимальное число повторений тела цикла — 0. Оператор Exit Do предназначен для прекращения цикла и передачи управления оператору Loop — конец цикла. ВыходВыход
  • 40. В примере представлена программа, позволяющая организовать водить информацию с клавиатуры в диалоговое окно до тех пор, пока не введена пустая строка. Public Sub InputStr() st = InputBox("Введите строку:") Do While (st <> "") MsgBox "Введена строка: " & st st = InputBox("Введите строку:") Loop End Sub ВыходВыход
  • 41. 2) условие True в конце цикла Do <блок операторов> Exit Do <блок операторов> Loop While <условие> Цикл выполняется хотя бы один раз, в конце выполняется проверка <условия>. ВыходВыход
  • 42. В примере представлена программа, осуществляющая вывод цифр числа в обратном порядке. Функция Abs() используется для того, чтобы получить модуль числа. Public Sub do_true_end() del = 10 n = InputBox("Введите число:") If Not IsNumeric(num) Then Exit Sub Debug.Print "Число: " & n n = Abs(n) Do ost = n Mod del Debug.Print ost; n = (n - ost) / del Loop While n <> 0 End Sub ВыходВыход
  • 43. 3) условие False в начале цикла Do Until <условие> <блок операторов> Exit Do <блок операторов> Loop Until указывает, что цикл выполняется до тех пор, пока <условие> не станет истинным. Минимальное число повторений тела цикла — 0. ВыходВыход
  • 44. 4) условие False в конце цикла Do <блок операторов> Exit Do <блок операторов> Loop Until <условие> Условие проверяется в конце, цикл прекращается, когда условие станет истинным.Минимальное число повторений тела цикла—1. ВыходВыход
  • 45. В примере представлена программа, позволяющая находить произведение нечётных чисел, вводимых с клавиатуры. Подсчёт прекращается в том случае, если введено чётное число, либо выражение, которое невозможно преобразовать в числовое. Public Sub InputNum() pr = 1 num = InputBox("Введите число:") If Not IsNumeric(num) Then Exit Sub Do Until (num Mod 2 = 0) pr = pr * num num = InputBox("Введите число:") If Not IsNumeric(num) Then Exit Do Loop MsgBox "Произведение нечётных чисел = " & pr End Sub ВыходВыход
  • 46. Цикл While-Wend Данный оператор полностью соответствует структуре Do While - Loop. Отличительной особенностью оператора является невозможность прервать выполне- ние цикла из тела цикла (Exit Do отсутствует), проверка условия выполняется только в начале цикла. While <условие> <блок операторов> Wend ВыходВыход
  • 47. Код процедуры, представленной в примере, позволяет объединять введённые строки до тех пор, пока длина выходной строки меньше 55 символов, либо пока не введена пустая строка. Результирующая строка выводится в окно Inmmediate. Public Sub InputNum() Dim PutSt As String Dim St As String PutSt = InputBox("Введите строку:") St = PutSt While (Len(St) < 55 And PutSt <> "") PutSt = InputBox("Введите строку:") St = St + PutSt Wend Debug.Print St End Sub ВыходВыход