Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Типовые алгоритмы обработки массивов ⇐ ПредыдущаяСтр 8 из 8
1. Обнуление всех элементов массива: For i=0 To N mass(i)=0 Next i 2. Заполнение элементов массива значениями с клавиатуры For i=0 To N mass(i)= InputBox(“Ввод числа”) Next i 3. Заполнение элементов массива случайными целыми значениями Randomize For i=0 To N mass(i)=Int(Rnd*100+1) Next i 4. Заполнение и вывод на экран элементов массива Dim s as string For i=0 To N mass(i)= Int(Rnd*100+1) s=s & mass(i) & ”-” (накапливание в строке значений элементов массива) Next i 5. Формирование одного массива из элементов другого массива, удовлетворяющих заданному условию. For i=0 To N massА(i)=Int(Rnd*100+1) If massA(i)>50 then massB(j)=massA(i) j=j+1 End if Next i 6. Поиск максимального и минимального элементов массива max=mass(0) min=mass(0) For i=1 To n If mass(i)>max Then max=mass(i) If mass(i)<min Then min=mass (i) Next i 7. Обмен местами максимального и минимального элементов массива max=mass(0) min=mass(0) For i=1 To n If mass(i)>max Then max=mass(i) imax=i End if If mass(i)<min Then min=mass (i) imin=i End if Next i x = mass(imax) mass(imax) = mass(imin) mass(imin) = x ЗАДАНИЯ НА САМОСТОЯТЕЛЬНУЮ РАБОТУ 1. Дан массив А(15). Заполнить массив случайными значениями от 0 до 25. Если в массиве есть хотя бы один элемент, равный 2, то все четные элементы массива заменить нулями и подсчитать их количество, иначе найти среднее арифметическое всех нечетных элементов. Вывести начальный и конечный состав массива. 2. Дан массив М(15). Если разность между средним арифметическим и средним геометрическим кратно 2, то элементы с четными индексами заменить нулями, иначе найти сумму квадратов всех элементов массива. Вывести полученный вектор. 3. Дан массив С (15). Найти среднее арифметическое всех элементов массива и наибольшее отклонение от среднего, т.е. максимум из (C(i) – среднее арифметическое). 4. Дан массив А(12). Заполнить массив случайными значениями. Найти среднее арифметическое всех элементов массива. Заменить значение элемента массива нулем, если оно меньше среднего арифметического и единицей – если больше. Вывести начальный и конечный состав массива. 5. Даны массивы С(8) и В(8). Заполнить массивы случайными значени-ями. Преобразовать значения элементов массива В по правилу: если С(i) делится на 5, то В(i) увеличить в пять раз, иначе B(i) заменить нулем. Вывести начальный и конечный составы массивов. 6. Дан массив М(15). Заполнить его случайными значениями от 0 до 15. Если количество элементов, значения которых лежат в пределах от 3 до 11 меньше 4, то найти сумму всех элементов массива кратных этому количеству, иначе возвести в квадрат те элементы массива, чей остаток от деления на количество не превышает 2. Вывести начальный и конечный состав массива.
7. Дан массив С (15). Найти среднее геометрическое всех элементов массива и наибольшее отклонение от среднего, т.е. максимум из (C(i) – среднее геометрическое). Если полученное наибольшее кратно 2, то заменить этим значением каждый третий элемент массива, иначе каждый пятый возвести в квадрат. Лабораторная работа № 8-9 Visual Basic For Application – визуальный объектно-ориентированный язык программирования приложений. Ключевой идеей объектно-ориентированного программирования является объединение данных и оперирующих с ними функций в один объект. Язык VBA не существует вне какого-либо приложения. Он встроен в такие приложения как редактор электронных таблиц Excel, СУБД МS Access, текстовый редактор Word. В каждом из этих приложений существуют свои объекты, которые могут строиться на основе более мелких объектов - элементов управления и объединяются в более крупные объекты – семейства. Объект представляет собой элемент приложения, такой как, лист (Worksheet), ячейка (Cells), диапазон (Range) в Excel. Семейство (объект Collection) представляет собой объект, содержащий несколько других объектов, как правило, одного и того же типа. Например, в Microsoft Excel объект Workbooks (рабочие книги) содержит все открытые объекты Workbook (рабочая книга). Элемент семейства может быть идентифицирован по номеру или имени. Например, в следующей процедуре Workbooks(1) обозначает первый закрытый объект Workbook. Sub CloseFirst() Workbooks(1).Close End Sub Все объекты имеют сохраняемый набор свойств, изменяя которые можно управлять объектом. Свойство – это качественная или количественная характеристика объекта. Свойства определяют такие характеристики объекта, как размер, цвет, положение на экране или состояние объекта, например, включенное или отключенное. Изменяя свойства, можно изменять характеристики объекта или набора объектов. Установка значения свойств – это один из способов управления объектами.
Для установки свойства необходимо ввести имя объекта, а затем через точку имя свойства объекта. Далее должны следовать знак равенства и значение свойства. Синтаксис установки значения свойства объекта выглядит следующим образом: Объект.Свойство=Выражение Например: Range(“ A2”). Formula=”=СУММ(А1:С1)” В этом примере в ячейку с относительным адресом А2 (для адресации используется объект Range, который позволяет обратиться как к диапазону ячеек, так и к одной ячейке) активного рабочего листа Excel вставляется формула =СУММ(А1:С1) путем изменения свойства Formula. Некоторые свойства являются неизменяемыми, т.е. доступными только для чтения. В этом случае синтаксис - Объект.Свойство=Выражение применять нельзя. Существует другой синтаксис, позволяющий читать свойства объекта, который выглядит следующим образом: Переменная=Объект.Свойство Например: ТекущийПроцент=Cells(1,1).Value В этом примере переменной ТекущийПроцент присваивается значение (свойство Value) ячейки А1 (первая строка, первый столбец - Cells(1,1)) текущего рабочего листа Excel. С каждым объектом также связывают ряд методов, иначе, команд, применяемых к объекту. Метод представляет собой действие, выполняемое над объектом. Синтаксис вызова метода объекта имеет следующий вид: Объект.метод В приложении Microsoft Excel у объекта диапазон ячеек имеется метод Clear, позволяющий очистить содержимое диапазона. Если предварительно задать имя диапазона, то вызов метода очистки имеет следующий синтаксис: Range (“Личные сведения”).Clear А в примере: Range (“А10:С12”).Select - выбирается диапазон ячеек А10:С12. Инструкция With..End With Инструкция With..End With, как правило, применяется тогда, когда нужно задать или изменить несколько свойств одного и того же объекта. Эта инструкция не является управляющей, так как она не изменяет порядка выполнения команд, не вызывает циклического выполнения группы команд или безусловный переход. Однако данная инструкция часто используется в циклах. Она выполняет последовательность инструкций над одиночным объектом или определенным пользователем типом данных, не повторяя задания имени объекта. Синтаксис: With объект [инструкции] End With Например: Sub Цвет() Dim a As Object For Each a In Selection If a.Value = 0 Then With a.Font ‘ – шрифт диапазона ячеек .Bold = True ‘ – жирный шрифт .ColorIndex = 3 ‘ – цвет шрифта ячейки (3 - красный) .Size = 20 ‘ – размер шрифта ячейки End With End If Next End Sub В этом примере в зависимости от содержимого ячейки выделенной области, которая возвращается методом Selection, меняется размер шрифта, цвет и тип шрифта каждой ячейки. В данной процедуре Font – шрифт диапазона ячеек – является объектом, который имеет такие свойства, как цвет, размер и тип шрифта. Воспользовавшись инструкцией With..End With можно, не указывая каждый раз имени объекта, изменять эти свойства. Инструкция For Each...Next Инструкция For Each...Next повторяет набор инструкций для всех объектов семейства или для всех элементов массива. Синтаксис: For Each элемент In группа инструкции [Exit For] инструкции Next [элемент] Элемент – управляющая объектная переменная цикла; группа - имя семейства объектов ; Exit For – альтернативный выход из цикла.
Вход в блок For...Each выполняется только в том случае, если группа содержит хотя бы один элемент. После входа в цикл все инструкции цикла выполняются для первого элемента группы. Затем, если группа содержит другие элементы, инструкции цикла выполняются для каждого элемента группы. После обработки всех элементов цикл завершается, а выполнение продолжается с инструкции, следующей за инструкцией Next. Следующий пример выполняет цикл по диапазону A1:D10 на рабочем листе “Лист1” и присваивает любому числу, имеющему значение меньше 10, значение 0. Sub List() Dim c as object For Each c In Sheets(“Лист 1”).Range(“A1:D10”) If c.Value < 10 Then c.Value = 0 Next c End Sub В следующем примере на рабочем листе диапазону выделенных ячеек предварительно присваивается имя “ МойДиапазон ”, которое затем и участвует в программе: Sub Диапазон () Dim x as object, с ount For Each x In Range("МойДиапазон ") If x.Value = "" Then count = count + 1 Next x MsgBox "Всего " & count & " пустых ячеек " End Sub В этой программе в диапазоне ячеек рабочего листа с именем “ МойДиапазон ” проверяется содержимое ячеек. Если ячейка ничего не содержит (“”- значение пустой строки), тогда счетчик - переменная count -увеличивается на 1. Далее, инструкция MsgBox выводит на экран значение этого счетчика, т. е. количество пустых ячеек в указанном диапазоне. Создание диалоговых форм Для создания диалоговых окон приложений в VBA используются формы. Форма – это окно пользовательского интерфейса. В VBA это UserForm со стандартной сеткой для удобного размещения визуальных элементов на ней. Шаг сетки может быть изменен через команду Параметры. Работа с UserForm выполняется в редакторе форм. Визуальные компоненты - элементы находятся на панели элементов и называются элементами управления. Это кнопки, поля, переключатели надписи, списки и т. д. Все эти элементы могут быть добавлены в форму для создания и оформления пользовательского интерфейса (рис. 18). Рис.18. Пользовательская форма в Excel Элементы управления размещаются в окне формы путем перетаскивания их с панели элементов, при этом для распознавания элементов достаточно установить на него указатель мыши. Объект (элемент управления) может реагировать на определенные события, происходящие в процессе работы приложения. Совокупность событий, на которые объект способен реагировать, определяется создателем класса, экземпляром которого является данный объект. Например, набор событий, которые определены для формы можно посмотреть на вкладке События (диалогового окна Properties).
Реакцией объекта на произошедшее событие может быть выполнение объектом некоторой специальной процедуры, которая называется процедурой обработки события. Любому событию объекта может быть назначена некоторая процедура его обработки. Обычно события инициируются действиями пользователя. В зависимости от производимых пользователем действий события можно разделить на несколько типов: события данных, события фокуса, события клавиатуры, события мыши, события печати, события фильтра, события окна, события ошибок и событие таймера. ЗАДАНИЯ НА САМОСТОЯТЕЛЬНУЮ РАБОТУ 1. Создать рабочую книгу с именем "Объектное программирование в Excell"; 2. Зайти в модуль книги и создать процедуру заполнения ячеек рабочего листа с адресом «А1:Е10» случайными двухзначными значениями. 3. Найти среднее арифметическое, среднее геометрическое заполненного диапазона. 4. Поменять размер, начертание и цвет тех ячеек диапазона, которые кратны 5. 5. Поменять местами максимальный и минимальный элемент диапазона. 6. Создать пользовательскую форму с элементами группа (переключатели красный, синий, зеленый), прямоугольник и кнопка Закрыть. Написать процедуры обработки события на изменение цвета прямоугольника и закрытия формы. 7. Создать пользовательскую форму с полями X и Y, Результат, списком Операция, полем со списком Действие и кнопкой Закрыть. В список и поле со списком поместить значения, соответствующие арифметическим операциям (не менее 5). Создать соответствующие процедуры обработки событий на выполнение арифметических действий и помещения полученного значения в поле Результат. Предусмотреть обработку ошибки от деления на 0.
|
||||||||
Последнее изменение этой страницы: 2021-04-04; просмотров: 383; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.14.121.242 (0.038 с.) |