Визуальное проектирование

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

Содержание


Тема Анимация в Visual Basic
Тема Работа оператора цикла с постусловием Do – Loop Until
Do – Loop Until и функциями MsgBox? InputBox
Do Until условие
Лабораторная работа № 13
Label1: aligment – center, caption – Введи 5 чисел Command1
Программный код
Private Sub Command3_Click()
Подобный материал:
1   2   3   4

Тема Анимация в Visual Basic


Цель Познакомиться с объектом Shape(фигура), его свойствоми, научиться двигать фигуру по форме

Теоретические сведения Анимация - это движение объектов. Если к свойству объекта Left добавить целое число, то данный объект сдвинется вправо на соответствующее число пикселей. Одним из главных объектов анимации является Timer

Задание

Входим в VB, нажимаем Standart EXE. Имя проекта Лаб_10. Имя формы – движение в программе цвет формы – оранжевый. На форму помещаем 2 кнопки со свойством Caption равным «Пуск» и «Стоп», 1 Shape(фигура) со свойством Shape равным 3 - Circle(Круг), и свойствами BackStyle равным 1 - Opaque(для закраски фигуры), BorderColor и FillColor – красный. В верхней части формы помещаем 3 Timera со свойством Interval равным 1(это время через которое Timer будет обновляться (мл)), и свойством Enabled равным False(ложь), чтобы выключить Timer, а чтоб включить таймер тебе надо в свойстве Enabled поставить True(И это свойство есть у всех объектов, даже у текстового поля). В результате должна получиться такая форма:

Текст программы:

Dim a As Integer

Private Sub Command1_Click()

Timer1.Enabled = True

Timer3.Enabled = True

End Sub

Private Sub Command2_Click()

Timer1.Enabled = False

Timer3.Enabled = False

Timer2.Enabled = False

Shape1.Left = a

End Sub

Private Sub Timer1_Timer()

Shape1.Left = Shape1.Left + 25 ' Каждую мл Shape1 будет сдвигаться вправо на 25

a = Shape1.Left

End Sub

Private Sub Timer2_Timer()

Shape1.Left = Shape1.Left - 25 ' Каждую мл Shape1 будет сдвигаться влево на 25

a = Shape1.Left

End Sub

Private Sub Timer3_Timer()

If Shape1.Left <= 0 Then 'Если Shape1.Left <= -400(отскок от левой стенке) то

Timer1.Enabled = True ' Timer1 включается

Timer2.Enabled = False ' Timer2 выключается

End If

If Shape1.Left >= 4400 Then 'Если Shape1.Left <= -400(отскок от правой стенке) то

Timer2.Enabled = True ' Timer2 включается

Timer1.Enabled = False ' Timer1 выключается

End If

End Sub

Лабораторная работа № 11

Тема Работа оператора цикла с постусловием Do – Loop Until

Цель Научиться создавать циклические программы, работать с оператором цикла

Do – Loop Until и функциями MsgBox? InputBox

Теоретические сведения Циклический алгоритм содержит блок операторов, повторяющихся многократно. В цикле с постусловием сначала выполняются операторы тела цикла, а затем проверяется условие выхода из цикла. Повторения будут продолжаться до тех пор, пока условие остается ложным. Формат оператора:


Do Until условие

Операторы

Loop

или Операторы выполняются, пока условие ложно

Do

Операторы

Loop Until условие

Задание Создать программу, которая складывает числа до тех пор, пока не будет введен 0.

Входим в VB, нажимаем Standart EXE. Имя проекта Лаб_11. Имя формы – Сложение чисел, цвет формы – светло желтый. На форму помещаем 2 кнопки со свойством Caption – Ввод и Сброс, цвет 1-й кнопки – бледно розовый, 2-й кнопки - оранжевый, у обеих свойство Style – Graphical. Кроме того, помещаем на форму текстовое окно со свойствами: выравнивание – по ценру, цвет фона бледно розовый, размер шрифта – 24, начертание – жирный, цвет шрифта – темно зеленый, Text – пусто.

В результате получаем форму:

Программный код:

Dim a, b, c, d As Integer

Private Sub Command1_Click()

Do

b = Val(Text1.Text)

a = Val(InputBox("Введи число"))

c = a + b

Text1.Text = Str(c)

Loop Until a = 0

d = MsgBox("Завершение работы", 36, "Выход")

If d = 6 Then Unload Me ‘Unload Me – выход из программы

End Sub


Private Sub Command2_Click()

Text1.Text = ""

a = 0

b = 0

c = 0

End Sub


Private Sub Form_Load()


End Sub

Лабораторная работа № 13

Тема Работа с одномерным массивом

Цель Научиться работать с массивами информации, представленными в виде линейной таблицы

Теоретические сведения Массив – это набор переменных одного типа. Одномерный массив представляет собой линейную таблицу. Количество элементов в массиве называется размерностью. Индекс элемента массива (его порядковый номер в упорядоченной последовательности) указывается в круглых скобках после имени массива. Отсчет начинается с 0. Массив должен быть описан.

Описание Dim arrCode(10) As Integer задает массив целых чисел из 11 элементов с именем arrCode.

Задание Создайте новый проект с именем «Одномерный_массив».

Создайте форму, как на рисунке.

Свойства объектов:

Label1: aligment – center, caption – Введи 5 чисел

Command1: caption – Ввод

Command2: caption – Сумма элементов,

enabled – false

Command3: caption – min max, enabled – false

Command4: caption – Обмен, enabled – false

Command5: caption – Сброс, enabled – false

Label2: aligment – center, caption – пусто,

visible – false

Label3: aligment – center, caption – пусто, visible – false

Программный код:

Dim M(4) As Integer

Dim s As String

Dim i, k, p As Integer

Private Sub Command1_Click() 'Заполнение массива

Label3.Visible = False

Label2.Caption = ""

For i = 0 To 4 Step 1

M(i) = InputBox("Заполнение массива", "Ввод")

Next i

s = ""

For i = 0 To 4 Step 1

s = s + " " + Str(M(i))

Next i

MsgBox s, 64, "Одномерный массив"

i = MsgBox("Завершение работы", 36, "Выход и программы")

If i = 6 Then Unload Me

Command2.Enabled = True

Command3.Enabled = True

Command5.Enabled = True

Label1.Caption = ""

Label2.Caption = s

Label2.Visible = True

Command4.Enabled = False

End Sub

Private Sub Command2_Click() 'Вычисление суммы элементов массива

Dim sum As Integer

sum = 0

s = ""

For i = 0 To 4 Step 1

sum = sum + M(i)

s = s + Str(M(i))

If i < 4 Then s = s + " + " Else s = s + " = "

Next i

MsgBox "Сумма элементов равна " + Str(sum), 64, "Одномерный массив"

Command4.Enabled = False

s = s + Str(sum)

Label2.Caption = s

i = MsgBox("Завершение работы", 36, "Выход и программы")

If i = 6 Then Unload Me

End Sub

Private Sub Command3_Click() 'Нахождение мынимального и максимального значений

Dim min, max As Integer

min = M(0): max = M(0)

For i = 1 To 4 Step 1

If min > M(i) Then min = M(i): k = i

If max < M(i) Then max = M(i): p = i

Next i

MsgBox "min=" + Str(min) + vbCrLf + "max=" + Str(max), 64, "Max & Min"

i = MsgBox("Завершение работы", 36, "Выход и программы")

If i = 6 Then Unload Me

Label2.Caption = s + " " + " min=" + Str(min) + " max=" + Str(max)

Command4.Enabled = True

End Sub

Private Sub Command4_Click() 'Обмен

Dim buf As Integer

buf = M(k)

M(k) = M(p)

M(p) = buf

s = ""

For i = 0 To 4 Step 1

s = s + " " + Str(M(i))

Next i

Label3.Caption = s

Label3.Visible = True

i = MsgBox("Завершение работы", 36, "Выход и программы")

If i = 6 Then Unload Me

End Sub

Private Sub Command5_Click() 'Сброс

Command2.Enabled = False

Command3.Enabled = False

Command4.Enabled = False

Command5.Enabled = False

Label2.Visible = False

Label3.Visible = False

End Sub