Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Тело цикли




Wend

Тело цикла

Do

Do

Цикл, управляемый в конце

Loop

Тело цикла

Цикл, управляемый в начале

Пример 1

Найти сумму первых десяти натуральных чисел.

Private Sub CommandButton2_Click()

Dim i, s As Integer

S=0

For i = 1 To 10

s = s + i

Next i

MsgBox ("Сумма первых десяти натуральных чисел равна") & s

End Sub

Do... Loop

Если количество проходов должно зависеть от условия, используют цикл Do... Loop. Имеется четыре варианта синтаксиса этого цикла. В двух первых вариантах условие проверяется в начале цикла:

Do [(While/Until) Условие ]

В двух других вариантах условие проверяется в конце цикла:

тело цикла

LOOP [(While | Until) Условие ]

Если проверка условия происходит в конце, цикл выполняется как минимум ОДИН раз, независимо от того, выполнено условие или нет.

Пример 2

Решим предыдущую задачу, используя цикл Do...Loop

1. Private Sub CommandButton2_Click()
Dim i, s As Integer

s = 0

i = l

Do While i < 11

s=s+i

i = i+l

Loop

MsgBox ("Сумма первых десяти натуральных чисел равна") & s

End Sub

2. Private Sub CommandButton2_Click()
Dim i,s As Integer

s = 0

i = l

s = s + i

i = i + l

Loop Until i> 10

MsgBox ("Сумма первых десяти натуральных чисел равна") & s

End Sub

While... Wend

В VBA цикл While...Wend играет второстепенную роль. Он используется только для совместимости с другими диалектами Basic, а также для совместимости с более ранними версиями Visual Basic, в которых не было оператора Do...Loop.

While Условие

Принцип его действия такой же, как и цикла Do While...Loop. Поэтому вместо него проще использовать Do...Loop. Кроме того, для цикла While...Wend нет оператора досрочного выхода типа Exit.

For Each...Next

Для перебора объектов из группы подобных объектов, например, ячеек из диапазона или элементов массива, удобно использовать оператор цикла For Each...Next

For Each элемент In группа

Next элемент

Пример 3

Заменить все положительные числа диапазона ячеек А1:В2 знаком «+», все отрицательные числа- знаком «-», а нули оставить без изменения.

Sub Знак()

Dim с As Object

For Each c In Worksheets("Лист1").Range("Al:B2")

If IsNumeric(c.Value) Then

If c.Value >0 Then c.Valu&="+"

End If

If IsNumeric(c.Value) Then

If c.Value < 0 Then c.Value="-"

End If

If IsNumeric(c. Value) Then

If c.Value =0 Then c.Value=0

End If

Next с

End sub

В процедуре Знак используется функция IsNumeric(выражение), которая возвращает True, если выражение может быть описано как числовое, и False - в противном случае.

Задания для самостоятельной работы:

1. Написать программу, которая выводит таблицу определения идеального веса для взрослых людей при росте от 150 см до 200 см. Определение осуществляется по формуле:

идеальный вес = рост -100

2.Написать программу, которая выводит таблицу перевода из градусов по шкале Цельсия в градусы по Фаренгейту для значений от 15 градусов до 30.
Перевод осуществляется по формуле F = С * 1.8 + 32

3.Информация о температуре воздуха за меся задана в виде последовательности чисел. Определить сколько раз температура воздуха опускалась ниже нуля.

4.Составить таблицу стоимостей порции сыра весом 50, 100, 150,..., 1000 грамм, если 1 килограмм сыра стоит 480 тенге.

5.Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 10 % от нормы предыдущего дня. Какой суммарный путь пробежит спортсмен за 7 дней?

6.В ЭВМ по очереди вводятся результаты в соревнованиях по прыжкам в длину. Число участников произвольно. Выдавать на экран лучший результат после выступления очередного спортсмена.

7.Информация о температуре воздуха за месяц задана в виде последовательности чисел. Определить среднюю температуру месяца.

8.Найти сумму четных N чисел.

9.Найти произведение нечетных N чисел.




Поделиться с друзьями:


Дата добавления: 2014-11-20; Просмотров: 403; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.