Основы программирования на Visual Basic 6

Вид материалаДокументы

Содержание


Объявление типа переменной
Запись арифметических выражений на языке VB.
Строковые выражения
Логические выражения
Математические функции
Функции преобразования типов данных
Строковые функции
Алгоритм создания программы-калькулятора на языке Visual Basic.
Dim [переменная 1, переменная 2,…] As [тип переменной].
Основные типы алгоритмических структур.
Цикл со счетчиком
Цикл с предусловием (Цикл «Пока»).
Одномерные массивы
Разбор олимпиадных задач
Подобный материал:
Основы программирования на 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

Разбор олимпиадных задач

  1. Дано натуральное число. Определить, является ли разность его максимальной и минимальной цифр четным числом.


Решение на 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



  1. Известны координаты трех точек на плоскости. Если они могут являться вершинами треугольника, то определить вид этого треугольника и по формуле Герона определить его площадь.


Решение на 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



  1. Даны две фамилии. Определить какая из них длиннее. Ввод данных осуществляется в текстовый файл «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

  1. В заданном массиве из 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