Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры ПОП.doc
Скачиваний:
4
Добавлен:
27.10.2018
Размер:
284.67 Кб
Скачать

3. Типы данных. Принципы выбора типа данных. Встроенные функции преобразования и проверки типов данных.

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

  • BYTE с диапазоном значений 0 …255 и размером 1 байт

  • INTEGER с диапазоном значений от –32768 … 32767 и размеров в 2 байта

  • LONG с целочисленными значениями удвоенной длины и размером 4 байта

  • SINGLE с вещественными значениями и длиной 4 байта

  • DOUBLE с вещественными значениями удвоенной длины размером 8 байт

  • СURRENCY размером 8 байт, денежный тип

  • DECIMAL с десятичным представлением данных в целочисленной или вещественной форме, размером 14 байт

  • STRING строки переменной длины до 2-х млрд. символов

  • STRING число строки фиксированной длины до 65400 символов

  • BOOLEAN со значениями TRUE длиной 2 байта или FALSE

  • DATE от 1.01.100 – до 31.12.9999

  • OBJECT со ссылкой на объект, размером 4 байта

  • VARIANT совместим с данными любого типа за исключением строк фиксированной длины.

 

4. Управляющие конструкции vba. Функции заменители синтаксических конструкций.

  VBA относится к категории языков структурного программирования и позволяет использовать стандартные управляющие структуры, к которым относятся: условный оператор, альтернативная выборка, циклы.

  Условный  оператор If. Оператор может использоваться в двух нотациях: в виде простой и блочной структур.

  Оператор  простой структуры имеет следующий  формат записи:

  If <выражение> Then <оператор>

  Логические  выражения могут быть построены  с помощью стандартных логических функций:

  Функция   

  Описание   

  Функция   

  Описание   

  Not

  And

  Or

  

  Инверсия  или отрицание Логическое "И"

  Логическое "ИЛИ"

  

  Хог

  Imp

  Eqv

  

  Исключающее “Или” Импликация Эквивалентность   

  Оператор  If блочной структуры имеет дополнения:

  If <выражение1> Then

  <блок  операторов 1>

  ElseIf <выражение2> Then

  <блок  операторов2>

  ElseIf <выражениеЗ> Then

  <блок  операторовЗ>

  [Else

  <блок операторов Else> ]

  End If

  Оператор  выборки Select Case. Данный оператор применяется в том случае, если во всех логических условиях участвует одна и та же величина (переменная):

  Select Case <величина>

  Case <сравнение1>

   <блок  операторов 1>

  Case <сравнение2>

  <блок  операторов2>

  ….

  [Case Else

  <блок операторов Else> ]

  End Select

  Выражение для сравнения может быть записано в виде: Case 45 или Case 3, 4, 5, или Case 5 То 12.

  Если  ни одно из сравнений не является истинным, выполняется блок операторов Else, если блок Else отсутствует, управление передается оператору, следующему за End Select.

  Оператор цикла For-Next. Данный оператор относится к категории вычисляемых циклов, когда известно заранее число повторений цикла, заданы начальное, конечное значения и шаг (приращение) изменения начального значения, т.е.:

  For <переменная_цикла> = <начало> То <конец> [ Step <щаг> ]

  <блок  операторов 1 >  'тело цикла

  [ Exit For ]                        ' прекращение цикла

  <блок  операторов2 >   ' повторяется определенное число раз

  Next <переменная_цикла>

  Цикл  Do-Loop. Логически управляемый цикл, оператор Do — начало, оператор Loop — конец цикла; имеет 4 модификации:

  1) условие  True в начале цикла

  Do While <условие>

  <блок  операторов>

  Exit Do

  <блок  операторов>

  Loop

  2) условие  True в конце цикла

  Do

  <блок  операторов>

  Exit Do

  <блок  операторов>

  Loop While <условие>

  Цикл выполняется  хотя бы один раз, в конце выполняется  проверка <условия>.

  3) условие  False в начале цикла

  Do Until <условие>

  <блок  операторов>

  Exit Do

  <блок  операторов>

  Loop

  Until указывает, что цикл выполняется до тех пор, пока <условие> не станет истинным. Минимальное число повторений тела цикла — 0.

  4) условие  False в-конце цикла

  Do

  <блок  операторов>

  Exit Do

  <блок  операторов>

  Loop Until <условие>

  Условие проверяется в конце, цикл прекращается, когда условие станет истинным.Минимальное число повторений тела цикла—1.

  Цикл  While-Wend. Данный оператор полностью соответствует структуре Do While - Loop. Отличительной особенностью оператора является невозможность прервать выполнение цикла из тела цикла (Exit Do отсутствует), проверка условия выполняется только в начале цикла.

  While <условие>

   <блок  операторов>

  Wend

  Цикл  For Each. Оператор относится к категории операторов объектного типа, т.е. применяется к массивам (элементам) и наборам объектов. Выполняется фиксированное число раз, число объектов в наборе определяется автоматически. Упорядочение элементов набора — произвольное.

  For Each <элемент> In <набор>

  <блок  операторов>

  Exit For

  <блок  операторов>

  Next <элемент>

  где <элемент> представляет собой переменную типа Variant, <набор> — определе набор объектов. Для прерывания цикла используется оператор Exit For

  Функции - заменители синтаксических конструкций VBA, функции  Choose(), IIF(), Switch()

  • Choose() - принимает число (номер значения) и несколько значений. Возвращает значение, порядковый номер которого соответствует передаваемому числу, указанному первым аргументом функции. После первого аргумента следуют непосредственно выбираемые значения(максимум 30)

  Choose(2, "Первый", "Второй", "Третий") вернет "Второй"

  • IIF() - расшифровывается как Immediate IF, то есть "Немедленный IF". Представляет из себя упрощенный вариант IF...Then, когда проверяется условие и возвращается одно из двух значений. 

  IIf(n > 10, "Больше десяти", "Меньше или равно десяти")

  • Switch() - принимает неограниченное количество пар типа выражение/значение, проверяет каждое выражения на истинность и возвращает значение для первого выражения, которое оказалось истинным:

  Dim sNumber As String, lNumber As Long  sNumber= Switch(lNumber = 1, "Один", lNumber = 2, "Два", lNumber= 3, "Три")