ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.07.2024
Просмотров: 265
Скачиваний: 0
Аналогично п.2.7 и п.2.8 в желаемом месте формы создать надпись «Ввод b» (b – латинская буква), рядом справа – текстовое поле с именем «Text2» и поместить в поле начальное значение переменной «b», например, 5.
Поместить в центр формы элемент управления «CommandButton» («командная кнопка»). Задать кнопке имя «CmdВыбор», создать на кнопке надпись «Выбор».
Создать ниже командной кнопки надпись «Максимум» (элемент «Label» ), а под этой надписью – текстовое поле для вывода результата, задав полю имя «Text3».
Приступить к созданию программного кода.
Сначала выполнить двойной щелчок ЛКМ на командной кнопке.
Результат: появление на переднем плане окна редактирования и в нем – шаблона (заготовки) главной подпрограммы – процедуры выбора:
Private Sub CmdВыбор _Click( )
пустая строка
End Sub
Пояснения
Слово Private означает – личная (для данного программного модуля), то есть процедура (подпрограмма) принадлежит только данной форме или модулю и не может быть использована другими формами, модулями. Sub – подпрограмма (Subroutine). Первая часть ее имени CmdВыбор – это свойство «Name» командной кнопки, связанной с этой подпрограммой. Вторая часть имени подпрограммы Click – это название события (щелчок). Этим указывается, что при переходе в режим выполнения программы данная процедура будет выполняться после щелчка ЛКМ на командной кнопке. Слова End Sub означают окончание подпрограммы.
Действие:
Вставить в шаблон главной подпрограммы следующий текст:
Dim a As Integer, b As Integer, max2 As Integer
a = CInt (Text1.Text)
b = CInt (Text2.Text)
If a>b Then max2 = a Else max2=b
Text3.Text = max2
Пояснения
Первая строка – инструкция задания размерности (Dimension) переменных и их типа. Тип определяет те значения, которые может принимать переменная. В данном примере переменные – простые (не массивы). Они определены как (As) целого (Integer) типа.
Вторая и третья строки – операторы присваивания целочисленным переменным значений, считываемых из соответствующих полей формы. В текстовых полях формы данные представлены в виде символов (цифр). С помощью функции CInt выполняется преобразование данных (конверсия – Conversion ) в тип целый (Integer). При этом контролируется возможность данного преобразования. Первая часть составного имени данного в поле ввода – это значение свойства «Name» этого поля. Вторая часть имени данного определяет его тип в поле ввода.
Четвертая строка – строчный условный оператор, реализующий алгоритм типа «ветвление». Этот оператор выполняет анализ условия. Если (If) это условие – истина, то (Then) выполняется оператор в ветви «Then»; иначе (Else) выполняется оператор в этой ветви.
Пятая строка – оператор присваивания, а фактически – вывода значения целочисленной переменной max2 в текстовое поле формы с именем «Text3» (преобразование числового значения в символьное выполняется автоматически).
3.2. Выполнить программу созданного проекта.
Действия:
перейти в режим выполнения программы, щелкнув ЛКМ на кнопке «Запуск подпрограммы/ UserForm» («Run Sub/ User Form») на панели инструментов (на кнопке изображен значок – стрелка, направленная вправо);
выполнить программу с помещенными предварительно в поля ввода данными, щелкнув ЛКМ на командной кнопке в появившейся на переднем плане форме.
3.3. Повторите выполнение программы для следующих пар чисел: 45,5 и 12; -56 и 5,3; -858 и -99,9.
3.4. После выполнения программы проекта закрыть форму, выйти из среды программирования на внешний уровень Excel-файла, т.е. в окно с таблицей и вкладками (быстрые клавиши Alt+F4).
На вкладке «Разработчик» щелкнуть в левом поле вкладки на значке « «!» Безопасность макросов»». В открывшемся окне «Центр управления безопасностью» выбрать в перечне «Параметры макросов» вариант «Включить все макросы» и под заголовком «Параметры макросов для разработчика» активизировать режим «Доверять доступ к объектной модели проектов VBA». Закрыть окно «Центр управления безопасностью» щелчком на кнопке «OК».
Окончательно сохранить Excel-файл с созданным проектом и закрыть окно Excel.
Для подтверждения готовности проекта для дальнейшего использования вновь открыть созданный Excel-файл, войти в среду программирования (быстрые клавиши Alt+F11), выполнить программу проекта, вернуться обратно и завершить работу.
Самостоятельно реализовать проект по варианту, заданному преподавателем.
Завершить работу щелчком ЛКМ на пункте «Завершение сеанса <имя группы>».
Содержание отчета
Отчет должен содержать:
номер, название и цель работы;
краткую теоретическую часть, включающую краткое изложение общих понятий, связанных с визуальным подходом к программированию: форму, объекты формы, свойства и методы объектов формы, подпрограммы, их связь с объектами формы через наступление определенных событий;
результаты выполнения работы согласно заданию, выданному преподавателем, а именно, текст составленных программ с пояснениями к ним, структуру окна формы задачи, описание действий по выполнению программ;
заключение по работе.
Контрольные вопросы
Объясните термин «объектно-ориентированное программирование».
Дайте определение алгоритма, программы, языка программирования.
Назовите элементы языка VBA, приоритеты операций в VBA.
Какой элемент управления формы может не только отображать текст, но и получать его от пользователя?
Какую функцию выполняют события в Visual Basic?
ЛАБОРАТОРНАЯ РАБОТА №2
Редактор VBA. Условный оператор.
Подпрограммы
Цель работы:
изучить основы компьютерной логики, познакомиться с алгоритмом типа «ветвление» и условным оператором If …Then…Else;
получить навыки использования вспомогательных подпрограмм, их описания и вызова на выполнение.
Теоретическая часть
Как правило, алгоритмы обработки информации и реализующие их программы содержат проверки каких-либо условий, от которых зависит последующее действие. Для этого предназначен условный оператор, который имеет вид (рис. 2).
If условие Then инструкция 1 Else инструкция2
(если) (истинно) (то) (иначе)
Рис. 2. Общий формат условного оператора
Этим оператором реализуется алгоритм типа «ветвление». Работает условный оператор следующим образом:
проверяется условие;
если условие истинно, то исполняется инструкция 1;
если условие ложно, то исполняется инструкция 2.
В инструкциях, помещаемых в ветви Then или Else, обычно фигурируют выполняемые операторы. Ветвь Else может отсутствовать. В качестве условия может быть использовано любое логическое выражение со знаком > (больше), < (меньше), = (равно), > = (больше либо равно), < = (меньше либо равно), <> (не равно).
В каждой ветви может быть как один оператор, так и блок операторов, разделённых при линейной (строчной) записи двоеточием. Приведенный выше формат является форматом строчного условного оператора. Этот оператор удобно использовать в случае, когда в каждой ветви помещается по одному оператору. Иначе необходимо будет организовать перенос (через пробел знаком «подчерк») единой логически строки записи на вторую или несколько строк текста программы.
При помещении в ветви нескольких операторов удобнее (и это придаёт больше наглядности) использовать блочный условный оператор, имеющий следующий формат (рис. 3):
If условие Then блок инструкций Else блок инструкций End If |
Рис. 3. Формат блочного условного оператора
Начало (заголовок) блочного условного оператора (служебные слова If, Then и условие между ними), а также служебное слово Else и обозначение конца оператора End If помещаются в отдельные строки.
При включении в блок инструкций нескольких операторов можно размещать их по два или три и более, если они короткие, в одной или нескольких строках, разделяя внутри строки двоеточиями. Для наглядности связи рекомендуется помещать слово Else под соответствующим словом Then.
Допускается вложенность условного оператора в другой условный оператор (в любую ветвь внешнего условного оператора; обычно – в ветвь Else), когда требуется дополнительное ветвление.
Оборудование, инструменты и приборы: ПЭВМ, программное обеспечение Microsoft Office (Excel 2007).
Задания
Составить алгоритм, эскиз окна формы и программный код для решения задач, приведенных в таблице 2.
Таблица 2
Варианты заданий
№ варианта |
Задание |
1 |
Ввести два целых числа a, b. Меньшее из них заменить полусуммой, а большее – удвоенным произведением. Вывести новые значения a, b |
2 |
Решить задачу преобразования двух неравных чисел: большее число уменьшить на 2, а меньшее утроить и вывести результат. В окне формы разместить надписи и поля для ввода исходных данных и вывода результатов |
3 |
Решить квадратное уравнение. |
4 |
Ввести четыре вещественных числа a, b, c, d. Если а b c d, то каждое число заменить наибольшим из них; если a > b > c > d, то числа оставить без изменения; в противном случае все числа заменить их квадратами. Вывести новые значения a, b, c, d |
5 |
Выяснить, пересекаются ли две прямые, заданные на плоскости уравнениями вида y = kx+b. Если пересекаются, то вывести координаты точки пересечения, иначе вывести сообщение об отсутствии пересечения |
6 |
Выяснить, лежат или нет на одной прямой три точки, заданные своими координатами x, y. В результате вывести соответствующее сообщение |
7 |
Ввести координаты x1, y1 и x2, y2 двух точек на плоскости. Определить, принадлежат эти точки одной четверти или нет |
8 |
Ввести координаты x1, y1 и x2, y2 левой верхней и правой нижней вершин прямоугольника, а также координаты x, y произвольной точки. Проверить правильность ввода координат прямоугольника. При неверном вводе этих координат вывести сообщение, а при верном – определить принадлежность точки данному прямоугольнику |