Среда разработки VBA
Алгоритмы, базовые структуры. Описание последовательности действий над заданными объектами для получения конечного результата. Линейный и разветвляющийся процессы. Знакомство со средой разработки, проектирование решения линейных задач средствами VBA.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 21.09.2009 |
Размер файла | 268,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
6
КУРС: Информатика
ТЕМА:
«Среда разработки VBA»
1. «Алгоритмы. Базовые структуры»
Алгоритмы
Алгоритм - это точное и понятное описание последовательности действий над заданными объектами, позволяющее получить конечный результат.
Вы уже не раз встречались с алгоритмами в различных школьных предметах. Например, в химии получение того или иного соединения можно описать с помощью алгоритма. Решение примеров и неравенств в матике - это сплошные алгоритмы. Алгоритмы везде, например ваши действия каждое утро можно представить данным алгоритмом:
§ Проснулись
§ Встали с постели
§ Умылись и почистили зубы
§ Оделись
§ Позавтракали
§ Пошли (поехали) в школу
В алгоритме важна последовательность действий и уровень детализации (подробность описания действий). Если в алгоритме пропущено одно действие (например - одеться) - то произойдёт серьёзная неприятность.
Ничего хорошего не произойдёт, если поменять местами два действия: проснулись-встали с постели, тогда вы - «лунатик», надо обращаться к врачу.
Алгоритм решения одной и той же задачи может быть представлен по-разному: устно, в виде схемы, графически с помощью рисунка, записан письменно в тетрадь.
Важно, чтобы исполнитель алгоритма чётко понимал, что от него требуется. Исполнителем может быть животное, человек, машина, поэтому пользуйтесь в алгоритме командами, которые исполнитель может понять.
Составить алгоритм действия: принести карандаш, который лежит в углу аудитории и подать преподавателю. Алгоритм для собаки, человека и машины, должны составить учащиеся, преподаватель, при необходимости корректирует алгоритм.
Для моделирования ситуации можно выбрать одного студента, пусть он будет роботом и знает команды ВП, НД, ЛВ, ПР,НАКЛОН, параметры первых двух команд количество шагов, третей и четвертой угол поворота, а учащиеся пусть зададут ему алгоритм, необходимый для выполнения действия. Для усложнения алгоритма можно поставить преграды в виде стульев.
При составлении любого алгоритма используются одни и те же составные блоки, называемые базовыми структурами. Их всего три: следование, развилка, цикл. Это три типа кирпичиков, из которых можно сложить любой алгоритм. Для графического представления базовых структур используют специальные обозначения. Приступим к описанию базовых структур.
1. Следование (линейный алгоритм) означает, что действия должны быть выполнены последовательно одно за другим. На практике, как правило, сводится к вводу исходных данных, вычислениям по одной или нескольким формулам и выводу полученных результатов, не требуя отдельного запоминания промежуточных результатов.
2. Развилка (разветвляющийся процесс), означает выбор одного из двух вариантов в зависимости от значения некоторого логического выражения
Развилка: « Если - то - иначе»
Может оказаться, что при одном из значений логического выражения не нужно выполнять никаких действий. В этом случае структура развилки может быть представлена в таком виде Развилка: «Если - то»
6
3. Цикл означает повторное выполнение одного и того же действия или блока действий, называемых телом цикла.
Циклы бывают«До»(с постусловием - условие проверяется после выполнения цикла), «Пока»(с предусловием - условие проверяется перед выполнением цикла)
Цикл - «Пока» с предусловием
Вначале - на первом шаге цикла - проверяется значение логического выражения. Если оно истинно, то выполняется тело цикла.
Затем - на втором шаге цикла - снова делается проверка значения логического выражения и, если оно всё ещё истинно, снова выполняется тело цикла и т.д.
Цикл завершается, когда значение логического выражения становиться ложным.
Цикл - «До» с постусловием
Значение логического выражения проверяется после выполнения тела цикла
Цикл завершается, когда значение логического выражения становиться истинным
2 «Знакомство со средой разработки VBA»
Внешний вид и элементы VBA
Чтобы зайти в VBA не нужно покупать специальное программное обеспечение, достаточно зайти в MS Word или MS Excel и нажать комбинацию клавиш Alt+F11
Внешний вид окна VBA
Основные элементы VBA:
§ Меню, в состав которого входят все команды, которые используются при создании приложений;
§ Toolbox (Панель элементов управления), при помощи данного элемента среды разработки программист может размещать на форме те или иные элементы управления, которые необходимы для создания приложения;
§ Контекстное меню;
§ Toolbar (Панели инструментов), представляют собой различные группы кнопок при помощи которых можно выполнять те или иные операции(1-добавить окно дизайнер форм, 2- запуск программы, 3-временная остановка программы, 4- завершение работы программы, 5- отобразить окно проводника проектов, 6- отобразить окно свойств, 7- отобразить Панель элементов управления)
§ Project(окно проводника проектов)используется в случае необходимости работы с несколькими проектами одновременно;
§ UserForm (дизайнер форм)окно, которое служит для редактирования форм, то есть добавления и удаления из них различных элементов управления;
§ Properties (Окно свойств) используется для того, чтобы изменять свойства выделенного объекта, в частности, элемента управления;
§ Code (Окно редактирования кода) предназначено для создания и редактирования кода программы, для его появления нужно дважды щелкнуть на форме или элементе управления, расположенном на ней.
Окно редактирования кода
Внешний вид окна VBA можно изменять с помощью пункта меню View (Вид).
Описание назначения некоторых встроенных элементов управления:
1. CommandButton (Управляющая кнопка) выполнение приложением определённых действий, вызванных нажатием на управляющую кнопку; |
|
2. Image (Изображение) вывод графических элементов в форме; |
|
3. Label (Метка) отображение надписей в форме; |
|
4. TextBox (текст) ввод текста; |
Имена элементов управления строятся согласно правилу: <Имя>::=<Префикс><Базовое имя>
Общепринятые префиксы для основных элементов управления
Префикс |
Элемент управления |
Пример |
|
Cmd |
CommandButton (Управляющая кнопка) |
cmdExit |
|
Frm |
Form (Форма) |
frmMain |
|
Img |
Image (Изображение) |
imgSpace |
|
Lbl |
Label (Метка) |
lblComment |
|
Txt |
TextBox (текст) |
txtLetter |
|
chk |
CheckBox (Флажок) |
chkAgreement |
|
Cbo |
ComboBox (Ниспадающий список) |
cboList |
|
Dat |
Data (Данные) |
DatTable |
|
Dir |
DirListBox (Список каталогов) |
dirFolder |
|
Drv |
DriveListBox (Список дисков) |
drvDevice |
|
Fil |
FileListBox (Список файлов) |
filDocument |
|
Fra |
Frame (Рамка) |
fraTitle |
|
Hsb |
HScrollBar (Горизонтальная полоса прокрутки) |
hsbPicture |
|
Lin |
Line (Линия) |
linDiagonal |
|
Lst |
ListBox (Список элементов) |
LstSurname |
|
mnu |
Menu (Меню) |
mnuHelp |
|
ole |
OLE (Контейнер OLE) |
oleGraph |
|
Opt |
OptionButton (Переключатель) |
optAgeGroup |
|
pic |
PictureBox (Рисунок) |
picScreen |
|
Shp |
Shape (Фигура) |
shpRect |
|
Tmr |
Timer (Таймер) |
tmrCurrent |
|
Vsb |
VScrollBar (Вертикальная полоса прокрутки) |
vsbText |
Имя элемента управления задаётся в свойстве Name.
3. «Проектирование решения линейных задач средствами VBA»
Переменная - это определённая область памяти, форматированная в соответствии с определённым типом данных.
Формат:
Dim Имя переменной As тип данного
Имя переменной должно подчиняться определённым правилам:
1. Имя переменной должно начинаться с буквы
2. Не должно содержать точку
3. Длина не должна превышать 256 символов
4. Имя переменной не должно быть ключевым словом
Пример:
Dim а, с As Integer
Dim а, с As Double
Типы данных - это способы хранения и представления данных
Используемые типы данных и их описание
Тип |
Содержимое |
Память,байт |
Диапазон возможныхзначений |
|
Integer |
Целые числа |
2 |
[-215;215-1] |
|
Long |
Целые числа |
4 |
[-231;231-1] |
|
Single |
Вещественные числа одинарной точности |
4 |
[-2128;-2149] и[2-149;2128-1] |
|
Double |
Вещественные числа двойной точности |
8 |
[-21024;-21074] и[2-1074;21024-1] |
|
Currency |
Вещественные числа (целая часть - до 15 цифр, дробная - до 4 цифр) |
8 |
[-263*10-4; (263-1) *10-4] |
|
String |
Текст |
1 для каждого символа |
До 216символов для строк фиксированной длины. До 231 символов для динамических строк |
|
Byte |
Целые числа |
1 |
[0;28-1] |
|
Boolean |
Логические значения |
2 |
[True;False] |
|
Date |
Дата и время |
8 |
[1.01.100;31.12.9999] |
|
Object |
Объект |
4 |
Ссылка на объект |
|
variant |
Любая |
16+ (1 для каждого символа) |
Диапазон не определён |
Список суффиксов для неявного определения типов данных
Названия типа |
Символ в качестве суффикса |
|
Integer |
% |
|
Long |
& |
|
Currency |
@ |
|
Single |
! |
|
Double |
# |
|
String |
$ |
Префиксы типов данных в имени переменных
Префикс |
Тип переменной |
Пример |
|
bln |
Boolean (Булевский) |
blnCheckon |
|
byt |
Byte (Байт) |
bytCounter |
|
cur |
Currency (Денежный) |
CurMoney |
|
dbl |
Double (Число с плавающей десятичной точкой двойной точности) |
dblExperience |
|
dtm |
Date (Дата и время) |
DtmToday |
|
int |
Integer (Целое) |
IntNamber |
|
lng |
Long (Длинное целое) |
LngResult |
|
obj |
Object (Объект) |
ObjMainForm |
|
str |
String (Строка) |
StrAnser |
|
sng |
Single (Число с плавающей десятичной точкой одинарной точности) |
sngResearch |
|
vnt |
Variant (Произвольный) |
vntAnything |
Константа - это именованная область памяти, форматированная в соответствии с определённым типом данных, но не изменяемая внутри процедуры.
Формат:
Const Имя константы As тип данного=значение константы
Пример:
Const Pi As Double=3,14
Описание действий над данными называется оператором. Данные над которыми производиться действие называются операндами.
Для присвоения значения переменным используется оператор присваивания (=).
Формат: Имя переменной=Значение
Пример:
а=5
Приоритет операций
Вычисление выражения производиться слева направо с учётом круглых скобок, а при их отсутствии определяется следующим старшинством: первыми выполняются арифметические операции, потом - операции сравнения, а последними - логические операции.
Все операции сравнения имеют одинаковый приоритет, т. е. выполняются слева направо.
Приоритет арифметических операций
1. ^(возведение в степень)
2. изменение знака (-)
3. *, / (умножение и деление)
4. \ (целочисленное деление)
5. mod (остаток от деления)
6. +,- (сложение и вычитание)
7. Сцепление строк (&)
Приоритет логических операций
1. Not
2. AND
3. OR
Значения логических операций
X1 |
X2 |
And |
Or |
Xor |
Imp |
Eqv |
|
0 |
0 |
0 |
0 |
0 |
1 |
1 |
|
0 |
1 |
0 |
1 |
1 |
1 |
0 |
|
1 |
0 |
0 |
1 |
1 |
0 |
0 |
|
1 |
1 |
1 |
1 |
0 |
1 |
1 |
And. Действие «конъюнкция» (логическое «и»).
Or. Действие «дизъюнкция» (логическое «или»).
Xor. Действие «двоичное сложение».
Imp. Действие «импликация».
Eqv. Действие «эквивалентность».
1- Истина (True)
0- Ложь (False)
Приёмы ввода и вывода
Ввод информации можно осуществить двумя способами:
1) с помощью элемента текстовое поле
Доступ к введенным в него данным можно получить в событийной процедуре
S=txtX
2)С помощью встроенной функции InputBox
Её можно использовать только в операторах присваивания
X= InputBox(“Строка запроса”, “Заголовок окна ввода”)
Вывод информации можно осуществить несколькими способами:
1)с помощью элемента текстовое поле
txtX= txtа* txtе
2)с помощью элемента метка
lblX= txtа* txtе (свойство Caption содержит 0)
3) с помощью стандартной процедуры Msgbox
Она может иметь несколько форм
§ Msgbox “Текст” для вывода текста в окно (Msgbox “Привет”)
§ Msgbox Имя переменной для вывода значения переменной в окно (Msgbox txtx)
§ Msgbox “Текст” & Имя переменной вывод текста и значения переменной одновременно
4 «Решение линейных задач средствами VBA, проектирование приложений с различными типами данных»
Основные матические функции
Запись на Visual Basic |
Матическая запись |
Описание |
|
Abs (x) |
|x| |
Модуль |
|
Atn (x) |
Arctg x |
Арктангенс |
|
Cos (x) |
Cos x |
Косинус |
|
Exp (x) |
ex |
Экспонента |
|
Fix (x) |
Отбрасывание дробной части |
||
Int (x) |
Наибольшее целое число, не превосходящее х |
||
Round (x,a) |
Округление числа х с точностью до а десятичных знаков |
||
Log (x) |
Ln x |
Натуральный логарифм |
|
Rnd (x) |
Датчик случайных чисел |
||
Sng (x) |
В зависимости от знака числа возвращает 1, 0 или -1 |
||
Sin (x) |
Sin x |
Синус |
|
Sqr (x) |
Квадратный корень |
||
Tan (x) |
Tg x |
Тангенс |
Перечень функций преобразования типов данных
Название функции |
Получаемый тип данных |
|
CBool |
Boolean |
|
CByte |
Byte |
|
CCur |
Currency |
|
CDate |
Date |
|
CDbl |
Double |
|
CInt |
Integer |
|
CLng |
Long |
|
CSng |
Single |
|
CStr |
String |
|
CVar |
Variable |
5. «Конструкции IF ... then»
Условные операторы
1. If условие Then оператор
Как работает:
ь Проверяется результат условия, если он истинен, то выполняется один оператор после Then.
ь Если результат условия ложен, то выполняется следующий по порядку оператор.
2. If условие Then
операторы
End If
Как работает:
ь Проверяется результат условия, если он истинен, то выполняется операторы после Then.
ь Если результат условия ложен, то выполняется следующий по порядку оператор.
3. If условие Then
Операторы1
Else
Операторы2
End If
Как работает:
ь Проверяется результат условия, если он истинен, то выполняется операторы 1 после Then.
ь Если результат условия ложен, то выполняются операторы2 после Else
4. If условие Then
Операторы1
Else: Оператор
End If
Как работает:
ь Проверяется результат условия, если он истинен, то выполняются операторы 1 после Then.
ь Если результат условия ложен, то выполняется один оператор после Else
5. Краткая форма
IIf(Условие, значение 1, значение 2)
Как работает:
ь Проверяется результат условия, если он истинен, то выполняется значение 1 .
ь Если результат условия ложен, то выполняется значение 2.
«Вложенные операторы. Конструкция Select Case»
6. Вложенные операторы
Если нужно выполнять действие после проверки не одного, а нескольких условий:
If условие1 Then
Операторы1
ElseIf условие2 Then
Операторы2
[Else орепаторы N]
End If
Как работает:
ь Проверяется результат условия1, если он истинен, то выполняется операторы 1
ь Если результат условия ложен, то выполняется проверка условия2 и, если он истинен, то выполняются операторы 2 и т. д.
ь Else выполняется если не одно из предложенных N условий не оказалось истинным (эта часть оператора неявляется обязательной)
Конструкция Select Case
Select case переменная
Case значение1
Операторы1
Case значение2
Операторы2
Case значение3
Операторы3
[case Else
Операторы N]
End Select
Как работает:
1. Вычисляется значение переменной после Select case.
2. Если оно есть зреди значений (значение1, значение2, значение3 и т. д.), то выполняется оператор соответствующий значению(Операторы1 или Операторы2 или Операторы3или …)
3. Если среди значений такого числа нет, то выполняется блок операторов после case Else (если он указан, т. к. он может не использоваться в конструкции) или следующий оператор.
7. «Разновидности циклов»
Цикл - это алгоритмическая структура, при помощи которой реализуется многократное повторение блоков операторов.
В Visual Basic три основных вида цикла:
For … Next (количество повторов известно заранее)
Do … Loop (количество повторов неизвестно заранее)
While … Wend (количество повторов неизвестно заранее)
Цикл For … Next
Используется в том случае, когда количество повторов заданного блока операторов известно заранее.
For счётчик=начальное Значение To конечное значение_
[Step шаг]
Операторы1
[Exit For]
Операторы2
Next [счётчик]
Как работает:
1.Проверяется если счётчик> конечное значение т. е. TRUE, то происходит завершение цикла, при этом Операторы1 и Операторы2 не выполняются ни разу.
2. Если результат проверки (счётчик<конечное значение) т.е. FALSE, то блок операторов (Операторы1)выполняется первый раз, после чего происходит переход на начало цикла. Далее значение переменной-счётчика увеличивается на шаг, указанный после слова Step(в случае его отсутствия шаг=1). Опять переходим к пункту 1, выполняется проверка, если результат проверки (счётчик<конечное значение) т.е. FALSE, то блок операторов (Операторы1)выполняется ещё раз, и опять увеличивается шаг и проверка условия и т. д. пока значение не будет TRUE и цикл не завершится.
3. Если необходимо завершать работу цикла при выполнении дополнительного условия, то следует добавить Exit For, которое располагают в управляющей конструкции:
If условие Then Exit For
Если результат условия TRUE, то цикл будет прекращен блок Операторы1
Будет выполнен очередной раз, а блок Операторы2 - нет.
Цикл Do … Loop.
Применяется, когда число повторений операторов тела цикла заранее неизвестно. Есть четыре разновидности данной конструкции.
При использовании первых двух цикл либо выполнится много раз, либо не выполнится вообще.
1. Do Until условие
операторы
Loop
Как работает:
· Если результат условия FALSE, то блок операторы выполняется, иначе будет переход на оператор, расположенный после служебного слова Loop.
· Если результат условия TRUE, то цикл не выполнится ни разу.
2. Do While условие
операторы
Loop
Как работает:
· Если результат условия TRUE, то блок операторы выполняется.
· Если результат условия FALSE, то цикл не выполнится ни разу.
3. Do
операторы
Loop Until условие
Как работает:
· Блок операторы выполняется до тех пор, пока результат условия FALSE.
· Если результат условия TRUE, то цикл заканчивает выполнение работы.
4. Do
операторы
Loop While условие
Как работает:
· Блок операторы выполняется до тех пор, пока результат условия TRUE.
· Если результат условия FALSE, то цикл заканчивает выполнение работы.
Цикл While… Wend.
Применяется, когда число повторений операторов тела цикла заранее неизвестно.
While условие
операторы
Wend
Как работает:
Если результатом проверки условия является значение TRUE, то блок операторы выполняется, иначе идёт переход на оператор расположенный после служебного слова Wend.
Если первая проверка условия даст результат FALSE
Подобные документы
Последовательность действий, понятных для исполнителя и ведущая к решению поставленной задачи. Форма представления алгоритма для исполнения его машиной. Основные свойства алгоритмов и способы их записи. Линейный, разветвляющийся и циклический алгоритмы.
презентация [128,2 K], добавлен 22.10.2012Системы линейных алгебраических уравнений. Код программы для решения систем линейных алгебраических уравнений. Математические и алгоритмические основы решения задачи методом Гаусса. Программная реализация решения. Алгоритмы запоминания коэффициентов.
лабораторная работа [23,5 K], добавлен 23.09.2014Системы линейных алгебраических уравнений. Матричный метод решения систем линейных уравнений. Решение задачи математическим методом. Блок-схема алгоритма и листинг программы. Расчет трудоемкости разработки программы. Расчет себестоимости и цены программы.
дипломная работа [144,8 K], добавлен 25.04.2012Этапы подготовки и решения реальных задач. Словесно-формульное, графическое описание, псевдокоды. Программа нахождения квадрата числа на языке Бейсик. Разветвляющийся и циклический алгоритм. Общие положения программирования. Базовые конструкции.
презентация [308,3 K], добавлен 31.10.2016Программирование как процесс описания последовательности действий решения задачи средствами конкретного языка и оформление результатов описания в виде программы. Этапы разработки программы, требования к ее функциональности, направления использования.
контрольная работа [79,7 K], добавлен 10.01.2016Организация входных и выходных данных для задачи нахождения общей точки для всех кругов на плоскости. Словесное описание действий и операций, выполняемых программой для получения конечного результата. Выбор технических и программных средств приложения.
курсовая работа [314,1 K], добавлен 30.06.2014Транспортная задача как одна из самых распространенных специальных задач линейного программирования: понятие, основное назначение. Формальное описание метода минимального элемента. Характеристика этапов разработки алгоритма решения поставленной задачи.
курсовая работа [713,3 K], добавлен 19.10.2012Решение задач о распределении ресурсов на предприятии. Определение количества продукции для получения максимальной прибыли. Методы решения транспортных и линейных производственных задач симплексным методом. Сравнение мощности поставщиков и потребителей.
контрольная работа [163,5 K], добавлен 10.12.2013Решение инженерных задач при работе с визуальными данными. Базовые структуры данных. Базовые операции над многомерными числовыми массивами. Калибровка камер, элементы восстановления пространственной структуры. Анализ движения, слежение за объектами.
курсовая работа [4,5 M], добавлен 21.06.2011Методы решения систем линейных уравнений трехдигонального вида: прогонки, встречных прогонок, циклической редукции. Параллельные алгоритмы решения. Метод декомпозиции области. Основные возможности и особенности технологии CUDA. Анализ ускорения алгоритма.
дипломная работа [1,4 M], добавлен 21.06.2013