Главная страница
Навигация по странице:

  • Dim переменная [As тип]

  • Особенности некоторых типов даных

  • Примеры оценки памяти, занимаемой символьными переменными

  • Перерыв – 3 мин

  • Несколько правил для корректного использования разных типов данных

  • Лекция4. Лекция 4 Типы данных, переменные и константы на vba


    Скачать 0.56 Mb.
    НазваниеЛекция 4 Типы данных, переменные и константы на vba
    Дата29.03.2022
    Размер0.56 Mb.
    Формат файлаpptx
    Имя файлаЛекция4.pptx
    ТипЛекция
    #425711

    Лекция №4

    Типы данных, переменные и константы на VBA

    • Константой называется некоторая величина, не изменяющая своего числового или символьного значения в течение выполнения всей программы.
    • Имеются два типа констант:

    • числовые конст. - представляют собой положительные или отрицательные числа двух видов:
    • а) целочисленные, представляющие собой положительные и отрицательные числа и ноль, при их записи не должна использоваться десятичная запятая, например:

      -100 2 0 +458

    б) вещественные константы – все действительные числа, включая и целые.

    Записываются в двух видах:

    с фиксированной точкой, например:

    100. –0.001 +2.563

    (вместо дес.запятой используется при записи точка!!!)

    с плавающей точкой, например, 2.5·10-2, записываемое как 2.5Е‑02 или 2.5D-02.

    Здесь 2.5 – мантисса, Е, D – десятичная экспонента одинарной (Е) или двойной (D) точности.

    Например: 1,510-3  1.5Е‑3=0.15Е ‑ 02=15Е‑04=0.0015

    150000  1.5Е+05

    0,0000254  2.54Е‑05

    Символьные константы

    • – символьные или строковые константы –
    • представляют собой набор произвольных символов, принадлежащих языку Бейсик, заключенных в кавычки, например:

      “alpha”, “beta”, “Луна”.

    Объявление переменных

    • Переменные – это объекты, предназначенные для хранения данных. В различные моменты времени переменные могут хранить разные значения. В переменных можно запоминать значения и извлекать их из них.
    • Перед использованием переменных в программе их нужно объявить (декларировать): задать имя переменной и указать ее тип.
    • Тип определяет способ представления переменной.
    • Для эффективного использования памяти и времени ПК необходимо правильно выбрать тип переменной.
    • Описание типа переменой делает программу надежнее и, кроме того, убыстряет ее работу, т.к. VBA не требуется тратить время на распознавание типа неописанной переменной при каждом обращении к ней.

    Объявление переменных

    • Объявить переменную – значит заранее сообщить программе о ее существовании.
    • Объявление переменной производится специальным оператором:
    • Dim переменная [As тип]

    Базовые типы переменных VBA


    ± 215

    ± 231

    Базовые типы переменных VBA


    НЕ ПИШЕМ, ОБРАЩАЕМ ВНИМАНИЕ НА ПОРЯДОК ЧИСЕЛ!!!

    Базовые типы переменных VBA

    Базовые типы переменных VBA

    Особенности некоторых типов даных

    • String – по умолчанию данные строкового типа имеют переменную длину и могут удлиняться или укорачиваться.
    • Однако такие строки занимают на 10байт памяти больше, поэтому можно объявить строки фиксированной длины, явно указав количество символов.

      Если количество символов будет меньше объявленного, то свободные места заполняются пробелами, при попытке занесения большего количества символов лишние отбрасываются.

    • Variant – может быть использован для хранения данных всех базовых типов без выполнения преобразования (приведения) типов.
    • Применение данного типа позволяет выполнять операции, не обращая внимание на тип данных, которые они содержат. Переменные этого типа могут содержать специальные значения: Empty (пусто), Null (Нуль), Error (ошибка).
    • Object – поскольку VBA является объектно-ориентированным языком, в нем можно манипулировать различными объектами, адреса расположения которых в памяти (указатели) имеют этот тип.

    Примеры оценки памяти, занимаемой символьными переменными

    Dim A As String

    A = “SELENA “

    ‘ 6 символов*1байт+10 = 16 байт

    Dim B As String*6

    B=“Galaxy“

    ‘ 6 символов * 1 байт = 6 байт

    Dim C As String*3

    C = “MERCURY”

    ‘  C=“MER”

    C = “12”

    ‘  C=“12_”

    Перерыв – 3 мин

    Объявления

    • • «Срочно продам мышь в отличном состоянии, со всеми наворотами, пробег – 5000 км».
    • • «Вывожу из Интернета»…
    • • «Для ухода за пожилым программистом требуется приятная женщина, говорящая на FORTRAN, BASIC и C++».
    • • «Специалист-нарколог со стажем: выводит из Интернета, прерывает Интернет на дому, кодирует и декодирует (UUENCODE, BASE-64, MIME…)».

    Операторы описания типа и постфиксы

    • Dim power As single приписывает переменной с именем power вещественный тип одинарной точности.
    • Задать тип переменной также можно, используя специальный символ в конце имени – постфикс – или, используя инструкцию DefТип.
    • Например, если на уровне модуля дана инструкция DefInt I-N, это означает, что всем переменным, имена которых начинаются с букв, лежащих в диапазон от I до N (и прописных, и строчных), в программах данного модуля будет присвоен тип Integer.

    Значения инструкции DefТип и соответствующих постфиксов

    Пример: пошаговый запуск программы клавишей F8

    Пример: Результат работы программы

    Значения и типы переменных по умолчанию

    • Если в программах модуля операторы описания типа или постфиксы в именах переменных отсутствуют, то работает принцип умолчания, согласно которому все переменные принимают тип Variant и соответствующие значения.
    • Значения и типы переменных разных типов по умолчанию


    Пусто: две кавычки

    Несколько правил для корректного использования разных типов данных

    • 1) Переменные, описанные с помощью DIM на уровне модуля, доступны для всех процедур в данном модуле. Переменные, описанные на уровне п/п, доступны только в данной п/п.
    • 2) В операторах присваивания следует иметь в виду, что значение выражения может быть присвоено переменной, только если оно имеет совместимый с этой переменной тип данных. Невозможно присвоить строковое выражение числовой переменной или числовое выражение строковой переменной. Такая попытка приведет к ошибке во время компиляции.
    • 3) Переменным типа Variant могут присваиваться как строковые, так и числовые выражения. Однако обратное не всегда верно.
    • 4) Присвоение выражения с одним из числовых типов переменной с другим числовым типом данных преобразует значение выражения в тип данных результирующей переменной (т.е. если a%=2.33, то а% будет иметь целое значение 2 или b%=2.65, то b%=3 – округление с избытком).


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