Вопрос задан 04.07.2023 в 05:17. Предмет Информатика. Спрашивает Макаров Данил.

Здравствуйте, прошу помочь написать 10 макросов на языке программирования VBA (Visual Basic for

Applications) в программе Microsoft Excel. Срочно!!! Ставлю все баллы, что есть. 1. Создать одномерный массив, каждый элемент которого равен квадрату своего номера.2. Заполнить одномерный массив элементами, отвечающими следующему соотношению: a1=1; a2=1; ai=ai-2+ai-1 (i = 3, 4, ..., n).3. Определить, содержит ли массив заданное число.4. Задан массив, состоящий из n целых элементов. Поменять местами максимальный и минимальный элементы.5. Задан массив, состоящий из n целых элементов. Вывести элементы этого массива в обратном порядке.6. Задан массив, состоящий из n целых элементов. Найти количество отрицательных элементов, имеющих нечетные индексы.7. Задан массив, состоящий из n целых элементов. Найти произведение элементов, имеющих четные индексы.8. Задан массив, состоящий из n элементов. Определить, сколько чисел принадлежат заданному отрезку [A, B] (A, B — заданные числа).9. Задан массив. Отсортировать его элементы по возрастанию.10. Задан массив, состоящий из n (n>8) целых элементов. Первые 4 элемента упорядочить по возрастанию, последние 4 по убыванию.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Кирюхин Паша.

Ответ:

я хз

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я могу помочь вам с написанием этих макросов на языке VBA для Microsoft Excel. Вот 10 макросов, решающих описанные вами задачи:

  1. Создать одномерный массив, каждый элемент которого равен квадрату своего номера:
vba
Sub SquareArray() Dim n As Integer n = 10 ' Задайте желаемую длину массива Dim arr() As Double ReDim arr(1 To n) Dim i As Integer For i = 1 To n arr(i) = i ^ 2 Next i End Sub
  1. Заполнить одномерный массив элементами, отвечающими заданному соотношению:
vba
Sub FibonacciArray() Dim n As Integer n = 10 ' Задайте желаемую длину массива Dim arr() As Double ReDim arr(1 To n) arr(1) = 1 arr(2) = 1 Dim i As Integer For i = 3 To n arr(i) = arr(i - 2) + arr(i - 1) Next i End Sub
  1. Определить, содержит ли массив заданное число:
vba
Function ContainsNumber(arr() As Variant, target As Variant) As Boolean Dim i As Integer For i = LBound(arr) To UBound(arr) If arr(i) = target Then ContainsNumber = True Exit Function End If Next i ContainsNumber = False End Function
  1. Поменять местами максимальный и минимальный элементы:
vba
Sub SwapMinMax() Dim arr() As Double ' Заполните массив данными Dim maxIdx As Integer, minIdx As Integer Dim i As Integer maxIdx = LBound(arr) minIdx = LBound(arr) For i = LBound(arr) To UBound(arr) If arr(i) > arr(maxIdx) Then maxIdx = i If arr(i) < arr(minIdx) Then minIdx = i Next i Dim temp As Double temp = arr(maxIdx) arr(maxIdx) = arr(minIdx) arr(minIdx) = temp End Sub
  1. Вывести элементы массива в обратном порядке:
vba
Sub ReverseArray() Dim arr() As Double ' Заполните массив данными Dim reversedArr() As Double ReDim reversedArr(LBound(arr) To UBound(arr)) Dim i As Integer, j As Integer j = UBound(arr) For i = LBound(arr) To UBound(arr) reversedArr(i) = arr(j) j = j - 1 Next i End Sub
  1. Найти количество отрицательных элементов с нечетными индексами:
vba
Sub CountNegativeOddIndices() Dim arr() As Double ' Заполните массив данными Dim count As Integer count = 0 Dim i As Integer For i = LBound(arr) To UBound(arr) Step 2 If arr(i) < 0 Then count = count + 1 End If Next i End Sub
  1. Найти произведение элементов с четными индексами:
vba
Sub ProductEvenIndices() Dim arr() As Double ' Заполните массив данными Dim product As Double product = 1 Dim i As Integer For i = LBound(arr) To UBound(arr) Step 2 product = product * arr(i) Next i End Sub
  1. Определить, сколько чисел принадлежит заданному отрезку [A, B]:
vba
Function CountInRange(arr() As Double, A As Double, B As Double) As Integer Dim count As Integer count = 0 Dim i As Integer For i = LBound(arr) To UBound(arr) If arr(i) >= A And arr(i) <= B Then count = count + 1 End If Next i CountInRange = count End Function
  1. Отсортировать массив по возрастанию:
vba
Sub SortAscending() Dim arr() As Double ' Заполните массив данными Dim i As Integer, j As Integer Dim temp As Double For i = LBound(arr) To UBound(arr) - 1 For j = i + 1 To UBound(arr) If arr(j) < arr(i) Then temp = arr(i) arr(i) = arr(j) arr(j) = temp End If Next j Next i End Sub
  1. Упорядочить первые 4 элемента по возрастанию, последние 4 по убыванию:
vba
Sub PartialSort() Dim arr() As Double ' Заполните массив данными Dim i As Integer, j As Integer Dim temp As Double ' Сортировка первых 4 элементов по возрастанию For i = LBound(arr) To LBound(arr) + 3 For j = i + 1 To LBound(arr) + 3 If arr(j) < arr(i) Then temp = arr(i) arr(i) = arr(j) arr(j) = temp End If Next j Next i ' Сортировка последних 4 элементов по убыванию For i = UBound(arr) To UBound(arr) - 3 Step -1 For j = i - 1 To UBound(arr) - 3 Step -1 If arr(j) > arr(i) Then temp = arr(i) arr(i) = arr(j) arr(j) = temp End If Next j Next i End Sub

Примечание: Пожалуйста, замените комментарии в коде на соответствующие данные и переменные, которые вы хотите использовать в своей таблице Excel. Также помните, что в VBA массивы индексируются с 1, а не с 0.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос