Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л15.(140)_Пр.циклов.яз.VB.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
228.35 Кб
Скачать

7

Лаб. Раб. № 16

Visual basic: программирование циклов

Цель и содержание: приобретение практических навыков работы с программами циклической структуры.

Теоретическое обоснование

Цикл – это многократно повторяемая часть алгоритма или программы. Циклическим называется алгоритм (программа) содержащий один или несколько циклов. Изменяющаяся в цикле переменная называется параметром цикла (счетчиком), а повторяющаяся часть – телом цикла. Различают циклы с заранее известным числом повторений и циклы, в которых число повторений заранее неизвестно, а определяется в процессе счета или проверок условий. Если в итерационном цикле проверка условия повторения производится перед каждым циклом, то он называется с предусловием; а если после его очередного выполнения – с постусловием.

В Visual Basic для организации циклов используются операторы:

  • For ... Next для цикла с счетчиком;

  • Do While [или Until] Условие ... Loop для цикла с предусловием;

  • Do ... Loop While [или Until] Условие для цикла с постусловием.

Циклы с известным количеством повторений

Общий вид:

For Cчетчик = Начальное_значение To Конечное_значение [Step Шаг]

Тело цикла

Next [Cчетчик]

Если начальное и конечное значения счетчика не противоречивы, то тело цикла (набор операторов цикла) повторяются для каждого указанного Счетчиком значения с заданным Шагом. Если шаг не указан, то считается равным 1. После цикла выполняется следующий оператор.

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

Пример 1. Найти количество отрицательных чисел среди N введенных.

… ‘ объявление переменных и ввод значения N

kol=0 ‘первоначально количество чисел равно 0

For i = 1 To n ‘начало цикла

a = Val (InputBox("Введите число: ", " Ввoд исходных чисел"))

if a<0 then kol=kol + 1 ‘прибавление единицы, если число отрицательно

Next i ‘возвращение на начало цикла с увеличением счетчика на шаг

MsgBox kol , , "Количество всех отрицательных чисел="

Пример 2. Найти наибольшее среди N введенных чисел.

… ‘ объявление переменных и ввод значения N

max = -32000 ‘первоначальное значение max

For i = 1 To N ‘начало цикла

b = Val (InputBox("Введите число:", " Ввoд исходных чисел"))

If b > max then max = b ‘сравнение числа с максимальным

Next i ‘возвращение на начало цикла с увеличением счетчика на шаг

Print "max="; max

Пример 3. Найти произведение отрицательных чисел среди N введенных.

… ‘ объявление переменных и ввод значения N

pr=1 ‘первоначально значение произведения равно 1

For i = 1 To n

a = Val (InputBox("Введите число: ", " Ввoд исходных чисел"))

if a<0 then pr=pr* а ‘если число отрицательное, то умножается на pr

Next i

MsgBox pr , , "Произведение всех отрицательных чисел="

Циклы с неизвестным количеством повторений

Для организации такого цикла необходимо:

  • задать перед циклом начальное значение параметра и изменять его перед каждым новым повторением цикла;

  • проверять условие повторения (логическое выражение) и окончания цикла. Если условия не будет, то цикл будет бесконечен.

Существует 4 вида циклов Do... Loop. Их общий вид:

1) Do While условие 2) Do

тело цикла тело цикла

Loop Loop While условие

3) Do Until условие 4) Do

тело цикла тело цикла

Loop Loop Until условие

Если используется While, то тело цикла повторяется, только если значение условия равно True (истина), в противном случае цикл завершается. При использовании Until, тело цикла повторяется, только если значение условия равно False (ложь), в противном случае цикл завершается.

Конструкции 1 и 3 используются для цикла с предусловием, 2 и 4 – для постусловия. Их отличие: в циклах с предусловием тело цикла может не выполниться ни разу, если при первой проверке условие оказывается ложным. В циклах с постусловием – тело цикла выполняется хотя бы один раз, после чего осуществляется проверка заданного условия.

Пример 4. Дана последовательность чисел, заканчивающаяся 0. Найти количество положительных среди введенных чисел.

… ‘ объявление переменных

kol = 0

Do

b = Val (InputBox("Введите числа, 0-конец ввода ", " Ввoд данных"))

If b > 0 Then kol = kol + 1

Loop While b <> 0

MsgBox kol, , " Кол-во положительных чисел="

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]