Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК доп_раздел.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
20.74 Mб
Скачать

4. Отчет по работе

Распечатка программ и таблиц с результатами вычислений.

Работа 2. Операторы цикла. Работа с подпрограммами

1. Цель работы

Научиться работать с операторами повтора и организовывать взаимодействие программ.

  1. Основные теоретические положения

Массивы – это упорядоченные наборы данных, например А1, А2, …, А10 –одномерный массив из десяти элементов.

Матрица

представляет собой двумерный массив из двух строк и трех столбцов - В(2,3).

При работе с массивами их обязательно следует описывать в начале программы. Например, оператор

Dim C(20) As Integer

описывает массив С, в котором двадцать целых чисел.

Оператор

Dim D(4,6) As Single

описывает двумерный массив (матрицу), в которой четыре строки и шесть столбцов, то есть 4 * 6 = 24 числа вещественного типа.

Для перебора всех элементов массивов, а также для организации других повторяющихся вычислений используются операторы цикла (повтора). Их в VBA несколько:

ForNext – повторяет набор инструкций заданное число раз;

WhileWend – повторяет набор инструкций, пока некоторое условие выполняется;

DoLoop – повторяет набор инструкций, пока условие выполняется (или вторая модификация - DoUntil – пока условие не выполняется).

Рассмотрим структуру и применение этих операторов.

2.1. Оператор For … Next

Оператор For (для) Next (следующий) имеет синтаксис

For Счетчик шагов=Начало То Конец Step Шаг

Операторы

(Тело цикла)

Next (конец цикла)

Работает оператор следующим образом: оператор For начинает цикл и присваивает Счетчику шагов начальное значение. После этого выполняются операторы в теле цикла и оператор Next возвращает управление оператору For для увеличения значения счетчика шагов. Оператор For проверяет, не достиг ли счетчик шагов конечного значения. Если нет – цикл повторяется. Если достиг – происходит переход к оператору, стоящему после Next.

Пример 1

Создадим программу, повторяющую звуковой сигнал 15 раз.

Процедура имеет вид

Sub Сигнал( )

Dim Счетчик As Integer

For Счетчик = 1 To 15

Beep

Next

End Sub

После запуска программы (F5) компьютер будет сигналить.

2.2. Оператор While … Wend

Оператор While (пока)Wend (конец оператора) имеет структуру

While Условие

Операторы

Wend

Работает оператор так. Если условие выполняется, работают все операторы до Wend. Затем управление возвращается оператору While и цикл повторяется.

Пример 2

Организуем суммирование элементов массива В(40), пока не встретится отрицательный элемент.

Sub Оператор_WhileWend( )

Dim B(40) As Variant

Dim S As Variant

Dim Счетчик As Integer

S = 0

Счетчик = 1

While B(Счетчик) >= 0

S = S + B(Счетчик)

Счетчик = Счетчик + 1

Wend

End Sub

2.3. Оператор Do … Loop

Существует два типа этих операторов.

Первый из них Do WhileLoop работает аналогично оператору WhileWend. Второй Do UntilLoop организует повтор тогда, когда условие не выполняется.

Составим программу для предыдущего примера с оператором Do WhileLoop

Sub ОператорDoWhile( )

Dim B(40), S As Variant

Dim I As Integer

S = 0

I = 1

Do While B(I) >= 0

S = S + B(I)

I = I + 1

Loop

End Sub

Эта же программа с использованием оператора Do UntilLoop имеет вид

Sub ОператорDoUntil( )

Dim B(40), S As Variant

Dim I As Integer

S = 0

I = 1

Do Until B(I) < 0

S = S + B(I)

I = I + 1

Loop

End Sub