Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информат ЛАБОРАТОРНАЯ РАБОТА.doc
Скачиваний:
3
Добавлен:
24.04.2019
Размер:
179.71 Кб
Скачать

Реализация алгоритмов с помощью макросов в excel

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

Цель работы

1. Изучите теоретические сведения.

2. Создайте макросы по заданному преподавателем варианту.

3. Сохраните файл с созданными макросами.

4. Перепишите текст макросов в отчет.

5. Закройте Visual Basic и Microsoft Excel.

6. Ответьте на контрольные вопросы по указанию преподавателя.

Контрольные вопросы

1. С помощью каких операторов составляются циклические алгоритмы?

2. Каково назначение операторов For, While, DoLoop?

3. В чем разница между операторами For и While?

4. Что может содержаться в условии оператора If?

5. Что происходит в случае невыполнения условия в операторе If?

6. Каково назначение операторов Then, Else и Else If?

7. В чем разница между операторами If и Select Case?

8. В чем разница между операторами While и Until?

Ответы на контрольные вопросы

  1. Циклические алгоритмы. Для реализации циклических алгоритмов используются три вида операторов цикла: For, While, DoLoop.

  1. Назначение операторов For, While, DoLoop. Оператор For имеет следующий формат записи:

For переменная = начальное значение To конечное значение

[операторы]

Next [перменная]

В качестве примера приведем программу, в которой оператор For используется для вычисления суммы s=12+22+…+n2:

Sub Sum ()

n = InputBox("Введите количество слагаемых")

s = 0

For i = 1 To n

s = s + i ^ 2

Next

MsgBox s

End Sub

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

While условие

[операторы]

Wend

Оператор Do ... Loop имеет следующий две разновидности записи:

Do [{While / Until} условие]

[операторы]

[Exit Do]

[операторы]

Loop

или:

Do

[операторы]

[Exit Do]

[операторы]

Loop [{While / Until} условие]

3. Разница между операторами For и While.

Для сравнения принципа работы рассматриваемого оператора с оператором For приведем пример программы, выполняющей аналогичную задачу вычисления суммы

Sub Sum()

Dim i As Integer

n = InputBox("Введите количество слагаемых")

s = 0

i = 0

While i < n + 1

s = s + i ^ 2

i = i + 1

Wend

Приведем пример предыдущей задачи с использованием данного оператора

Sub Sum()

Dim i As Integer

n = InputBox("Введите количество слагаемых")

s = 0

i = 0

Do While i < n + 1

s = s + i ^ 2

i = i + 1

Loop

MsgBox s

End Sub

или

Sub Sum()

Dim i As Integer

n = InputBox("Введите количество слагаемых")

s = 0

i = 0

Do

s = s + i ^ 2

i = i + 1

Loop Until i > n

MsgBox s

End Sub

4. Содержание условия оператора If. Для записи разветвляющихся алгоритмов используется оператор If (Если), который имеет две формы записи.

1. Однострочная запись:

If условие Then [оператор]

If условие Then [оператор 1] [Else оператор 2]

2. Многострочная запись:

If условие Then

[оператор 1]

[оператор 2]

[оператор 3]

End If

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

После имени конструкции If должно следовать логическое выражение, содержащее условие. Для создания сложных условий используются логические операции And (И) и Or (Или). В качестве условия могут выступать следующие логические выражения: сравнение переменной с другой переменной, константой или функцией; любая переменная; выражение; поле базы данных; функция, принимающие значения True (Истина) или False (Ложь).

5. Невыполнение условия в операторе If. Если условие не выполняется, то Visual Basic переходит к выполнению операторов, следующих за указанным оператором.

В качестве примера приведем функцию определения корней квадратного уравнения:

Function Корни(a, b, c)

d = b ^ 2 - 4 * a * c

If d >= 0 Then

x1 = (-b + d ^ (1 / 2)) / (2 * a)

x2 = (-b - d ^ (1 / 2)) / (2 * a)

Корни = "x1=" + str(x1) + "; x2=" + str(x2)

Else

Корни = "корней нет"

End If

End Function

6. Назначение операторов Then, Else и Else If. Конструкция IfThen (Тогда)Else (Также) аналогична конструкции If...Then, но позволяет задать действия, исполняемые как при выполнении условий, так и в случае их невыполнения.

Команда If может проверить только одно условие. Если требуется осуществить переход управления в зависимости от результатов проверки нескольких условий, то дополнительное условие можно задать с помощью оператора Else If (Также Если). Оно будет анализироваться только в том случае, если предыдущее условие ложно.

Ключевое слово End If обозначает конец многострочной конструкции и его наличие в команде в этом случае обязательно. Если указанное условие выполняется, то есть результат проверки равен True (Истина), то выполняются операторы, следующие за ключевым словом Then.