Главная страница

Лекция 9(5) Программирование на VBA. Лекция 9 по дисциплине Информатика, часть Автор, доцент кафедры информатика Тимухина В. В


Скачать 249 Kb.
НазваниеЛекция 9 по дисциплине Информатика, часть Автор, доцент кафедры информатика Тимухина В. В
АнкорЛекция 9(5) Программирование на VBA.pdf
Дата24.06.2018
Размер249 Kb.
Формат файлаpdf
Имя файлаЛекция 9(5) Программирование на VBA.pdf
ТипЛекция
#20668
Алгоритмизация и программирование
Программирование на VBA разветвляющихся процессов
Лекция 9 по дисциплине Информатика, часть Автор, доцент кафедры информатика Тимухина В.В.
Лекция 9. Информатика, часть 2 Программирование на VBA включает рассмотрение следующих тем
• Типы данных
Описание переменных
• Константы
• Массивы
• Типы данных, определенные пользователем
• Операции Встроенные функцииVBA
• Встроенные диалоговые окна
• Инструкции VBA
– Оператор присвоения Операторы перехода и выбора Операторы повтора
• Процедуры
• Функции
• Область определения переменных
Лекция 9. Информатика, часть 2 Допустимые имена
П
ользователь определяет имена переменных, констант, функций, процедур
Имена должны соответствовать некоторым требованиям
• Отражать суть обозначаемого объекта, чтобы делать программу читаемой(в примере Длина имени не более 255 символов
• Имя не может содержать точек, пробелов и символов %, &, !, #,
@, Имя может содержать любую комбинацию букв, цифр и символов, но начинаться только с буквы.
• Не используйте имена, совпадающие с ключевыми словами языка VBA и именами встроенных функций.
• Для выразительности имен используйте набор на разных регистрах, например вместо firstname лучше FirstName.
Лекция 9. Информатика, часть 2 Типы данных-
фундаментальное понятие языка программирования, определяют множество допустимых значений, которое может принимать указанная переменная
Тип данных Размер(байт)
Диапазон значений –(байт)
1
От 0 до 255

Boolean (логический )
2
True или False

Integer (целый)
2
От -32768 до 32767

Long (длин. целый)
4
От – 2147483648 до 2147483648

Single (вещественные)
4
От -3,4 Е до 3,4 Е38

Double
8
От -1,7 Е до 1,7 Е (денежный)
8
От – 922337203685477,5808

Date (дата/время)
8
От 1.01.100 до 31.12.9999

Object (объект)
4
Любой объект (строка)
длина строки
от 1 до 65400 символов длина строки
Любая числовая или строковая переменная

Тип данных, определяемый пользователем инструкцией Type
Лекция 9. Информатика, часть 2 Описание переменных.
Переменная используется для временного хранения данных в оперативной памяти, те. она определяет область памяти, где хранится её значение.
Описать переменную можно явными неявным способами
Явное описание переменных с использованием операторов
Dim, Private, Static, Public, которые определяют область памяти для хранения переменной и видимость переменной
ИмяПеременной As ТипПеременной
Private ИмяПеременной As ТипПеременной
Static ИмяПеременной As ТипПеременной
Public ИмяПеременной As ТипПеременной
Например,
Dim a As Integer, b As Single, c As String.
Dim x, y, z As String – Это неправильное описание
переменных.
Только z будет описан типом String, ахи убудут типа Variant.
Лекция 9. Информатика, часть 2 Неявное описание переменных осуществляется включением вконец его имени специального символа, устанавливающего тип переменной
%-Integer;
& - Long;
! – Single;
# -Double;
$ - String;
@ -Например а - переменная а целого типа, b! – переменная b вещественного типа, c$ - переменная с строкового типа
Лекция 9. Информатика, часть 2 Структура модуля.
Модуль создается командой Insert - Module СТРУКТУРА МОДУЛЯ Область описания модуля- General Declarations описывает глобальные переменные) О Explicit –обязател. описание переменных
Public глобальные переменные
Private локальные переменные модуля
Dim локальные переменные модуля
Область процедур
Public Sub Procedure1( ) Описание локальных перемен. процедуры 1
Dim…. …..
End Sub
Private Sub Procedure2( ) Описания локальных перемен. процедуры 2
Dim…. ….
End Sub
Sub Procedure 3() Описания локальных перемен. процедуры 3
Dim …..
Static …….
End Sub Программный модуль состоит из двух областей Область описания переменных. В этой области описываются глобальные для всего проекта переменные и локальные переменные для данного модуля.
•Область процедур.
В области процедур размещены все процедуры данного модуля
Лекция 9. Информатика, часть 2 Описание переменных зависит от области видимости переменных, если указана инструкция Ото описание переменных обязательно.
Переменные нужно описывать- Это признак хорошего, грамотного программирования- Это экономит память, так как все неописанные переменные система воспринимает как переменные типа Variant и назначает им большее количество памяти, чем может потребоваться.
Глобальные переменные. Их значения сохраняются до конца работы всей программы и они доступны в любой процедуре любого модуля донного проекта. Описываются в области описания модуля инструкцией Public.
Лекция 9. Информатика, часть 2 Описание переменных
Локальные переменные. Используются в пределах одного модуля или процедуры и после выполнения процедуры будут удалены из памяти, если описаны с помощью Dim или сохранены до конца работы программы, если описаны с помощью Переменные уровня модуля, описываются инструкциями Dim ив области описания модуля, распознаются внутри модуля, в котором описаны.
• Переменные уровня процедуры, описываются инструкциями Dim и Static, распознаются внутри процедуры, в которой описаны
Лекция 9. Информатика, часть 2 Разные мелочи»
Комментарии – невыполняемые строки программы. Они пишутся для пояснения программы. Очень полезны. Комментарий начинается с символа ‘ -апостроф, может быть написан в отдельной строке или в конце строки кода.
Например, Dim b As String
‘b строковая переменная – комментарий
При отладке программы комментарием можно временно отключить фрагмент программы.
При расположении нескольких операторов водной строке для их разделения используется знак двоеточие : Например, ha= t/a : hb=t/b : hc=t/c.
Лекция 9. Информатика, часть 2 Разные мелочи»
Перенос строки кода в программе на новую строку
<Пробел> + Знак подчеркивания
MsgBox “ha=“ & str(ha) & chr(13) & “hb=“ & str(hb)
_
& chr(13) &“hc=“ & str (Конкатенация строк это объединение нескольких строк в одну. Для объединения используется символ
«амперсанд» & или символ сложения +При объединении строк вторая строка добавляется вконец первой. Перенос строки кода
Лекция 9. Информатика, часть 2 Операции Математические выполняются над числами, их результатом являются числа. Стандартный набор операций
+
,
-
,
*
,
/
,
\ целочисленное деление,
^
(возведение в степень).
Операции Отношения -применяются не только к числам, их результат логические значения. Стандартный набор
>
,
>=
,
<
,
<=
,
<>
,
=
- сравнение двух операндов.
Логические – применяются логическими выражениями и их результатом являются логические значения. Стандартный набор and
(логическое умножение, or
(логическое сложение, not
(логическое отрицание) Приоритет функции, действия в скобках,

^
, и,
\
(деление нацело,
+и ,
> < =
,
Not
,
And
,
Or
.
Лекция 9. Информатика, часть 2 Встроенные функции
И
спользование функций упрощает программирование.
Математические
Проверки типов
Преобразование
форматов
Обработки строк
Времени и даты
Финансовые
Некоторые математические функции модуль х – синус х – квадратный корень – косинус х – натуральный логарифм х – экспонентах (е х – целая часть числах Лекция 9. Информатика, часть 2 Функции преобразования типов-
преобразуют переменные одного типа в другой тип
Преобразование символов в число – функция
Val( )
у =Val( x Преобразование числа в символы – функция
Str( )
x = str( y Другие функции преобразования типов
Функция Тип, в который преобразуется выражение Boolen
• CByte Byte
• CDate Date
• CInt Integer
• CStr String
• CSng Single
• Cvar Примеры CByte(b)

d=CDate(t)
Лекция 9. Информатика, часть 2 Форматирование чисел
представляет число в заданной форме или как дату, время, денежное
значение
Пользовательский формат – позволяет настроить вид отображаемых значений так, как желает пользователь Переменная или Выражение, Формат )
C=1,253647 –переменная
Формат
Результат
Format(C, “##.### “)
1.253
Format(Sin(1)*Exp(5), “#.###e+##”)
1.29E+2
Format( Now, “hh:mm:ss”)
18:57:23
Format( Now, Специальная функция форматирования чисел (Переменная или выражение, Количество знаков после

запятой)
Формат
Результат
FormatNumber( Sin(4), 3)
-0,757
FormatNumber( C, 2)
1.25
Лекция 9. Информатика, часть 2 Оператор присвоения

Присваивает значение выражения переменной, константе или свойству. Всегда включает знак равенства (Имя переменной = Выражение
Оператор предписывает выполнить выражение и присвоить его результат переменной. Например х
х = х+2

Используется для присваивания переменной ссылки на объект. Применяется ключевое слово Set . В примере- переменной r присваивается ссылка на ячейку Аи через эту переменную в ячейку А вводится значение r As Range
Set r = Range (“A1”)
r. Value = В общем случае инструкция Set имеет такой синтаксис Имя переменной = Выражение
Лекция 9. Информатика, часть 2 Оператор With Позволяет не повторять многократно имя объекта. Структурирует текст программы. Пример. Изменить свойства ячейки А1
Без использования With
Range(“A1”).Value =3
Range(“A1”) . Font . Italic = Установлено значение А, равной 3 и шрифт – «курсив»
С использованием With
With
Range(“A1”)
.Value=3
.Font . Italic=True
End With
Лекция 9. Информатика, часть 2 Оператор With Пример- изменение формата ячейки =3
Range(“A1”) . Font . Italic = True
Range(“A1”). Font . Size = 12
Range(“A1”). Font.ColorIndex =3 Установлено значение А, равной 3, шрифт – курсив, высота шрифта 12, цвет красный Range(“A1”)
.Value=3
With
. Font
. Italic=True
. Size = 12
. ColorIndex =3
End With
End With
Лекция 9. Информатика, часть 2 Операторы управления:
перехода и выбора (GoTo, If, Select)
, повтора (For, For Each, Do Loop, Оператор условного перехода – задает выполнение определенных групп инструкций в зависимости от значения логического выражения вариант записи
If условие Then
выполняются операторы, если условие истина
Else
выполняются операторы, если условие ложно if
2 вариант записи условие Then операторы Else операторы
Если оператор набирается в одну строку , тоне ставится. Ветвь Else является необязательной
Лекция 9. Информатика, часть 2 ПРИМЕР Вычислить Скидку, которая применима только к Суммам больше 1000, в противном случае Скидка вариант записи Сумма Скидка = 0.05
Скидка =0
end if
2 вариант записи Сумма Then Скидка = 0.05 Else Скидка =0
Сумма>1000
Скидка = Скидка = 0
Да
Нет
Лекция 9. Информатика, часть 2 Программирование алгоритма разветвляющейся структуры
В алгоритме разветвляющейся структуры вычислительный процесс в зависимости от выполнения некоторого логического условия осуществляется по одной или подругой ветви , те. вычисления осуществляются по одним или по другим формулам 0
1 ПРИМЕР. Вычислить У, выбрав формулу решения в зависимости от значения Х.
Для решения таких задач используется оператор
if Then Else
Лекция 9. Информатика, часть 2 22
Блок-схема алгоритма решения задачи
Х<0 Описание переменных Х
Y= sin(x); S
Y= e x
; S
Y= 1; Начало Конец Ввести Х Да Нет
Блок-схема алгоритма Вывести Y, S Вывести Y Да Нет Вывести S? В алгоритме нужно предусмотреть. Описание переменных
X и Y
2. Ввод X
3. Сравнение Х с нулем. Выбор формулы решения для Y в зависимости от значения Х. Вывод результата – значения Y
Лекция 9. Информатика, часть 2 Разработка формы флажок
Лекция 9. Информатика, часть 2 Программирование объекта CheckBox (флажка) с использованием оператора If
If
CheckBox1.Value = True
выполняются инструкции, если флажок установлен выполняются инструкции, если флажок сброшен If
Лекция 9. Информатика, часть 2 Разработка Кода программы задачи
1. 2 раза щелкните по кнопке Вычислить расположенный на форме. Появятся строки Sub CommandButton1_Click()

End Sub
3. Наберите между этими строками код программы. Запустите программу на выполнение командой
Run (F5).
Лекция 9. Информатика, часть 2 Кода программы Sub CommandButton1_Click()
Dim x As Single, y As Single, s As String Описание переменных = TextBox1.Value
‘ Ввод Х
x > 0
Then
У = Sin(x) : s = "при Х >0 У
‘ сообщение Else
If
x < 0
Then
У = Exp(x) : s = "при Х <0 У EXP(X))"
Else
У = 1: s = "при Х =0 У End If
End Программирование флажка и вывод У If
CheckBox1.Value = True
Then
Label3.Caption = У) & s
‘ флажок установлен, выводится y и s
Else
Label3.Caption = У)
‘ флажок сброшен, выводится только y
End If
End Sub
Лекция 9. Информатика, часть 2 Результаты работы программы верхний ряд форм - без вывода условия выбора формулы решения;
нижний ряд форм – с выводом условия выбора формулы решения
Лекция 9. Информатика, часть 2 Оператор выбора Используется в том случае, если нужно проверить несколько
условий
Выполняет одну из нескольких групп инструкций в зависимости от значения выражения Case выражение выражение 1
Инструкции 1
Case выражение 2
Инструкции 2
…….
Case выражение n
Инструкции n
Case Else
Инструкции иначе Select
Лекция 9. Информатика, часть 2 Код программы с использованием Case
Private Sub CommandButton1_Click()
Dim x As Single, y As Single, s As String Описание переменных = TextBox1.Value
‘ Ввод Х Select Case x
Case У = Sin(x): s = "при Х >0 У"
‘ сообщение У 1: s = "при Х =0 У У = Exp(x): s = "при Х <0 У EXP(X))"
End Программирование флажка и вывод z
If
CheckBox1.Value = True
Then
Label3.Caption = У) & s
‘ флажок установлен Else
Label3.Caption = У)
‘ флажок сброшен If
End Ключевое слово Is задает диапазон значений. Если Is не указано, оно задается по умолчанию
Лекция 9. Информатика, часть 2 30
Выводы
• В лекции рассмотрены фундаментальные понятия языка типы переменных функции, в том числе преобразования типов и основные операторы языка.
• Подробно рассмотрено программирование задачи выбора формулы решения с использованием операторов If и Показан объект формы Флажок (CheckBox) и принципы его программирования.


написать администратору сайта