Проверка на простое число • • • • • • • • • • • • • • Public Function Prostoe(ByVal N As Long) As Boolean Dim i As Integer, Koren As Double N = Abs(N) If N Mod 2 = 0 And N <> 2 Or N = 1 Or N = 0 Then Prostoe = False Else i=3 Koren = Sqr(N) While i <= Koren And N Mod i <> 0 i=i+2 Wend If i > Koren Then Prostoe = True Else Prostoe = False End If End Function Описание переменных Dim [WithEvents] имя_переменной[([индексы])] [As [New] тип] [, [WithEvents] имя_переменной[([индексы])] [As [New] тип]] . . . Private [WithEvents] имя_переменной[([индексы])] [As [New] тип] [,[WithEvents] имя_переменной[([индексы])] [As [New] тип]] . . . Public [WithEvents] имя_переменной[([индексы])] [As [New] тип] [,[WithEvents] имя_переменной[([индексы])] [As [New] тип]] . . . Описание массивов Dim [имя_массива[([индексы])] [As [New] тип] [, имя_массива[([индексы])] [As [New] тип]] . . . Индексы [нижний To] верхний [,[lнижний To] верхний] . .. Option Base {1\0} Динамические массивы ReDim [Preserve] [имя_массива[([индексы])] [As тип] [, имя_массива[([индексы])] [As тип]] . . . Erase список массивов Функции массивов 1. Array(список аргументов) 2. IsArray(список аргументов) 3. LBound(имя массива[, размерность]) 4. UBound(имя массива[, размерность]) Переменный список параметров • Public Function SumAll(ParamArray X() As Variant) As Double • Dim I As Variant, j As Variant • SumAll = 0 • For I = LBound(X) To UBound(X) • For Each j In X(I) • SumAll = SumAll + j • Next j • Next I • End Function Рекурсия Public Function fakt(ByVal N As Integer) As Double If N = 1 Then fakt = 1 Else fakt = fakt(N - 1) * N End If End Function N простых чисел – Public Function n_Prostix(N As Integer) As Variant – ReDim b(1 To N) As Long – – – – – – – – – – – – – – Dim k As Integer, i As Integer, j As Integer b(1) = 2: b(2) = 3: k = 2: i = 5 While k < N For j = 1 To k If i Mod b(j) = 0 Then Exit For Next j If j > k Then k=k+1 b(k) = i End If i=i+2 Wend n_Prostix = b End Function Простые чисела меньше N – – – – – – – – – – – – – – – – Public Function Prostie_do_N(N As Integer) As Variant ReDim b(1 To 2) As Long Dim k As Integer, i As Integer, j As Integer b(1) = 2: b(2) = 3: k = 2 For i = 5 To N Step 2 For j = 1 To k If i Mod b(j) = 0 Then Exit For Next j If j > k Then k=k+1 ReDim Preserve b(1 To k) As Long b(k) = i End If Next i Prostie_do_N = b End Function