Лабораторная работа №8. Использование массивов на языке VBA. Вариант 6: 1. Создать макрос, который в одномерном массиве сортирует данные по возрастанию... 2. С помощью макроса Оценки заполните ячейки А2 до А6 формулой, копирующей данные ... 3. Создайте макрос ОК(). Создайте массив Test, которому... #1510258

Тема полностью: Лабораторная работа №8. Использование массивов на языке VBA. Вариант 6: 1. Создать макрос, который в одномерном массиве сортирует данные по возрастанию... 2. С помощью макроса Оценки заполните ячейки А2 до А6 формулой, копирующей данные ... 3. Создайте макрос ОК(). Создайте массив Test, которому заранее будут присвоены значения, для чего воспользуйтесь функцией Array...
Артикул: 1510258
  • Предмет: Информатика
  • Разместил(-а): 729 Тигран в 2024 году
  • Количество страниц: 1
  • Формат файла: xls
1 990p.
Оплатите артикул одним из 20 способов и сразу скачайте.
После оплаты он автоматически будет удален с сайта.
Никто кроме вас не сможет посмотреть его до 23.07.2024
Цель работы: изучить возможности использования массивов на языке VBA
Задание: Создать макрос, который в одномерном массиве сортирует данные по возрастанию. Сортировка – распределение элементов множества по группам в соответствии с определенными правилами.
Для выполнения задания заполните ячейки со 2 по 21 столбца А случайными числами вещественного типа с помощью макроса и функции RND().
Dim Mas1(1 To 20) As Singl
For I = 1 To 20
MyValue = 6 * Rnd
Cells(I + 1, 1) = MyValue
Mas1(I) = MyValue
Next I

Добавьте временно строку в цикл: Cells(I + 1, 3) = Mas1(I).
Проверьте работу программы и удалите временную строку, а также результат ее работы (данные столбца С).
Добавьте цикл, который располагает элементы массива по возрастанию. Для этого воспользуйтесь одним из методов сортировки – методом пузырька. В этом методе сравниваются соседние элементы со сдвигом и переставляются при необходимости:

For J = 1 To 20
For I = 1 To 19
If Mas1(I) > Mas1(I + 1) Then Max = Mas1(I):Mas1(I) = Mas1(I + 1)
Mas1(I + 1) = Max
Next I
Next J
Здесь J – количество «перестановок» максимальных элементов, I – количество позиций для сравнивания.
Проверьте работу программы. Результата не видно.
Дополните программу еще одним циклом, который заполняет третий столбец элементами массива, расположенными по возрастанию: Cells(I + 1, 3) = Mas1(I)
Подпишите столбцы в ячейках. Проверьте работу программы.

Самостоятельно напишите к макросу дополнение, в котором аналогично сортировке по возрастанию будет производиться сортировка по убыванию и заполнит столбец В.
Dim Mas2(4) As String
For I = 1 To 5
Mas2(I – 1) = Cells(I + 1, 1)
Next I
For J = 0 To 4
For I = 0 To 3
If Mas2(I) > Mas2(I + 1) Then Max = Mas2(I)
Mas2(I) = Mas2(I + 1)
Mas2(I + 1) = Max
Next I
Next J
For I = 1 To 5
Cells(I + 1, 3) = Mas2(I – 1)
Next I

Одномерные массивы строкового типа.

Перейдите на лист Лист 2. Заполните ячейки от А2 до А6 произвольными фамилиями.
Создайте новый макрос, в котором объявите одномерный массив строкового типа: Dim Mas2(4) As String. В этом примере не указан номер первого элемента, а только последнего. Учтите, что для таких массивов нумерация адресов начинается с 0.
Считайте из ячеек данные и присвойте их элементам массива. Проверьте программу.
Скопируйте предыдущий текст макроса и произведите некоторые исправления для того, чтобы фамилии располагались по алфавиту в третьем столбце. Проверьте программу.
Самостоятельно напишите модуль для расположения обратно алфавитному порядку фамилий во втором столбце.
Задание: Перейдите на лист Лист3. С помощью макроса Оценки заполните ячейки А2 до А6 формулой, копирующей данные Листа 2.
Range(“A2”).FormulaR1C1 = “=Лист2!RC”
Range(“A2”).AutoFill Destination:=Range(“A2:A6”),
Type:=xlFillDefault

Дополните макрос операторами, которые заполнят диапазон ячеек В2:Е6 случайными целыми числами до 5 (включительно), которые фактически для нашей задачи будут являться текущими оценками. В данном примере J – это номер столбца, I – номер строки, причем цикл по I вложен в цикл по J. Проверьте работу макроса.
For J = 2 To 5
For I = 2 To 6
MyValue = Int(6 * Rnd)
Cells(I, J) = MyValue
Next I
Next J

Измените строку с функцией Rnd так, чтобы нули и единицы не встречались.
Самостоятельно надпишите автозаполнением даты к оценкам. Для дальнейшей работы понадобиться поместить все оценки в память. Для этого необходимо использовать массив, но двумерный, так как нельзя потерять местоположение каждого числа ни по вертикали, ни по горизонтали.
Опишите переменную Mas3 глобально, иначе во втором макросе этот массив не будет определяться.
Dim Mas3 (2 To 6, 2 To 5) As Byte
Добавьте внутрь цикла строки, одна из которых будет присваивать массиву числа (оценки), а другая будет временной, чтобы убедиться в работоспособности предыдущей строки. Проверьте работу программы.
Mas3(I, J) = Cells(I, J)
Cells(I + 7, J) = Mas3(I, J)

Отключите временную строку, для чего поставьте в начале апостроф.
Напишите отдельно макрос, который сортирует оценки по возрастанию и заполняет заново таблицу: переменная k – несет функцию очередного повторения перетаскивания в одной строке. Цикл по J является внутренним, так как сортировка внутри строк. Проверьте работу программы.
For I = 2 To 6
For k = 1 To 4
For J = 2 To 4
If Mas3(I, J) > Mas3(I, J + 1) Then _
Max = Mas3(I, J): Mas3(I, J) = Mas3(I, J + 1): _
Mas3(I, J + 1) = Max
Next J
Next k
Next I

Добавьте модуль, который выводит на экран элементы массива под таблицей (воспользуйтесь сохраненной временной строкой).
Измените временную строку так, чтобы данные встали на место самих оценок.
Проверьте работу программы.
Задание: Создайте макрос ОК().
Создайте массив Test, которому заранее будут присвоены значения, для чего воспользуйтесь функцией Array:
Test = Array(«плохо», «хорошо», «отлично»)

Допишите макрос OK(), в котором в ячейку F2 разместите заключение о результате учебы. Проверьте работу программы.
Range(«F2»).FormulaR1C1 = «=ROUND(AVERAGE(RC[-4]:RC[-1]),0)»
‘Округление среднего значения оценок
x = Range(“F2”)
If x < 4 Then Range(“F2”) = Test(0) Else _
If x < 5 Then Range(“F2”) = Test(1) Else _
Range(«F2») = Test(2)

Самостоятельно измените макрос, в котором циклически выполнится алгоритм, заполняя характеристикой («плохо», «хорошо», «отлично») для всех фамилий.
Самостоятельно в новой книге заполните столбец А на 10 строк случайными датами.
Создайте массив типа Date (дата). Считать в массив все даты из столбца А.
Отсортируйте даты по возрастанию и разместите в столбец В.
Создайте массив со значениями: Зима, Весна, Лето, Осень.
Напишите макрос, который определяет по дате время года и заносит заключение в столбец С.

Варианты задания
На VBA составить функции для:
6. нахождения НОД (НОК) элементов массива;
Материалы, размещаемые в каталоге, с согласия автора, могут использоваться только в качестве дополнительного инструмента для решения имеющихся у вас задач, сбора информации и источников, содержащих стороннее мнение по вопросу, его оценку, но не являются готовым решением. Пользователь вправе по собственному усмотрению перерабатывать материалы, создавать производные произведения, соглашаться или не соглашаться с выводами, предложенными автором, с его позицией.
Тема: Лабораторная работа №8. Использование массивов на языке VBA. Вариант 6:
1. Создать макрос, который в одномерном массиве сортирует данные по возрастанию...
2. С помощью макроса Оценки заполните ячейки А2 до А6 формулой, копирующей данные ...
3. Создайте макрос ОК(). Создайте массив Test, которому заранее будут присвоены значения, для чего воспользуйтесь функцией Array...
Артикул: 1510258
Дата написания: 22.01.2024
Тип работы: Лабораторная работа
Предмет: Информатика
Количество страниц: 1
Работа выполнена в формате Excel
А ты умеешь выполнять такие работы?

Файлы артикула: Лабораторная работа №8. Использование массивов на языке VBA. Вариант 6: 1. Создать макрос, который в одномерном массиве сортирует данные по возрастанию... 2. С помощью макроса Оценки заполните ячейки А2 до А6 формулой, копирующей данные ... 3. Создайте макрос ОК(). Создайте массив Test, которому... по предмету информатика

Пролистайте "Лабораторная работа №8. Использование массивов на языке VBA. Вариант 6: 1. Создать макрос, который в одномерном массиве сортирует данные по возрастанию... 2. С помощью макроса Оценки заполните ячейки А2 до А6 формулой, копирующей данные ... 3. Создайте макрос ОК(). Создайте массив Test, которому..." и убедитесь в качестве

После покупки артикул автоматически будет удален с сайта до 23.07.2024
Лабораторная — Лабораторная работа №8. Использование массивов на языке VBA. Вариант 6: 1. Создать макрос, — 1
Гарантируем возврат денег! Гарантируем возврат денег!
Качество каждой готовой работы, представленной в каталоге, проверено и соответствует описанию. В случае обоснованных претензий мы гарантируем возврат денег в течение 24 часов.

Утром сдавать, а работа еще не написана?

Утром сдавать, а работа еще не написана?
Через 30 секунд после оплаты вы скачаете эту работу!
Сегодня уже купили 15 работ. Успей и ты забрать свою пока это не сделал кто-то другой!