Вспомогательный алгоритм

Слайд 2

Содержание Вспомогательный алгоритм (определение). Пример задачи (блок-схема). Основной и вспомогательные алгоритмы,

Содержание

Вспомогательный алгоритм (определение).
Пример задачи (блок-схема).
Основной и вспомогательные алгоритмы, реализованные с помощью

функции.
Программный код.
Реализация в виде процедуры.
Программный код для реализации в виде процедуры.
Слайд 3

Вспомогательный алгоритм - это алгоритм, направленный на решение определенных подзадач, причем

Вспомогательный алгоритм -

это алгоритм, направленный на решение определенных подзадач, причем вызов

данного алгоритма может осуществляться многократно из основного алгоритма.
В VB имеется два вида подпрограмм: общие процедуры и функции пользователя. Эти вспомогательные алгоритмы оформляются в опции Tools директивой Add Procedure при открытом окне программного кода.
Слайд 4

Пример задачи Рассчитать число сочетаний из N по M Cnm= n!

Пример задачи

Рассчитать число сочетаний из N по M
Cnm=

n!

m!*(n-m)!

Имеется функция factfun(n1

as Single)!
Слайд 5

вспомогательный алгоритм основной алгоритм Factfun(n1 as Single)

вспомогательный алгоритм

основной алгоритм

Factfun(n1 as Single)

Слайд 6

Private Sub CommandButton2_Click() n = Val(Text3.Text) m = Val(Text4.Text) c =

Private Sub CommandButton2_Click()
n = Val(Text3.Text)
m = Val(Text4.Text)
c = factfun(n) / (factfun(m)

* factfun(n - m))
Label6.Caption = c
End Sub
Public Function factfun(n1 As Single)
Dim i As Single
factfun = 1
For i = 1 To n1
factfun = factfun * i
Next i
End Function

Функция имеет формальные параметры, которые при обращении к ней получают фактические значения

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

Слайд 7

Реализация в виде процедуры Основной алгоритм Вспомога- тельный алгоритм

Реализация в виде процедуры

Основной алгоритм

Вспомога-
тельный алгоритм

Слайд 8

Программный код для реализации в виде процедуры Private Sub CommandButton1_Click() n

Программный код для реализации в виде процедуры

Private Sub CommandButton1_Click()
n = Val(Text1.Text)
m

= Val(Text2.Text)
Call factpro(n, p1)
Call factpro(m, p2)
Call factpro((n - m), p3)
c = p1 / (p2 * p3)
Label3.Caption = c
End Sub

Public Sub factpro(n1 As Single, p As Double)
Dim i As Single
p = 1
For i = 1 To n1
p = p * i
Next i
End Sub

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