Электронный курс по информатике|Алгоритмизация и программирование


Тема 7.  Циклические алгоритмы и их реализация на языке Visual Basic.


Циклы предназначены для многократного выполнения одного или нескольких операторов. Visual Basic предлагает две конструкции:

цикл For. . .Next дает возможность устанавливать число проходов цикла, а цикл Do... Loop  завершается при выполнении заданного условия.

Цикл For. . .Next является  самой простой конструкцией:

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

Операторы

Next [Счетчик]

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

Задача 1. Вычислить сумму целых цисел от 1 до N.

Dim s As Long

Dim k As Integer

Private Sub Form_Load()

    Show

    n= InputBox ("введите значениеN")

    s=0

    For k=1 to n

    s=s+k

    Next k

    Print "s="; s

End Sub

Задание. Напишите программу сложения четных и нечетных чисел.

 

Цикл  DO WHILE  и  LOOP

Цикл, управляемый в начале:    Do While <Условие>  <Операторы>  Loop

Условие проверяется в начале цикла. Если условие не выполняется, то и тело цикла не выполняется.  

Задача 2.  Угадывание чисел, загаданных компьютером.

Dim a As Integer

Dim b As Integer

Dim k As Integer

Private Sub Form_Load()

Show

Randomize

a = Int(Rnd * 100 - 1)

b = InputBox("Введите число  в диапазоне от 1 до 100", , , 3000, 4000)

Do While b <> a

   If b > a Then

          Print "введено число"; b; "Оно больше загаданного компьютером"

   End If

   If b < a Then

          Print "введено число"; b; "Оно меньше загаданного компьютером"

   End If

k = k + 1

b = InputBox("Введите число  в диапазоне от 1 до 100", , , 3000, 4000)

Loop

Print "Вы отгадали число. Оно равно"; b

Print "Было сделано"; k + 1; "попыток"

End Sub


Copyright © 2005. Петрова Людмила Борисовна

 

Хостинг от uCoz