- •Информатика Сборник лабораторных работ по программированию в среде Visual Basic for Applications
- •Содержание
- •Введение
- •Лабораторная работа №1. Vba. Основные понятия. Среда разработки. Основы пРоГраммирования. Переменные
- •Среда программирования vba
- •Основы программирования на vba
- •Переменные
- •Математические операторы
- •Лабораторная работа №2. Диалоговые окна
- •Контрольные вопросы
- •Лабораторная работа № 3. Разветвляющиеся алгоритмы
- •1. Операторы условия if...Then
- •1.1 Строчный оператор If…Then…Else
- •1.2 Блочный условный оператор
- •1.3 Вложенные операторы If
- •1.4 Логические операции
- •2. Безусловный переход GoTo
- •3. Оператор выбора – переключатель
- •5. Задачи для самостоятельного решения!
- •Лабораторная работа № 4. Циклы со счетчиком
- •Лабораторная работа № 5. Циклы с условием
- •1. Циклы с предусловием
- •2. Цикл с постусловием
- •3. Цикл For Each … Next
- •4. Задания к лабораторной работе
- •5. Контрольные вопросы
- •Лабораторная работа № 6. Работа с формами. Создание интерактивных программ.
- •Примеры создания программ для работы с объектами окна диалога
- •Кнопка на рабочем листе создается с помощью Панели инструментов Формы (Элементы управления). Макрос назначается двойным щелчком левой кнопки мыши или с помощью контекстного меню.
- •Варианты для самостоятельных работ:
- •Литература
Математические операторы
Математическая формула представляет собой оператор, содержащий числа, переменные, операции и ключевые слова и создающий новое значение, например:
p1=(Sqr(p2)+p3^3)*7
Математические символы, используемые в операциях:
Операция |
Математическое действие |
+ - * / \ Mod ^ & |
Сложение Вычитание Умножение Деление Целая часть от деления Остаток от деления Возведение в степень Слияние (конкатенация) строк |
Оператор |
Приоритет при выполнении |
() ^ - *, / \ Mod +, - |
1. Выражение в скобках. 2. Возведение в степень 3. Перемена знака 4. Умножение, деление 5. Взятие целого от деления 6. Взятие остатка от деления 7. Сложение , вычитание |
В VBA существует более 100 встроенных функций (математические, финансовые, функции даты и др.), к которым можно обращаться стандартным способом.
В следующей таблице приведен ряд некоторых математических функций:
Функция |
Действие |
Abs(X) Sin(X) Cos(X) Tan(X) Exp(X) Rnd(X) Sgn(X)
Sqr(X) Str(X) Val(X) |
Возвращает абсолютное значение Х. Тригонометрические функции. Угол Х выражен в радианах.
Возвращает константу е в степени Х. Генерирует случайное число между 0 и 1. Возвращает -1, если Х<0; 0, если Х=0; +1, если Х >0. Возвращает квадратный корень числа Х. Преобразует числовое значение в строку. Преобразует строку в числовое значение. |
ВЫПОЛНИТЬ:
Задание 2. Создадим программу «Счастливая семерка». Алгоритм задачи такой:
необходимо создать две кнопки Пуск и Конец, три окна для случайных чисел, этикетку с призом;
осуществить выбор трех случайных чисел при щелчке мышкой по кнопке Пуск;
показать приз, когда в одном из окон будет число 7;
закрыть программу - щелчком мыши по кнопке Конец.
Создадим новую форму. Меню Insert - UserForm. Далее проведем этап визуального программирования, т.е. создадим графический интерфейс программы.
Создадим объект Командная кнопка. В окне элементов щелкнуть мышкой по кнопке Command Button. Далее перевести курсор в форму, нажать левую кнопку мыши и нарисовать первую кнопку. Имя кнопки по умолчанию Command1.
Если щелкнуть по элементу (объекту) в форме, то он обрамляется рамкой и можно изменить его размеры и расположение.
Command1
Command2
Label4
Label1
Label3
Label2
Создадим вторую командную кнопку Command2 (того же размера).
Создадим три одинаковых окна для случайных чисел (кнопка Label в окне элементов): Label1, Label2, Label3.
Создадим этикетку под кнопками Label4 - тоже кнопкой Label из окна элементов.
Установим свойства для всех объектов.
Щелкнуть мышкой по кнопке Command1.Кнопка выделится (обрамляется рамкой). Переходим в окно свойств - Properties. Редактируем свойство Caption (надпись): вводим Пуск, нажимаем Enter. Надпись в кнопке изменилась. Аналогично во второй кнопке изменяем надпись на Конец.
У объектов Label1- Label3 свойства одинаковые. Поэтому объединяем их в группу: нажать Shift и не отпуская его щелкнуть мышкой по объектам Label1, Label2, Label3. Выделится группа. Shift отпустить. Изменяем свойства: Border Style (рамка) - fmBoderStyleSingle, Caption (надпись) - удалить надписи.
Выделяем этикетку Label4 и изменяем свойства. Caption (надпись) - убрать, Font (шрифт) - жирный, 20 пунктов, Fore Color (цвет) - опция Palette - вишневый.
Составление программного кода. Необходимо создать программы управления кнопками Пуск и Конец.
1)Два раза щелкнуть по кнопке Конец- появится окно Code с процедурой данного события: Private Sub Command2_Click() - начало процедуры
- код процедуры
End Sub - конец процедуры
Command2_Click() - имя данной процедуры, где Click() - событие, в данном случае щелчок мышью по кнопке Конец (Visual Basic автоматически определил это событие). Устанавливаем курсор в коде процедуры и набираем ключевое слово End, которое означает конец работы программы и удаление ее с экрана.
У каждого объекта может быть несколько процедур. Список процедур находится в окне Code. Процедуры разделяются между собой чертой. Переключение между показом списка процедур и отдельной процедуры осуществляется двумя кнопками в левом нижнем углу окна. 2) Щелкнем по кнопке Command1. В окне Code появится процедура, связанная с кнопкой Пуск. Тело данной процедуры должно решать три задачи: - скрыть приз,
- создать три случайных числа,
- показать приз при появлении числа 7.
Пишем код процедуры:
Label4.Caption=”” ‘скрыть приз Label1.Caption=Int(Rnd*10) ‘показать числа Label2.Caption=Int(Rnd*10) Label3.Caption=Int(Rnd*10) ‘Если любое число равно 7, показать приз If (Label1.Caption=7)Or(Label2.Caption=7)Or (Label3.Caption=7)Then
Label4.Caption= « ПРИЗ »
End If
3) Правила написания программ на языке Visual Basic будут рассмотрены в других работах. Сейчас остановимся на основных моментах данной программы.
‘ - комментарий (после апострофа) отличается цветом от кода и в код программы не входит.
Объект.Свойство=Значение - Присвоение значения данному свойству, например, Label4.Caption= « ПРИЗ »
Функция Rnd создает случайное число в интервале от 0 до 1.
Функция Int умножает число на 10 и округляет до ближайшего целого, т.е. образуются числа от 0 до 9.
Условная конструкция If…Then…End If проверяет равенство случайных чисел 7 и, если число=7, то свойство Caption меняется и появляется надпись.
Запустить программу кнопкой Run, проверить ее работу.
Задание 3. Создать событийную процедуру («щелчок» по кнопке) и функцию пользователя с объявлением переменных и выводом результатов в ячейки таблицы.
Вычислить годовую процентную ставку контракта по кредиту, взятого на определенный срок при известных сумме долга и сумме, подлежащей возврату. Формула годовой процентной ставки:
,
где P – сумма кредита; S-сумма, подлежащая возврату; T-срок кредита.
Исходные данные: T=4месяца, P=100 тысяч, S=110 тысяч. Для них годовая процентная ставка составит i=30%.
