Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • End Sub






     

    Оператор цикла Do – Loop

     

    В VBA для организации циклов с неизвестным заранее числом повторений тела цикла используется и оператор цикла Do – Loop.

    Существует четыре формы записи этого оператора. Их можно разбить на две группы: циклы с предусловием и циклы с постусловием.

     

    I. Циклы с предусловием.

    1. Do While Условие 2. Do Until Условие

    Блок операторов Блок операторов

    Loop Loop

    II. Циклы с постусловием.

    1. Do 2. Do

    Блок операторов Блок операторов

    Loop While Условие Loop Until Условие

     

    Оператор Do While – Loop обеспечивает многократное выполнение блока операторов до тех пор, пока условие истинно, а оператор Do Until – Loop – пока условие ложно.

    Операторы Do – Loop While и Do – Loop Until отличаются от первых двух операторов тем, что сначала выполняется блок операторов, а затем проверяется условие. Таким образом, в этих циклах блок операторов, составляющих тело цикла, выполнится по крайней мере один раз.

    Приведем примеры использования цикла Do – Loop While.

     

    Задача 1. Составить программу, позволяющую вводить с клавиатуры целые числа до тех пор, пока не будет введено число, кратное 6, и вычислить количество введенных чисел (вместе с последним).

     

    Программный код

     

    Option Explicit

    Sub PR12()

    Dim x As Integer, k As Integer

    k = 0

    Do

    x = Val(Inputbox(“Введите число”))

    k = k+1

    Loop While x mod 6< > 0

    MsgBox (" количество=" & k)

    End Sub

     

    Если использовать оператор Do – Loop Until, то основная часть программы выглядит следующим образом:

     

    k = 0

    Do

    x = Val(Inputbox(“Введите число”))

    k = k+1

    Loop Until x mod 6=0

    MsgBox (" количество=" & k)

     

    Задача 2. Составить программу, вычисляющую сумму членов последовательности –1, 3, 7, … до тех пор, пока она (сумма) не превысит заданное число Х.

    Задачу можно решить, используя различные формы записи цикла Do – Loop.

     

    Программный код

    1.

    Option Explicit

    Sub PR13()

    Dim x As Integer, sum As Integer, a As Integer

    x = Val(Inputbox(“Введите число”))

    sum = 0

    a = -1

    Do

    sum = sum + a

    a = a + 4

    Loop While sum< =x ‘ или Loop Until sum> x

    MsgBox (" Сумма равна" & sum)

    End Sub

     

    2.

    x = Val(Inputbox(“Введите число”))

    sum = 0

    a = -1

    Do While sum< =x ‘ или Loop Until sum> x

    sum = sum + a

    a = a + 4

    Loop

    MsgBox (" Сумма равна" & sum)

     

    Задача 3. Вычислить произведение и сумму цифр произвольного числа.

     

    Option Explicit

    Sub PR14()

    Dim x As Integer, sum As Integer, pr As Long, c As Integer

    x = Val(Inputbox(“Введите число”))

    sum = 0

    pr = 1

    While x< > 0

    c = x mod 10 ‘ вычисляем последнюю цифру в числе

    sum = sum + c ‘ вычисляем сумму цифр

    pr = pr * c ‘ вычисляем произведение цифр

    x = x \ 10 ‘ отбрасываем последнюю цифру числа

    Wend

    MsgBox (" Сумма = " & sum & ", произведение = " & pr)

    End Sub






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.