Слайд 1Программирование в среде Visual Basic 6.0.
Слайд 2Язык программирования Microsoft Visual Basic
Язык программирования Basic (Bigginer's All-Purpose Simbolic
Instruction Code), был создан в начале 60-х годов для разработки
простых программ и использовался в качестве учебного языка.
С появлением MS Windows пользователи получили возможность работать в удобной графической среде.
Графический интерфейс (GUI) упростил работу пользователя, но писать программы стало значительно сложнее.
С принятием графического интерфейса возникли языки событийно-управляемого программирования (event-driven programming) (визуального программирования), такие как Visual Basic (Basic), Delphi (Pascal), Power Station (Fortran),Visual C++ (C++).
Слайд 3Язык программирования Microsoft Visual Basic
Visual Basic - это интегрированная среда
разработки – IDE(Integrated Development Environment).
В Visual Basic интегрирован набор инструментов,
облегчающих и значительно ускоряющих процесс разработки приложения. Visual Basic относится к средам быстрой разработки приложений.
Возможность создавать приложения любого назначения (бизнес-приложения, игры, мультимедиа, базы данных).
Упрощается рутинный процесс создания программного кода.
Visual Basic использует современные методы программирования.
Слайд 4Интегрированная среда разработки языка Visual Basic
Интегрированная среда разработки языка Visual
Basic предоставляет пользователю удобный графический интерфейс и необходимый набор инструментов
для разработки приложения:
Визуальный редактор экранных форм,
Редактор программного кода приложения,
Отладчик,
Трансляторы ( компилятор и интерпретатор),
Редактор ресурсов и средства создания справочной системы,
Библиотеки программного кода и стандартные элементы управления.
Слайд 5Технология создания приложений
Постановка задачи ( определение исходных данных и результатов
которые надо получить)
Разработка алгоритма решения задачи
Создание интерфейса (создание окна (окон)
диалога (формы) и размещение на нём элементов управления);
Установка параметров (свойств) элементов управления;
Ввод текста программы;
Отладка программы;
Тестирование программы;
Сохранение проекта.
Слайд 6Структура проекта
Все приложения разрабатываются как проекты и хранятся в файлах
*.vbp;
Проект – это контейнер, в котором хранятся все формы приложения
и другие визуальные элементы вместе с программным кодом.
Программы хранятся в программных модулях.
Существует три типа программных модулей:
Модуль формы (*.frm),
Модуль кода - содержит программный код, выполняемый в нескольких формах (*.bas),
Модуль класса используется при разработке пользовательских классов (*.cls).
Слайд 7Пример разработки простейшего приложения
Слайд 8Синтаксис и семантика Visual Basic
Слайд 9Переменные
Переменная – зарезервированное место в оперативной памяти компьютера для временного
хранения данных.
Каждая переменная имеет собственное имя.
После того, как переменной
присвоено значение, она может использоваться в программе вместо самого значения.
Правила формирования имен переменных:
содержит не более 255 символов,
используются любые буквы, цифры и знаки подчеркивания,
первый символ в имени должен быть буквой,
нельзя использовать пробелы,
имя должно быть уникальным.
не может быть ключевым словом
Примеры: CurrentNum, Data_of_birth
Слайд 10Простые типы данных
Byte
Integer
Long
Single
Double
Currency
Boolean
String
Слайд 13Объявление переменных
Явное объявление переменных
Оператор:
Dim имяПеременной [As типДанных]
Примеры:
Dim Name As String*15
Dim
SurName As String, A As Single, I As Integer
Dim Money
As Currency, Alfa As Boolean
Name - строка фиксированной длины (15 симв.);
SurName -строка переменной длины (любое количество символов); A - вещественный; I - целый;
Money - арифметическое данное для коммерческих расчетов, Alfa - логическое
Слайд 14Область действия переменных
Private имяПеременной [As типДанных]
Static имяПеременной [As типДанных]
Public имяПеременной
[As типДанных]
Dim, Private, Static, Public – определяют область действия переменной.
Public
– глобальная (уровень проекта, доступна из всех модулей и процедур, описание в разделе General Declarations главного модуля приложения).
Dim – локальная (уровень модуля или процедуры -описание в разделе General Declarations модуля или формы; уровень процедуры - описание внутри процедуры).
Private - локальная (уровень модуля или процедуры)
Static – статическая (не обнуляется при выходе из процедуры, локальная)
Слайд 15Выражения
Выражение - это набор операндов, объединенных между собой знаками операций.
Операнд
- это объект, над которым выполняется операция. Операндом может быть
константа, переменная, выражение, вызов функции, обращение к элементу массива.
Набор допустимых операций определяется типом операндов.
Выражения делят на арифметические, логические, выражения отношения и символьные.
Слайд 16Арифметические выражения
+ - сложение (5+2);
- - вычитание (34-2);
* - умножение
(5*5);
/ - деление (3/5 = 0.6);
\ - деление нацело (5\2
= 2);
Mod - остаток от деления ( 7 Mod 2 = 1);
^ - возведение в степень (2^2 = 4, 25 ^ (1/2) = 5);
Приоритет операций в порядке убывания:
^
* /
\ Mod
+ -.
Операнды арифметического выражения могут быть следующих типов: Integer, Long, Currency, Double, Single, Variant.
Примеры выражений:
A^2+2*A*B+3.5 I+1 (1+R\T)*0.5 (P21*SIN(X)-B)/(D+C)
Слайд 17Логический тип данных Boolean
Переменные логического типа принимают только два значения
: Да (Истина) Нет (Ложь)
Для обозначения
логических значений в языке программирования Vbasic используются константы: True (Истина) и False (Ложь)
В операторе описания типа используется ключевое слово Boolean
Dim F1 As Boolean, F2 As Boolean - переменные F1, F2 логического типа
Слайд 18Логическое выражение
Для логических данных определены логические операции;
Для логических операций операнды
должны принимать значения или «истина» True или «Ложь» False.
Логическим выражением
называется выражение составленное с использованием логических операций и результатом вычисления которого является или TRUE или FALSE.
Слайд 19Логические операции
Not - логическое отрицание (НЕ);
And - логическое умножение (И);
Or
- логическое сложение (ИЛИ);
Xor - логическое исключающее ИЛИ;
Также как для
чисел существует таблица умножения, так же для любой логической операции существует таблица значений («таблица истинности») , показывающая результат выполнения логической операции в зависимости от значений операндов.
Слайд 21Основные логические операции в порядке убывания приоритета
Not - логическое отрицание
(НЕ);
And - логическое умножение (И);
Or - логическое сложение (ИЛИ);
Xor -
логическое исключающее ИЛИ;
2 1 3
True And Not False Or False = True
Слайд 22Операции сравнения
> больше
>= больше или равно
< меньше
равно
не равно
Операции сравнения генерируют логические значения
Операции сравнения имеют больший
приоритет чем логические операции
Ещё большим приоритетом обладают арифметические операции
Слайд 23Операции сравнения
"А" < "B" = True (сравнение строк)
чем ближе буква
к началу алфавита(кодовой таблицы), тем она меньше
2>4 = False
Двойные неравенства
записываются с помощью логических операций:
A > 5 And A < 10 соответствуют математической записи (5 < A < 10).
Слайд 24Символьные данные
Символьные данные или строка символов - любая последовательность символов.
В Visual Basic строка символов заключается в кавычки.
“12345678” ; “Иванов”
; “Фамилия И.О.”;
В операторе описания типа используется ключевое слово String.
В Visual Basic символьные данные (строки символов) могут быть постоянной или переменной длины. Это определяется в операторе описания типа.
Примеры:
Dim Name As String*15, SurName As String
Для работы с символьными данными используется оператор конкатенации (объединения) и встроенные функции.
Слайд 25Операции со строками. Объединение строк
Операция & - соединение строк (конкатенация
) .
Строка - "Иванов" & "Иван" & "Иванович"
Результат -
"ИвановИванИванович" (пробелы между словами вставлены в исходные строки).
Dim SurName As String*15
Dim Name As String
Dim Author As String*30
SurName = "Иванов" ‘В SurName - "Иванов" -15
Name = "Иван" ‘длина равна 4 символам
Author = SurName & Name
В переменной Author будет храниться значение
"ИвановИван" - длина равна 30 символам.
До заданной длины строка дополняется пробелами.
Слайд 26Встроенные функции для работы со строками. Преобразование данных
Чаще всего такие
преобразования необходимо использовать при работе с элементами управления (Label, TextBox,
…) и с функциями MsgBox или с InputBox.
Dim x As Integer
x = Val(InputBox("Введите x"))
Text1.Text = str$(x)
Слайд 27Константы
Константы – элементы выражения, значения которых не меняется в процессе
выполнения программы.
Примеры
76.33 – числовая константа,
“Ошибка доступа к БД” –
символьная константа
False –логическая константа
VB содержит огромное количество
встроенных констант (цвета, клавиши,
сообщения и т.д.). Имеют префикс vb.
Слайд 28Массивы
Различные данные часто представляются таблицами.
В языках программирования несколько однотипных
и одноразмерных данных, обозначенных одним именем, называется массивом.
Каждый элемент
массива имеет порядковый номер (индекс), по которому его можно выбрать.
Каждый массив содержит данные только одного типа.
Все используемые в программе массивы должны быть определены с помощью оператора Dim.
Синтаксис:
Dim имя (нижняя_граница To верхняя_гр) As тип
Слайд 29Массивы
Примеры:
Dim Tab(1 To 10) As Single
Dim AA2(1 To 5)
As Integer
Dim C(1 To 25) As Boolean
Dim
Crab(1 To 5) As String * 10 'длина строки - 10 символов
В этом примере определены:
массив с именем Tab, состоящий из 10 элементов и каждый элемент арифметического типа Single;
массив с именем AA2, состоящий из 5 элементов и каждый элемент арифметического типа Integer, т.е. может иметь только целые значения;
массив с именем С, состоящий из 25 элементов и каждый элемент логического типа, т.е. может иметь только значения True или False;
массив с именем Crab, состоящий из 5 элементов и каждый элемент типа строки символов длиной 10 символов.
Слайд 30Массивы
При использовании в программе некоторого элемента определенного массива указывается имя
массива и в скобках индекс элемента этого массива.
Примеры:
Tab(7) - используется
7 ой элемент массива Tab;
AA2(3) + AA2(4) - сложение 3-го и 4-го элемента массива AA2;
С(I) - используется I-ый элемент массива С (значение I должно быть определено и не может быть более 25);
Crab(J+1) - в качестве значения индекса используется арифметическое выражение (его значение не может быть более 5).
Слайд 31Массивы
В VB используются массивы фиксированного размера и динамические массивы (могут
менять размер в процессе выполнения программы).
Позволяют эффективно управлять памятью.
Порядок использования
динамического массива:
Объявляется массив с помощью ключевых слов, используемых при создании массива фиксированного размера. Список размерностей остается пустым.
Dim intCount () As Integer
С помощью выполняемого оператора ReDim указывается размерность массива в виде числа или выражения.
ReDim intCount (х)
ReDim intCount (20)
ReDim intCount (1 To 20)
При выполнении оператора ReDim данные, размещенные в массиве теряются.
Для изменения размера массива без потери данных ReDim используется с ключевым словом Preserve
ReDim Preserve intCount (х+1)
Слайд 32Базовые конструкции VB.
Операторы следования
Базовые конструкции определяют последовательность выполнения фрагментов
алгоритма. К их числу относятся операторы, выполняющиеся последовательно сверху-вниз, операторы
ветвления (условные операторы) и операторы цикла.
Следование предписывает последовательное выполнение операторов. Первой выполняется оператор S1, а после ее завершения – оператор S2, далее S3 и т.д. К таким оператором относятся операторы присваивания и вызова процедур.
Слайд 33Оператор присваивания
переменная = выражение
Переменной присваивается значение выражения (т.е. в область
памяти, выделенной для переменной записывается значение выражения).
При использовании оператора присваивания
должны соблюдать следующие правила:
тип переменной должен соответствовать типу выражения (если переменная типа String, то и выражение должно быть типа String);
если в правой и левой частях оператора используются числовые типы данных, то тип правой части преобразуется к типу левой части (для I типа Integer результатом оператора I=2.5 будет 2, т.е. в области памяти, выделенной под I будет хранится значение 2).
Пример:
count = 2*a+b
N=N+1
Слайд 34Операторы ветвления
Ветвление предписывает выбор одного из двух блоков (операторов) в
зависимости от того, выполняется условие P или нет. В приведенной
конструкции при положительном результате выполняется блок (оператор) S1, а при отрицательном – S2.
В VB ветвление реализуется с помощью операторов IF и Select Case.
Слайд 35Условный оператор IF (ветвление, обход ,выбор)
IF «логическое выражение» THEN «then
– последовательность» [ELSE «else – последовательность»]
или
IF логическое выражение THEN
[блок операторов - 1]
[ELSEIF логическое выражение THEN
[блок операторов - 2]]
[ELSE
[блок операторов - n]]
END IF
Блок операторов - это один оператор или последовательность операторов, расположенных на одной строке и разделенных":".
Слайд 36Операторы ветвления.
Если в качестве оператора S2 также используется оператор ветвления,
то два ключевых слова Else и If можно объединить в
одно ElseIf. Получим конструкцию
If ... Then ... ElseIf ... Then ... ElseIf ... Then ... Else ... End If
Пример
If A>B And C=1 Then
count = 2*a+b
N=N+1
ElseIf A count = (a-b)/3
N=N-1
Else
N=0
End If
Слайд 37Сокращенное ветвление
Обход (Сокращенное ветвление) предписывает выполнить блок S при положительном
результате проверки условия P.
Пример:
If A>B And C=1 Then
count = 2*a+b
N=N+1
End
If
Слайд 38Множественное ветвление
Множественное ветвление (переключатель) определяет выбор одного из n блоков
(n>2). Для исполнения выбирается тот блок, условие которого совпадает со
значением переключателя. На рисунке показана блок-схема для выбора одного из трех блоков.
Select Case управляющая_переменная
Case список_значений 1
[операторы_1]
[Case список значений_2
[операторы_2] ]
.
.
.
[Case Else
[операторы_n] ]
End Select
Слайд 39Оператор множественного выбора Select Case
Select Case выражение
[ Case список выражений
1
[блок операторов 1]
[ Case список
выражений 2
[блок операторов 2]
…
[ Case список выражений n
[блок операторов n]
[Case Else
[блок операторов n+1]
End Select
Select Case позволяет обрабатывать в программе несколько условий и аналогичен блоку конструкций if… Then…Else.
Состоит из анализируемого выражения и набора операторов Case на каждое возможное значение выражения.
Сначала вычисляется значение выражения, затем она сравнивается со значениями, заданными в операторах Case. Если найдено искомое значение, выполняются блок операторов, приписанных соответствующему Case.
Затем управление передается оператору, следующему за оператором End Select.
Слайд 40Примеры использования оператора Select Case
Dim x As Integer
x = Val(InputBox("Введите
x"))
Select Case x
Case 1 To 9
Label1.Caption = "Значение больше нуля"
Case 0
Label1.Caption = "Значение равно нулю"
Case -9 To -1
Label1.Caption = "Значение меньше нуля"
End Select
Слайд 41Циклы
Для выполнения повторяющихся действий используются циклы.
При работе с массивами типичным
алгоритмом является:
последовательный перебор элементов массива,
выполнение для каждого элемента какого-либо
действия,
прекращение перебора при достижении конца массива.
Слайд 42Операторы циклы
Так как циклические вычисления очень распространены, то в языках
программирования существуют специальные средства для организации циклических вычислений - операторы
цикла.
В Visual Basic существует несколько операторов цикла:
For … Next
Do … Loop
Слайд 43Цикл с использованием конструкции For … Next
Конструкция For … Next
выполняет последовательность команд определенное количество раз.
Синтаксис:
For параметр_цикла = начальное_знач
To конечное_знач [Step шаг]
Операторы
Next [параметр_цикла]
параметр_цикла – имя переменной, которая «считает» количество повторов.
начальное_знач – числовое значение, которое присваивается переменной – параметру цикла перед первым проходом цикла.
конечное_знач – числовое значение переменной – параметра цикла, после превышения которого выполнение цикла прерывается.
шаг – величина, на которую меняется значение параметра цикла при каждом проходе цикла (если шаг не задан, меняется на 1, может быть отрицательным).
Операторы - это тело цикла, которое выполняется несколько раз.
Слайд 44Пример использования оператора For…Next
Суммирование элементов массива:
Dim M(1 To 5) As
Single
Dim S As Single
Dim I As Integer
For I=1 To 5
Step 1
M(I) = InputBox("Введите элемент массива " & I)
Next
S = 0
For I=1 To 5
S = S + M(I) 'Этот оператор выполняется 5 раз
Next
MsgBox "Сумма элементов массива равна " & S, ,"Ответ"
Слайд 45Цикл с использованием конструкции Do … Loop
Цикл выполняется до тех
пор, пока истинно заданное в цикле условие.
Синтаксис:
Do While условие
Операторы
Loop
Условие –
логическое выражение, значение которого проверяется перед каждым проходом цикла. Цикл с предусловием – может не выполняться ни разу.
Do
Операторы
Loop While условие
Цикл с постусловием выполняется хотя бы один раз.
Слайд 46Цикл с использованием конструкции Do … Loop
Цикл выполняется до тех
пор, пока ложно заданное в цикле условие.
Синтаксис:
Do Until условие
Операторы
Loop
Условие –
логическое выражение, значение которого проверяется перед каждым проходом цикла. Цикл с предусловием – может не выполняться ни разу.
Do
Операторы
Loop Until условие
Цикл с постусловием выполняется хотя бы один раз.
Слайд 47Пример использования оператора Do…Loop
Dim M(1 To 5) As Single
Dim S
As Single
Dim I As Integer
I=1
Do While I
I<=5 - истина
M(I) = InputBox("Введите элемент массива " & I)
I=I+1
Loop
Слайд 48Примеры циклических вычислений
Вычисление факториала N! N!=1 * 2 *
3 *. . . * (N-1) * N; 0! =
1
Умножаем числа с конца к началу, используя While.
Dim N As Integer
Dim N2 As Integer
Dim Nf As Long
N = InputBox("Введите N для вычисления факториала")
N2 = N
Nf = 1
If N2 >1 Then
Do While N2>1
Nf = Nf * N2
N2 = N2 - 1
Loop
End If
MsgBox "Факториал " & N & " равен " & Nf
' с начала к концу + For
Dim N As Integer
Dim i As Integer
N = InputBox(. . . )
Nf = 1
If N >1 Then
For i = 1 To N
Nf = Nf * i
Next
End If
Слайд 49Примеры циклических вычислений
Поиск максимального элемента в массиве:
Dim M(1 To 8)
As Single, Max As Single
Dim i As Integer, iMax
As Integer
For i=1 To 8 'Step 1
M(i) = InputBox("Введите элемент массива " & i)
Next
Max = M(1)
iMax = 1
For i=2 To 8
If Max < M(i) Then
Max = M(i)
iMax = i
End If
Next
MsgBox "Максимальный элемент " & iMax
& " массива равен " & Max, ,"Ответ"
Слайд 50Процедуры и функции
Visual Basic позволяет выделить повторяющиеся, функционально законченные фрагменты
программы и сделать из них подпрограммы. Подпрограммы можно использовать без
их повторного написания и отладки, собирая из них требуемую программу.
Любая подпрограмма является процедурой или функцией.
Особенностью функции является то, что вычисленное значение подставляется вместо ее вызова.
Как правило, функция используется в правой части оператора присваивания.
Пример использования функции:
Y = Sin(X) + 8
Слайд 51Процедуры и функции
Для вызова процедуры используется оператор Call.
Пример вызова
процедуры:
Call MinMax(massiv, min, max)
Такое различие связано с тем, что, если
функция возвращает только одно значение, которое подставляется вместо вызова, то процедура может возвратить несколько значений (или ни одного), которые вместо вызова подставить невозможно. Эти значения присваиваются переменным, указанным в спиcке параметров.
В вызове функции и процедуры указываются аргументы. Список аргументов определяет данные, которые передаются в процедуру и функцию из другой программы (входные аргументы) или наоборот передаются из нее в другую программу (выходные аргументы).
Слайд 52Процедуры и функции
Синтаксис процедур и функций
Функция содержит в первой строке
ключевое слово Function и имеет вид:
Function имя_функции (список_параметров) As тип
операторы
имя_функции = выражение
End Function
Процедура содержит в первой строке ключевое слово Sub и имеет вид:
Sub имя_процедуры (список_параметров)
операторы
End Sub
Слайд 53Процедуры и функции
Процедуры Sub подразделяются на общие процедуры и процедуры
событий.
Общие процедуры – служат для размещения повторяющихся операторов, используемых процедурами
по обработке событий (разгружают процедуры событий, исключают дублирование программного кода, облегчается поддержка приложения).
Private Sub Proc(X1 as single, X2 as single, Y as single)
Процедуры обработки событий связаны с объектами (элементами управления), размещенными в формах VB. Выполняются при наступлении события, с которым они связаны.
Private Sub имяЭлементаУправления_имя события(агрументы)
Private Sub Form_Load()