Visual Basic. Теория. Нагина Е.К - 53 стр.

UptoLike

Составители: 

53
Factorial = 1
For Count1 = 1 To Num
Factorial = Factorial*Count1
Next
MsgBox The factorial of & Num &is & Factorial
Else
MsgBox Factorial cannot be calculated on negative _ & num-
bers.
End If
Else
MsgBox The factorial cold not be calculated. Please _ & try
again.
End If
End Sub
В этой программе в первом условии используется встроенная функ-
ция VBA IsNumeric, которая возвращает True, если ее единственный аргу-
мент является числом, и False в противном случае. Таким образом, если
пользователь ввел число , проверка оканчивается успешно , и управление
передается следующей инструкции. В ней задано обращение к еще одной
функции Visual Basic Val. Она преобразует переданную ей строку в чис-
ло , которое затем присваивается переменной Num. Использование этой
функции здесь необходимо, так как InputBox возвращает только строковые
значения , а для расчета факториала нам необходимо число .
Далее указана следующая условная структура If-Then-Else, где про -
веряется , является ли переменная Num неотрицательной. Если и это усло -
вие выполнено , в цикле For-Next вычисляется факториал, и его значение
присваивается переменной Factorial (обратите внимание, что факториал 0
действительно равен 1). Если второе условие не соблюдено , на экране по -
является сообщение, что факториал отрицательного числа посчитать нель-
зя. Если же пользователь ввел нечисловое значение, неудачей заканчивает-
ся проверка первого условия , и на экран выводится просьба повторить по -
пытку. Если все условия выполнены и факториал вычислен, результат ото -
бражается в следующем окне :
Microsoft Excel
The factorial of 5 is 120
OK
                                         53
                  Factorial = 1
                  For Count1 = 1 To Num
                       Factorial = Factorial*Count1
                  Next
                  MsgBox “ The factorial of” & Num &”is” & Factorial
           Else
               MsgBox “Factorial cannot be calculated on negative” _ & “num-
               bers.”
           End If
    Else
     MsgBox “ The factorial cold not be calculated. Please “_ & “try
again.”
      End If
End Sub
       В это й про г рамме вперво м усло вии испо льзуется встро енная функ-
ц ия VBA IsNumeric, ко т   о рая во звращ аетTrue, если ее единственны й арг  у-
ментявляется число м , и False – в про тивно м случае. Т аким о бразо м, если
по льзо ватель ввел число , про верка о канчивается успеш но , и управление
передается следую щ ей инструкц ии. В ней задано о бращ ение к ещ е о дно й
функц ии Visual Basic – Val. О на прео бразуетпереданную ей стро кув чис-
ло , ко то ро е затем присваивается переменно й Num. И спо льзо вание это й
функц ии здесь нео бхо димо , так как InputBox во звращ аетто лько стро ко вы е
значения, адля расчетафакто риаланам нео бхо димо число .
       Д алее указана следую щ ая усло вная структура If-Then-Else, г    де про -
веряется, является ли переменная Num нео триц ательно й . Е сли и это усло -
вие вы по лнено , в ц икле For-Next вы числяется факто риал, и ег    о значение
присваивается переменно й Factorial (о братите внимание, что факто риал 0
дей ствительно равен 1). Е сли вто ро е усло вие не со блю дено , на экране по -
является со о бщ ение, что факто риал о триц ательно г о числа по считать нель-
зя. Е сли ж е по льзо ватель ввелнечисло во е значение, неудачей заканчивает-
ся про верка перво г  о усло вия, и на экран вы во дится про сьбапо вто рить по -
пы тку. Е сли все усло вия вы по лнены и факто риал вы числен, результато то -
браж ается вследую щ ем о кне:

                                    Microsoft Excel

                              The factorial of 5 is 120




                                        OK