Основы программирования на Visual Basic 6
Вид материала | Документы |
- Краткий курс по изучению языка программирования Visual Basic, 357.37kb.
- Н. Г. Волчёнков программирование на visual basic 6 Учебное пособие, 128.99kb.
- Предлагаемая программа ориентирована на изучение языка программирования Visual Basic, 95.46kb.
- Язык Visual Basic имеет разнообразные средства визуализации разрабатываемых приложений., 41.17kb.
- Даний курс призначений для тих, хто: ніколи не програмував, але хоче навчитися, 360.9kb.
- Тематическое планирование учебного времени раздела «Введение в программирование» (15, 68.18kb.
- Редактора Visual Basic Для записи текста программы необходимо создать модуль: Меню, 465.2kb.
- Visual Basic Основы работы с базами данных, 1336.88kb.
- Лекция Основы программирования Эта лекция введение в Visual Basic for Applications,, 208.31kb.
- Тема урока: Массивы в Visual Basic, 35.5kb.
Основы программирования на Visual Basic 6.0
Переменные используют для хранения и обработки данных в программе. Переменным присваивают имена, определяющие область ОЗУ, в которой хранятся значения переменных.
Имя переменной может состоять из цифр, латинских и русских букв, должно обязательно начинаться с буквы и не должно содержать точку «.». Количество символов должно быть не более 255.
Например, digA =55, strB =“word”, лог2 =true
Типы переменных определяют диапазоны значений, которые могут принимать переменные.
Тип | Возможные значения |
Byte | Целые неотрицательные числа от 0 – 255 |
Integer | Целые числа от -32768 до 32767 |
Long | Целые числа от -2147483648 до 2147483648 |
Single | Десятичные числа одинарной точности от -1,4*10-45 до 3,4*1038 |
Double | Десятичные числа двойной точности от -5*10-324 до 1,7*10308 |
Boolean | Логическое значение true или false |
String | Строка символов |
Date | Дата от 1 января 100 г. до 31 декабря 9999 г. |
Currency | Число в денежном формате |
Variant | Любые значения |
Объявление типа переменной
Для объявления типа переменной используют оператор определения переменной Dim:
Dim [Имя] As [Тип]
Например, Dim A As Byte.
Запись арифметических выражений на языке VB.
Арифметическая запись | Запись на VB | Описание |
x+7 | x+7 | Сложение |
x-15 | x-15 | Вычитание |
5x | 5*x | Умножение |
x:y | x/y | Деление |
yx | yx | Возведение в степень |
| x\y | Целочисленное деление без округления, например, 5\2=2, а не 5/2=2,5 |
5(x+12y):2 | 5*(x+12*y)/2 | Сложные выражения подчиняются тому же порядку выполнения арифметических операций, как и в математике. |
Строковые выражения
Строками являются любые последовательности символов, заключенные в кавычки.
Например,
”привет”,”256”,”2*2”
При сложении таких строк осуществляется операция конкатенации (соединения).
Например, ”Рок”+”кот”=Роккот
”25”+”три”=25три
Логические выражения
Логическое выражение | Запись на VB | Описание |
> | > | Больше |
< | < | Меньше |
= | = | Равно |
≥ | >= | Больше или равно |
≤ | <= | Меньше или равно |
& | And | И |
V | Or | ИЛИ |
Искл. ИЛИ | Xor | Исключающее ИЛИ |
→ | Imp | Импликация |
↔ | Eqv | Эквивалентность |
Математические функции
Функция | Описание |
Z = x Mod y | Остаток от деления x и y |
Abs(x) | |x|, модуль числа x |
Sqr(x) | √x, квадратный корень числа x |
Exp(x) | ex, экспоненциальная функция, e≈2,7 |
Round(x,a) | Округление числа x с точностью до a десятичных знаков |
Rnd(x) | Датчик случайных чисел в интервале [0…1] |
Sin(x) | Синус |
Cos(x) | Косинус |
Tan(x) | tg(x), тангенс |
Atn(x) | Arctg(x), арктангенс |
Log(x) | Ln(x), натуральный логарифм |
Например,
Функции преобразования типов данных
Функция | Описание |
Val (строка$) | Преобразование значения строки в десятичное число. Например, Val(2000$)=2000 |
Str (число) | Возвращает строку, представляющую число. Преобразование десятичного числа в строковую форму. Например, Str(2000) = 2000$ или Str(10) + Str(20) = 10 20 (вывод через пробел) |
CStr (число) | Возвращает значение типа String. Например, CStr(10) + CStr(20)=1020 |
Oct (число) | Преобразование десятичного числа в восьмеричное число в строковой форме. Например, Oct(2000)=3720$ |
Hex (число) | Преобразование десятичного числа в шестнадцатеричное число в строковой форме. Например, Hex(2000)=H7D0$ |
Asc(строка$) | Преобразование строки в числовой код по таблице кодировки первого символа. Например, Asc(ж)=230; Asc(жар)=230. |
Chr (число) | Преобразование числа в соответствующий ему символ (обратная операция Asc). Например, Chr(100)=d. |
Строковые функции
Функция | Описание |
Left (строка$,d) | Вырезает левую подстроку длиной d. Например, Left (“килобайт”,4) = кило. |
Right (строка$, d) | Вырезает правую подстроку длиной d. Например, Right (“килобайт”,4) = байт. |
Mid (строка$,p, d) | Вырезает произвольную подстроку длиной d, начиная с позиции p. Например, Mid (“информатика”, 3, 5) = форма. |
Len (строка$) | Определяет длину строки. Например, Len (машина) = 6. |
Алгоритм создания программы-калькулятора на языке Visual Basic.
1). Создать графический интерфейс. Расположить на форме столько текстовых полей ввода (TextBox), сколько переменных (исходных данных) требуется ввести по условию задачи (на картинке это два поля Text1 и Text2) и столько полей вывода, сколько потребуется для вывода решения задачи (на рисунке одно поле вывода Text3). Добавить командную кнопку, щелкнув на которой будет происходить обработка введенных данных.
2). Этап программирования. Двойной щелчок по командной кнопке ввода кода.
а) объявить тип переменных с помощью оператора Dim:
Dim [переменная 1, переменная 2,…] As [тип переменной].
б) Осуществить ввод исходных данных из текстовых окон Text1, Text2, …:
[Переменная 1] = Val(Text1.Text) (или просто Text1.Text, если в поле будут вводится не только цифры).
[Переменная 2] = Val(Text2.Text)
…
в) Записать математические выражения и уравнения на языке Visual Basic.
[Переменная 3] = [ваше матем. выражение].
Здесь же могут применяться различные алгоритмические структуры (условия и циклы).
г) Осуществить вывод результатов в текстовые поля:
Text3.Text = [Переменная 3].
…
(Обратите внимание: переменные и текстовые поля меняется местами в записи вывода).
3). Протестировать вашу программу на работоспособность, т.е. запустить на выполнение:
Run.
Основные типы алгоритмических структур.
1. Ветвление.
А) Полная команда ветвления:
…
If [условие] Then
[оператор 1]
Else
[оператор 2]
End If
…
Б) Неполная команда ветвления:
…
If [условие] Then
[оператор 1]
End If
…
В) Многовариантная команда ветвления:
…
If [условие 1] Then
[оператор 1]
ElseIf [условие 2] Then
[оператор 2]
ElseIf [условие 3] Then
[оператор 3]
Else
[оператор 4]
End If
…
2. Цикл со счетчиком
For Счетчик = Нач. знач. To Кон. знач. [step шаг]
Тело цикла
Next [Счетчик]
Например, дан фрагмент цикла со счетчиком:
For i=1 To 10
Print «Линия»
Next i
Результат: на форму выведется 10 раз подряд слово «Линия».
3. Цикл с предусловием (Цикл «Пока»).
Применяется в том случае, когда нужно какие-либо операции исполнить несколько раз пока условие не станет ложным.
Запись на языке Visual Basic:
Do While [условие]
[Тело цикла]
Loop
4 . Одномерные массивы
i = 0 1 2 3 4
5 | 7 | -5 | 4 | 2 |
Массив А состоит из 5 элементов. Индекс элемента (i) записывается в круглых скобках после
имени данного массива. Например, при i=1, А(i) = А(1) = 7
Объявление массива
Dim A(9) As Byte
Dim arrB(1 To 1000) As Integer.
В первом случае нумерация индексов i начинается с нуля. Во втором – начинается с единицы.
Например.
Dim A(1 To 10) as Integer
Dim i as Byte
For i = 1 To 10
A(i) = i2
Text1.Text = Text1.Text + CStr(A(i))
Next
Ответ: 149162536496481100
5. Двумерные массивы.
Объявление:
Dim A(1 To 9, 1 To 9) As Byte
Dim B (9,9) As Byte.
Например.
n k | 1 | 2 | 3 | 4 | 5 |
1 | 2 | 3 | 4 | 5 | 6 |
2 | 3 | 4 | 5 | 6 | 7 |
3 | 4 | 5 | 6 | 7 | 8 |
4 | 5 | 6 | 7 | 8 | 9 |
5 | 6 | 7 | 8 | 9 | 0 |
Разбор олимпиадных задач
- Дано натуральное число. Определить, является ли разность его максимальной и минимальной цифр четным числом.
Решение на Visual Basic:
Dim digA, i, f, f1, f2, s As Integer
digA = Text1 'считывание числа
'Поиск минимальной цифры
fmin = Mid(digA, 1, 1) 'Пусть минимальная цифра для начала равна первой цифре числа
For i = 1 To Len(digA) 'Организуем цикл, который зависит от длины числа
f = Mid(digA, i, 1)
If f <= fmin Then
fmin = f
End If
Next i
'Поиск максимальной цифры числа
fmax = Mid(digA, 1, 1)
For i = 1 To Len(digA)
f = Mid(digA, i, 1)
If f >= fmax Then
fmax = f
End If
Next i
s = fmax - fmin 'разность максимальной и минимальной цифр числа.
Text3 = s 'вывод на экран разницы.
If s = 0 Then
Text2 = "это нуль"
ElseIf s Mod 2 = 0 Then 'Если остаток от деления равен нулю, то число четное.
Text2 = "Чет"
Else
Text2 = "нечет"
End If
- Известны координаты трех точек на плоскости. Если они могут являться вершинами треугольника, то определить вид этого треугольника и по формуле Герона определить его площадь.
Решение на Visual Basic:
Dim x1, x2, x3, y1, y2, y3 As Double
x1 = Text1
x2 = Text3
x3 = Text5
y1 = Text2
y2 = Text4
y3 = Text6
lac = Sqr((x3 - x1) 2 + (y3 - y1) 2)
lab = Sqr((x2 - x1) 2 + (y2 - y1) 2)
lbc = Sqr((x3 - x2) 2 + (y3 - y2) 2)
If lac < lab + lbc And lab < lac + lbc And lbc < lac + lab Then
Text7 = "Это треугольник"
Else: Text7 = "Это точка или линия"
End If
If lab = lbc = lac Then
Text8 = "Равносторонний"
ElseIf lab = lac Or lab = lbc Or lbc = lac Then
Text8 = "Равнобедренный"
Else: Text8 = "Все стороны разные"
End If
If Text7 = "Это точка или линия" Then
Text8 = ""
End If
p = (lab + lac + lbc) / 2
S = Sqr(p * (p - lab) * (p - lac) * (p - lbc))
Text9 = S
Text10 = lab
Text11 = lac
Text12 = lbc
- Даны две фамилии. Определить какая из них длиннее. Ввод данных осуществляется в текстовый файл «input.txt», а вывод в файл «output.txt».
Решение на Visual Basic:
Open "input.txt" For Input As #1
Input #1, a, b
Close #1
If Len(a) > Len(b) Then
Open "Output.txt" For Output As #2
Print #2, a
ElseIf Len(a) < Len(b) Then
Open "Output.txt" For Output As #2
Print #2, b
Else
Open "Output.txt" For Output As #2
Print #2, "одинаковые:", a, b
End If
Close #2
- В заданном массиве из N элементов есть хотя бы один нуль. Вычислить произведение элементов массива до первого нуля.
Решение на Visual Basic:
Dim n, arr As Double
n = 1
arr = 1
Do While arr <> 0
arr = InputBox("Введите элемент массива", "Ваша цифра")
If arr = 0 Then
Exit Do
End If
Text2 = arr * n
n = arr * n
Loop