Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Безусловный цикл (Цикл по счетчику)

Поиск

FOR … NEXT

Цикл с определенным количеством повторений. Цикл выполняется от начального до конечного значения параметра с заданным шагом.

Пример:

Dim X As Integer

For X=1 To 10 Step 1 ‘Повторять цикл от 1 до 10 с шагом 1.

Beep ‘Звук (тело цикла).

Next X ‘Конец цикла.

Exit For или Exit Do ‘Д осрочный выход из цикла.

 

FOR EACH … NEXT

Цикл For Each … Next предназначен для перебора всех элементов из заданного массива или набора объектов.

Пример использования цикла применительно к массивам:

Sub Mas6()

Dim i As Integer

Dim j As Integer

Dim x(1 To 5, 1 To 5) As Single

Dim S As Single

Worksheets("Лист1").Activate

For I =1 To 5

For j =1 To 5

x(i,j) = Cells(i,j)

Next j

Next i

For Each e In x

S = S + e

Next e

MsgBox(“S = ”) & CStr(s)

End Sub

Сложные (вложенные) циклы

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

· нельзя войти во внутренний цикл, минуя вход внешнего цикла;

· имена параметров простых циклов не должны повторяться в конструкции сложного цикла;

· простые циклы не должны пересекаться в конструкции сложного цикла, то есть окончание внешнего цикла не должно предшествовать окончанию внутреннего цикла.

Примеры:

For i =1 to n

For j =1 to m

A(i, j) = Int(Sin(j*i)*100)

Next j

Next i

Do

X =1

Z = 0

Do

S = Int(Rnd(x)*100)

Z = Z + S

X = X + 1

Loop Until X>=20

Zsr = Z/20

Loop Until Zsr>=25

Вопросы для самоконтроля

1. Что такое цикл и для чего он нужен?

2. В чем основное отличие между циклами с предусловием и с постусловием?

3. В каких случаях целесообразно использовать циклы с предусловием, циклы с постусловием и циклы по счетчику?

4. В чем отличие между имеющимися вариантами циклов с предусловием?

5. В чем отличие между имеющимися вариантами циклов с постусловием?

6. Что такое сложный цикл и каковы основные правила его конструирования?

Подпрограммы-процедуры и подпрограммы-функции

Подпрограмма – это блок кода между операторами Sub и End Sub или Function и e nd Function.

Подпрограмма-процедура – это блок кода, заключенный между операторами Sub и End Sub. Обычно подпрограмму-процедуру принято называть процедурой.

При написании программы нужно учесть одно правило: “Внутри одной процедуры не может быть описана другая процедура”.

Синтаксис:

Sub <имя> (ByVal <параметр 1 > As <тип>, ByVal <параметр 2> As <тип>, …, ByVaL <параметр 3>, ByRef <параметр N> )

<блок кода процедуры>

End Sub

В скобках указываются необходимые параметры, если параметров нет, то просто пустые скобки. Например, напишем программу, выводящую на экран окно с приветствием:

Sub Программа_Привет()

MsgBox(“ПРИВЕТ”)

End Sub

Sub qwer(ByVal x As Single, y As Single, ByRef S As Single)

Dim Z As Single

Dim P As Single

Z = Sin(2*x + 3*y)

P = Cos(x^2 + y^3)

S = Z + P

End Sub

Параметры, указанные в скобках заголовка процедуры, называются формальными.

Параметры, значения которых передаются из программы (другой процедуры) в процедуру, называются параметрами-переменными.

Параметры, значения которых передаются из процедуры в программу (другую процедуру), называются параметрами-значениями.

Параметры, указанные в списке оператора вызова процедуры, называются фактическими параметрами.

Ключевые слова ByVal и ByRef определяют способ передачи значений параметров.

ByVal указывает, что аргумент передается по значению.

ByRef указывает, что аргумент передается по ссылке.

Значения параметров-переменных, передаваемых по способу ByVal, не могут изменяться в теле процедуры во время ее выполнения, то есть последние значения переменных в программе сохраняются неизменными во время выполнения процедуры.

Значения параметров, передаваемых по способу ByRef, изменяют значения соответствующих переменных программы.

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

Первый способ: <Имя процедуры> <Список фактических параметров>. Список должен соответствовать списку, заданному в заголовке процедуры, по количеству и типу.

Пример: qwer x,y,s ‘оператор вызова процедуры.

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

Синтаксис:

< Имя модуля >. < Имя процедуры > < Список фактических параметров >.

Второй способ вызова процедуры производится с помощью инструкции Call.

Синтаксис:

Call < Имя процедуры > (<Список фактических параметров>).

В отличие от первого способа здесь список фактических параметров заключается в скобки.

Пример: Call qwer(x,y,s)

Подпрограмма-функция – это блок кода, заключенный между операторами Function и End Function. Она выполняет какую-то операцию, но при этом обязательно возвращает какое-нибудь значение. Значение возвращается через имя функции.

Синтаксис:

Function <имя функции> (ByVal <параметр> As <тип> ) As <Тип>

<код функции>

End Function

Пример:



Поделиться:


Последнее изменение этой страницы: 2016-12-16; просмотров: 547; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.142.124.119 (0.008 с.)