Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика 2012

.pdf
Скачиваний:
21
Добавлен:
13.04.2015
Размер:
245.41 Кб
Скачать

1. ОсновныетипыданныхVBA

Типданных

Диапзначезоний

Объемзанимаемой

 

 

 

 

памяти,байт

Byteбайт) (

Целыечислаотдо0255

 

 

1

Integerцелоечисло) (

Целыечислаот

–32768до32767

2

Longдлиннцел( ое

Целыечисладвойнойдлиныот(

 

–2147483648

4

число)

до2147483647)

 

-1.401298E-45 для

 

Singleчисло(

От -3.402823E38до

 

4

отрицательныхзначений;От1.401298E

-45до

плавающейточкойобычной

3.402823E38дляположительныхзначений;

 

 

точности)

От -1.79769313486232E308до

 

Doubleчисло(

-4.94065645841247E-324дляотрицательных

8

значений;

 

 

плавающейточкдвойной

От4.94065645841247E -324до

 

точности)

1.79769313486232E308дляположительных

 

 

значений;

 

 

 

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

Логическое значениеTrueилиFalse

2

Stringстрокасимволов) (

Отдо065535символов

 

 

1буквx

Objectобъект) (

Любойуказательобъекта

 

 

4

Variantстроковыеили (

Любоечислстровизначениеоковое

 

 

от16

числовыеподтипы)

 

 

 

 

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

Dim Имяпеременной

 

 

As Тип

 

Пример:

 

 

 

 

 

Dim Alpha As integer

 

Объявлениеконстанта:

 

 

As Тип = Значение

 

Const Имяконстанты

 

 

 

Пример:

 

 

 

 

 

Const Pi As double = 3.14159

 

3. Вводданных:

 

 

 

 

A = Val( InputBox(СообщеЗначение,Заголовок, поумолчанию

) )

где Val(S) – функцияпреобразованиястроки

S вчисло;

A = Range(Имяячейки

или

 

).Value

 

4.Выводданных:

 

 

 

 

MsgBox( Str(A) & vbCrLf & Str(B) )

A встроку;

где Str(A) – функцияпреобразованиячисла

 

vbCrLf – константаперенстр; осаки

 

Range(Имяячейки

 

 

или

 

1).Value = A

 

Range(Имяячейки

2).Value = B

 

5. Математическиефункции

 

VBA

 

 

 

 

 

 

 

 

 

Функция(аргумент)

 

 

 

Действие

 

 

 

 

 

Abs(N)

 

Возвращает абсолютное значениергумN нта

 

 

 

 

 

Atn(N)

 

Возвращает арктангенс Nрадиан()

 

 

 

 

 

Cos(N)

 

Возвращает косинус Nрадиан()

 

 

 

 

 

 

Exp(N)

 

Возвращконстантуе ( туральныйетлогарифм=

 

 

 

 

2.718282возвстепеньеденную...N ),

 

 

 

 

 

 

Log(N)

 

Возвращает натуральный логарифм N

 

 

 

 

Rnd(N)

 

Возвращает случайное число:аргументявляе ся

 

 

необязаИспользуетсяным. послеко

 

 

 

 

инициализациигенератоператорслучайныхчисел(

 

 

 

Randomize)

 

 

 

 

 

 

 

Sgn(N)

 

Возвращает знак числа: -1,еслиN

- отрицательное;

 

 

1,еслиN

- положительное;если0,равноN 0

 

 

 

 

 

Sin(N)

 

Возвращает синус Nрадиан()

 

 

 

 

Sqr(N)

 

Возвращает корень квадратный изЕслиN.являетсяN

 

 

отрицательнымчислом

- возвращаетсяошибкавремени

 

 

исполнения

 

 

 

 

 

 

 

Tan(N)

 

Возвращает тангенс Nрадиан()

 

 

 

 

 

Арифметическоператоры:сложение

 

+ ,вычитание ,умножение

* ,деление / ,

целочисленноеделение

\ ,возведениестепень

 

^ .

 

Оператор, возвращающийостатокотделения

 

mod (modulo).Примерпроверки

начетность:

 

 

 

 

 

If A Mod 2 = 0 Then MsgBox(“Четное

число”)

 

6Функциираб. сострокамиты

 

 

 

 

 

Обратныйпорядоксимволов

 

StrReverse(ТекстовоеВыражение)

 

Преобразобольшихбуквмаленькиеание

 

 

 

LCase(ТекстовоеВыражение)

Преобразованиемаленькихбуквбольшие

 

 

 

UCase(ТекстовоеВыражение)

Удалениепробвначалелов

 

текста LTrim(ТекстовоеВыражение)

Удалениепробначалевв вконцет кста

 

 

 

Trim(ТекстовоеВыражение)

Удалениепробвконцетексталов

 

 

RTrim(ТекстовоеВыражение)

 

Копированиеначалатекста

Left(ТекстовоеВыражение,ЧислоСимволов)

 

 

Копированиесерт диныкста

Mid(ТекстовоеВыражение,НачалоКопии,

 

 

 

ЧислоСимволов)

 

 

Копированиеконцатекста

Right(ТекстовоеВыражение,ЧислоСимволов)

 

 

Символсзаданнымкодом

Chr(КодСимвола)

 

 

Заданноечислопробелов

Space(ЧислоПробелов)

 

 

Повторениезаданногосимвола

String(ЧислоСимволов,

ПовторяемыйСимвол)

Поизаменасксимволовтексте

Replace(ТекстовоеВыражение,

 

СтарыйТекст,

НовыйТекст)

7. Циклсусловием

Конструкция

 

Описание

 

 

 

 

Do While

Условиепровдотого,ряетсякаквыполняетсягруппа

 

операторов,образующихтелоцикла.Циклпродолжает

 

<условие>

своюраб,поэкатусловиевыполняетсято(сть

 

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

имеетзначеTrue),инсловамиымииеэтой

 

Loop

конструказываетсясловиекциипродолженияработы

 

 

цикла

 

 

 

 

 

Do Until

Условиепровдотого,ряетсякаквыполняетсягруппа

 

операторов,образующихтелоцикла.Циклпродолжает

 

<условие>

своюрабоусловие,еслиэт ещенвыполнено,

 

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

прекращаетраб, ооногдатустанетистинным,иными

 

Loop

словами,

вэткойнструказываетсясловиекции

 

 

прекращенияработыцикла

 

 

 

 

Do

Условиепровпослтогоря,какоператорытся,

 

составляющиеелоцикла,будутвыполнехотябыодины

овиеещ

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

раз.Циклпродолжаетсвоюрабоусл,еслиэ

Loop Until

невыполнено,акогдаоностанетистинным,цикл

 

<условие>

прекращаетработу,инымисловами,этк йнструкции

 

 

указываусловиепр работыкращениятсяцикла

 

 

 

 

Do

Условиепровпослтогоря,какоператорытся,

 

составляющиетелоцикла,будутвыполнехотябыодины

 

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

 

раз.Циклпродолжаетсвоюраб, экаусловие

 

Loop While

 

остаетистинным,инымисловамия,этк йнструкции

 

<условие>

 

указываетсяусловиепродолженияработыцикла

 

 

 

 

 

 

 

Пример. Даноцелоечисло(NНайтинаименьшее> 0)целое.

2 >ФункциюN.

положительноечисло

K,квадраткоторогопревосходитN: K

извлеченияквадратного

корнянеиспользовать.

 

 

Sub macros()

Dim n As Integer, k As Integer n = 144

k = 1

Do Until k ^ 2 > n k = k + 1

Loop

MsgBox ("K = " & k & vbCrLf & "K^2 = " & Str(k ^ 2))

End Sub

8Массивы. циклыпараметром

Массив – упорядоченнаягруппафиксированногоколичествапеременных одноготипа,имеюбимящ.ееая

Объявление массивов:

 

Dim Имя массива(Размерность)

As Тип

 

 

Пример:

 

 

 

 

 

 

 

Dim mas(1 To 5) As Integer

 

 

 

Заполнение массиваслучайнымизначениямиотдо010

 

припомощи

оператора

цикласпараметром:

 

 

 

 

 

For i = 1 To 5 Step 1

 

 

 

 

mas(i) = Round(Rnd * 10)

 

 

 

Next i

 

 

 

 

 

гдеi

– параметрцикласчетчик( пов

торов)

– переменнаяцелоготипа

 

(Integer); 1и 5

– начальконечноеи з аченияпараметрацикла

Step 1 – шаг.

 

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

ожетипа,чтопараметрцикла;

 

 

Пример. Заполнитьмассивчислами.Подсчитатьколичествоположительных элементов.

Sub macros()

Dim mas(1 To 10) As Integer Dim i As Integer

For i = 1 To 10 Step 1

mas(i) = Val(InputBox("", "", Round(Rnd * 10 - 5)))

Next i

Dim sum As Integer, s As String sum = 0

For i = 1 To 10 Step 1

If mas(i) > 0 Then sum = sum + 1

s = s & i & " : " & mas(i) & vbCrLf Next i

MsgBox (s & vbCrLf & sum)

End Sub

9Функции.

Описаниепользоватфункцииимеетследующийсинтаксисльской:

Function название функции (формальные параметры) [Аs тип] операторы

End Function

где название функции - имяфункции;

формальные параметры - имена

параметров,перечисленныечереззапятую;

 

тип - типзначенияфункции;

операторы - блокоператоров.

 

 

Вблокеоператобязательнодолженприсутствоватьрыхотябыдин

 

ослева(отзн ка

операторисваивания,левойчастикоторог

имяфункции

присваивания)находится

название.

Обращениекфу (кцииаходяще

йсявпрограмме)имеетвид

название функции(фактические параметры)

где фактические параметры - переменные,константы,чис/строкил , перечисленныечереззапятую.

Пример.

Функция,переугвградусахолдящая,минута

х исекундахв

десятичныеградусы

иокруедголяющая4

го знака.

Function deg(grad, min, sec) As Double

deg = Round(grad + min / 60 + sec / 3600, 4)

End Function

Sub macros()

MsgBox (deg(65, 56, 44) + deg(34, 20, 18))

End Sub