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

Текст программы

Sub RandArr () ‘ процедура Dim i As Integer, A (20) As Single ‘ описываем счётчик (целое число) и массив Randomize ‘ инициализация ГСЧ For i = 0 To 19 ‘ запускаем цикл от 0 до 19 A (i) = Rnd () ‘ присваиваем i-му элементу массива случайное число Next I ‘ заканчиваем цикл For i = 0 To 19 ‘ запускаем цикл от 0 до 19 Selection.TypeText (Str (A (i)) + Chr (13)) ‘в документ записываем i-й элемент и переводим строку Next I ‘ заканчиваем цикл End Sub ‘ заканчиваем процедуру

2.1.2For Each – Next

Цикл «For Each - Next» так же относится к циклам с параметром.

Синтаксис

For Each Элемент in Группа [Инструкции] [Exit For] [Инструкции] Next [Элемент]

Повторяет выполнение группы инструкций для каждого элемента массива или семейства. Альтернативный способ выхода из цикла предоставляет инструкция «Exit For». Схема алгоритма приведена на Error: Reference source not found.

Пример

Для каждого абзаца текущего документа установить отступ слева со сдвигом на миллиметр относительно предыдущего.

Схема алгоритма

Рис. 2. Алгоритм изменений отступов абзацев.

Текст программы

Sub ForEach() ‘Заголовок процедуры Dim i As Single ‘Описание переменной – величины сдвига i = 0 ‘Начальный сдвиг равен нулю For Each Paragraph In ActiveDocument.Paragraphs ‘Для всех абзацев текущего документа Paragraph.LeftIndent = MillimetersToPoints(i) ‘Отступ слева ус- ‘танавливаем в i мм. Для этого преобразуем миллиметры в пункты. i = i + 1 ‘Увеличиваем величину отступа на 1 мм. Next Paragraph ‘Переходим к следующему абзацу. End Sub ‘Конец процедуры

2.1.3Do Until — Loop

Цикл «Do Until – Loop» относится к циклам с предусловием. Это означает, что условие выхода из цикла проверяется перед выполнением операторов, составляющих тело цикла. Следовательно, если условие выхода выполняется до начала цикла, инструкции цикла не будут выполнены ни разу.

Синтаксис

Do [Until Условие] [Инструкции] [Exit Do] [Инструкции] Loop

Повторяет выполнение набора инструкций, пока условие не примет значение True. Сначала проверяется условие, а потом выполняется инструкция. Альтернативный способ выхода из цикла предоставляет инструкция «Exit Do».

Схема алгоритма изображена на Error: Reference source not found.

2.1.4Do — Loop Until

Ц икл «Do Until – Loop» относится к циклам с постусловием. Это означает, что условие выхода из цикла проверяется после выполнения операторов, составляющих тело цикла. Следовательно, инструкции цикла будут выполнены хотя бы один раз.

Синтаксис

Do [Инструкции] [Exit Do] [Инструкции] Loop [Until Условие]

Повторяет выполнение набора инструкций, пока условие не примет значение True. Условие проверяется после выполнения инструкции, по крайней мере, один раз. Альтернативный способ выхода из цикла предоставляет инструкция «Exit Do».

Схема алгоритма изображена на Error: Reference source not found.

Пример

Ввести число от 0 до 20.

Схема алгоритма

Рис. 3. Схема алгоритма ввода числа больше 0 и меньше 20

Текст программы

Sub InputNum1 () ‘Начало процедуры Dim Num As Integer ‘Переменная, в которую вводим число Do ‘Начало цикла Num = InputBox ("Введите число от 0 до 20") ‘Вводим число Loop Until (Num>0) And (Num<20) ‘Если 0<число<20 конец цикла. MsgBox (Num) ‘Выводим число End Sub Конец процедуры

2.1.5Do While — Loop

Цикл «Do While – Loop» относится к циклам с предусловием. В отличие от цикла «Do Until - Loop» выход из цикла происходит, когда условие, стоящее в заголовке, не выполняется. То есть это условие является условием продолжения работы цикла.