Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA в приложении к Excel1.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
715.26 Кб
Скачать

11.1. Вводим число n

11.2. Выводим ответ Задача №12 Вывести факториал заданного числа.

Решение.

Для решения этой задачи нам понадобится 3 переменные: a (отвечающая за то число, факториал которого мы хотим найти), b (вспомогательная переменная, над которой будут производиться действия) и f (отвечающая за факториал – какие числа должны перемножаться). Также мы должны задать нашим переменным b и f их первоначальные данные, чтобы они не были равны 0, и ввести данные числа A:

Private Sub CommandButton_Click()

Dim a As Integer

Dim b As Double

Dim f As Integer

f = 1

b = 1

a = CInt(InputBox("Введите число A"))

Далее используем оператор For, чтобы задать условие нашей задачи:

For f = 1 To a

b = b * f

Next f (переходим к следующему условию)

Далее выводим ответ на экран:

MsgBox (" Факториал числа А =" & b)

End Sub

Задача решена. Смотрим

12.1. Вводим число а

12.2. Выводим ответ (Факториал) Задача № 13

Дано целое число N (>1), являющееся числом Фибоначчи: N = Fk (число Фибоначчи: F1=1, F2=1, Fk=(Fk-2+Fk-1), k=3,4,...). Найти целые числа Fk-1 и Fk+1 – предыдущее и последующее числа Фибоначчи. Для примера: первые 23 числа ряда Фибоначчи:0,1,1,2,3,5,8,13,21,34,55,89,144,233,…..

Решение.

Для решения этой задачи понадобится 4 переменных: F0 (первое число Фибоначчи), F1 (второе число Фибоначчи), f (формула числа Фибоначчи) и n (наше число, перед и после которого мы хотим найти число Фибоначчи). Поскольку все наши 4 переменные цифры, поставим Integer. И введём наше собственное число:

Private Sub CommandButton_Click()

Dim F0, F1, f, n As Integer

n = CDbl(InputBox("Введите число N "))

f = 0

F0 = 0

F1 = 1

Далее вводим наш оператор. То есть нам надо, чтобы первое число Фибонначи было меньше нашего числа, а последующее было больше нашего числа. Одновременно должно выполняться два условия и повторялся цикл.

Do While f < n

f = F1 + F0

F0 = F1

F1 = f

Loop

Остаётся вывести ответ на экран:

MsgBox ("Предыдущее число Фибоначчи = " & F0 & ", а последующее = " & F0 + F1)

End Sub

Задача решена. Смотрим

13.1. Введём наше число, для которого надо найти пред. И послед. Число Фибоначчи.

13.2. Выводим ответ. Задача №14 Дан целочисленный массив размера n. Удалить из массива все одинаковые элементы, оставив их первые вхождения. (Array).

Решение.

Для этой задачи нам не обходимо будет 3 переменных и один массив: i (вспомогательная переменная, с помощью которой можно будет менять размерность массива), n (для размерности массива), j (ещё одна вспомогательная переменная, при помощи которой мы сможем заменять i, корда это будет необходимо) и а (отвечающая за массив в целом).

Итак, введём переменные и введём наши данные:

Private Sub CommandButton_Click()

Dim i, j, n, k As Integer

Dim a(50) As Integer

n = CDbl(InputBox("Введите размерность массива N "))

For i = 1 To n

a(i) = CDbl(InputBox("Введите " & i & "-й элемент массива"))

Next i

Далее с помощью оператора For вводим следующие условия:

For i = 1 To n - 1

For j = i + 1 To n

If a(i) = a(j) Then a(j) = 0 (Здесь программа начнёт заменять одинаковые элементы)

Next j

Next i

For i = 1 To n

После того, как все условия выполнены – надо вывести ответ на экран:

MsgBox ("Элемент А (" & i & ") равен " & a(i))

Next i (переходим к следующему числу, цикл повторяется)

End Sub

Задача решена. Смотрим

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]