Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Практическая часть. Пример №1. Нарисовать флаг Алжира



Пример №1. Нарисовать флаг Алжира.

Private Sub Form_Load()

Dim Z As New star 'Описываем новый объект на базу класса Star

Const pi = 3.1415926

AutoRedraw = True

Caption = "ФлагАлжира"

X1 = CurrentX + 100

Y1 = CurrentY + 100 'Размеры флага внутри окна формы

X2 = ScaleWidth - 100

Y2 = ScaleHeight - 100

ForeColor = RGB(255, 255, 255) 'Белый цвет

Line (X1, Y1)-(X2, Y2),, BF

ForeColor = RGB(0, 255, 0) 'Зеленый цвет

x3 = X2 / 2

y3 = Y2 / 2

Line (X1, Y1)-(x3, Y2),, BF

ForeColor = RGB(255, 0, 0) 'Красный цвет

For a! = 1 To 1.6 Step 0.01 'Рисуем полумесяц

Circle (x3 + 400, y3), 900,, pi / 2, 3 * pi / 2, a

Next

'Рисуем звезду из модуля Star1.dll

Call Z.Zvezda(x3 + 300, y3, 350, 150, 5, 0, ForeColor, Form1)

ForeColor = RGB(0, 0, 0) 'Black

DrawWidth = 3 'Ширина

FillStyle = 1 'прозрачный фон

Line (X1, Y1)-(X2, Y2),, B 'Обводим

End Sub

Комментарии к программе.

Программа содержит ряд стандартный процедур и функций для рисования, но имеется и внешняя процедура Zvezda, которая описана в классе Star, находящемся в библиотеке Star1.dll. Для установления связи с библиотекой Star1.dll необходимо воспользоваться командой Project\References\кнопка Browse для поиска библиотеке на диске. Отыскав библиотеку на диске необходимо поставить в окне References около нее флажок. Формат процедуры сделующий.

Zvezda (<x>,<y>,<Rmax>,<Rmin>,<n>,<angle>,<Color>,<Object>) – рисует звезду в координатах x и y объекта Object, большим Rmax и малым Rmin радиусами, с количеством вершин n, имеющей угол базовой вершины angle относительно оси абцисс, цветом Color.

Пример №2. Отобразить в окне формы изменения двух графиков:

в диапазонах xÎ[-10…10], аÎ[0,1…1], bÎ[0…2], cÎ[0…2p].

Const pi = 3.1415926

Dim a As Single, b As Single, c As Single, x As Single

Private Sub Form_Load()

Picture1.Scale (-11, 1.1)-(11, -1.1)

MsgBox "Установите значения параметров и" _

& " щелкните в графическом окне", vbInformation, "Начало работы"

Text1.Text = Hs1.Value

Text2.Text = HS2.Value

Text3.Text = HS3.Value

End Sub

Private Sub Hs1_Change()

Text1.Text = Hs1.Value

End Sub

Private Sub HS2_Change()

Text2.Text = HS2.Value

End Sub

Private Sub HS3_Change()

Text3.Text = HS3.Value

End Sub

Private Sub Picture1_Click()

For x = -10 To 10 Step 0.01

Picture1.PSet (x, a * Sin(x) * Atn(x)), BackColor

Picture1.PSet (x, a * Sin(b * x - c)), BackColor

Next x

Picture1.DrawWidth = 2

Picture1.Line (-11, 0)-(11, 0)

Picture1.Line (0, 1.1)-(0, -1.1)

Picture1.DrawWidth = 1

Picture1.DrawStyle = 2 'Пунктир

For x = -10 To 10 Step 1 'Вертикальные оси

Picture1.Line (x, -1)-(x, 1)

Next x

For x = 1 To -1.1 Step -0.1 'Горизонтальные оси

Picture1.Line (-10, x)-(10, x)

Next x

a = 0.01 * Hs1.Value

b = 0.01 * HS2.Value

c = pi * HS3.Value / 180

Picture1.DrawWidth = 2

For x = -10 To 10 Step 0.01

Picture1.PSet (x, a * Sin(x) * Atn(x)), vbGreen

Picture1.PSet (x, a * Sin(b * x - c)), vbRed

Next x

End Sub

Пример №3. Анимация сообщения с использованием управляющего элемента Timer.

Dim s As String, x As Long, y As Long, w As Long

Private Sub Form_Load()

Timer1.Interval = 10

Timer1.Enabled = False

s = "Я хочу отдохнуть"

w = ScaleWidth - 100

x = 0

y = ScaleHeight / 2 - 200

Font.Bold = True

Font.Size = 14

Font.Name = "Arial"

End Sub

Private Sub Command1_Click()

CurrentX = x

CurrentY = y

ForeColor = QBColor(0)

Print s

Timer1.Enabled = True

End Sub

Private Sub Timer1_Timer()

CurrentX = x

CurrentY = y

ForeColor = BackColor

Print s

x = x + 30

If x < w Then

CurrentX = x

CurrentY = y

ForeColor = QBColor(0)

Print s

Else

x = 0

End If

End Sub

Пример №4. Анимация движения объекта (шарика) с использованием управляющего элемента Timer и метода MoveTo.

Dim h1 As Integer, h2 As Integer

Dim x As Integer, y As Integer

Private Sub Command1_Click()

x = Shape1.Left + h1

y = Shape1.Top + h2

Timer1.Enabled = True ‘ Запуск таймера

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Form_Load()

Timer1.Interval = 10

Timer1.Enabled = False

Shape1.Shape = 3 'Circle - фигура

Shape1.FillStyle = 0 'Сплошная заливка

Shape1.FillColor = vbBlue 'Синий цвет заливки

Shape1.BorderColor = vbWhite 'Белый цвет контура

h1 = 50: h2 = 50 ‘ Шаг по х и у

End Sub

'Следующая процедура выполняется через равные промежутки времени:

Private Sub Timer1_Timer()

Shape1.Move x, y

'Определить следующую точку

x = x + h1

y = y + h2

If x > ScaleWidth - Shape1.Width Or x < 0 Then h1 = -h1

If y > ScaleHeight - Shape1.Height Or y < 0 Then h2 = -h2

End Sub

Пример №5. Построить спираль вокруг начала координат с размахом N и внешним радиусом R. Начальное направление спирали образует с осью X угол 0 градусов. Параметры А и N вводятся с клавиатуры. Параметрическое представление спирали: X=R*Cos(t); Y=R*Sin(t); R=t * A; 0<=t<=2Nπ.

Const pi = 3.1415926

Dim n As Integer, h As Integer

Private Sub Command1_Click()

Call Спираль

End Sub

Private Sub Form_Load()

Randomize

Caption = "Спираль"

AutoRedraw = True

WindowState = 0 '0->Normal screen, 2->Full screen

n = InputBox("Введите количество витков",, 10)

h = InputBox("Введите шаг спирали",, 25)

End Sub

Private Sub Спираль()

xr = ScaleWidth / 2

yr = ScaleHeight / 2

CurrentX = xr

CurrentY = yr

DrawWidth = 3

k! = pi / 100

For t = 0 To 2 * pi * n Step k

c& = QBColor(Rnd * 15)

r = t * h

x! = r * Cos(t)

y! = r * Sin(t)

Line -(x + xr, y + yr), c

Next

End Sub

Варианты заданий

1. Построить график функции , где аргумент меняется на отрезке
[A, -1]. Значение параметра А меняется с помощью полоски скроллинга в диапазоне [-10, -3].

2. Построить график функции , где аргумент меняется на отрезке
[0, 2π]. Значение параметров А и С меняются с помощью полосок скроллинга в диапазонах соответственно [1, 10] и [-π/2, π /2].

3. Построить график функции , где аргумент меняется на отрезке [A, 10]. Значение параметра А меняется с помощью полоски скроллинга в диапазоне
[-10, 0].

4. Построить график функции , где аргумент меняется на отрезке
[-10, A]. Значение параметра А меняется с помощью полоски скроллинга в диапазоне [0, 10].

5. Построить график функции , где аргумент меняется на отрезке [-1, 1]. Значение параметров А и С меняются с помощью полосок скроллинга в диапазонах соответственно [1, 10] и [π/2, 3π/2].

6. Построить график функции , где аргумент меняется на отрезке [-1, 1]. Значение параметров А, С и D меняются с помощью полосок скроллинга в диапазонах соответственно [1, 10], [0, π] и [0, 2π].

7. Построить график функции , где аргумент меняется на отрезке [-5, 5]. Значение параметров А и С меняются с помощью полосок скроллинга в диапазонах соответственно [1, 10], [0, 2π].

8. Построить график функции , где аргумент меняется на отрезке [-5, 5]. Значение параметров А, B, С, D и E меняются с помощью полосок скроллинга в диапазонах соответственно [1, 5], [-3, 3], [0, π], [-1, 1] и [0, 2π].

9. Построить график функции , где аргумент меняется на отрезке [-5, 5]. Значение параметров А, B и С меняются с помощью полосок скроллинга в диапазонах соответственно [1, 5], [-3, 3] и [0, 2π].

10. Построить кардиоиду по заданному параметрическому представлению, используя для параметра а полоску скроллинга

11. Построить эпициклоиду по заданному параметрическому представлению, используя для параметров а и b полоски скроллинга

12. Построить лемнискату по уравнениям в полярных координатах (ρ - радиус вектор; f - угол), используя для параметра a полоску скроллинга

13. Построить спираль вокруг начала координат с размахом N (количество витков) и внешним радиусом R. (Для параметров A и N используйте полоски скроллинга). Начальное направление спирали образует с осью X угол 0 градусов. Параметрическое представление спирали

.

14. Построить улитку Паскаля, заданную параметрически:

Параметры а и b задаются с помощью полосок скроллинга.

15. Нарисовать кривую (астроиду), заданную параметрически:

Параметр b задается с помощью полоски скроллинга.

16. Нарисовать кривую (конхоиду Никомеда), заданную параметрически:

Параметры а и b задаются с помощью полосок скроллинга.

17. Нарисовать кривую (цисоиду), заданную параметрически:

Параметры а и t задаются с помощью полосок скроллинга.

18. Нарисовать кривую (строфоиду), заданную параметрически:

Параметры а и t задаются с помощью полосок скроллинга.

19. Организуйте процесс появления из центра экрана строки текста "Я хочу отдохнуть!". Строка увеличивается до границ полной формы. Цвет строки меняется при каждом новом цикле ее появления.

20. Организуйте процесс появления строки текста "Я хочу отдохнуть!" в случайных координатах полноэкранной формы. Цвет строки меняется при каждом ее появления.

21. Осуществите линейное перемещение окружности заданного радиуса отражением ее от сторон формы. При этом цвет окружности должен меняться по случайному законы при соударении со сторонами формы.

22. Осуществите вращение эллипса относительно его центра. Законы преобразования координат при повороте осей на угол t имеют вид:

где x1,y1 - текущие координаты точки.

23. Осуществите перемещение прямоугольника и эллипса вдоль окружности заданного радиуса R. У прямоугольника в процессе перемещения меняется тип шриховки, а у эллипса – цвет сплошной заливки.

Контрольные вопросы

Какие графические объекты позволяют выводить графику?

Как переместить графический указатель в заданную точку графического объекта?

Перечислите способы загрузки графических файлов в объекты Графическое Поле и Изображение?

Назовите способы анимации графических элементов?

Перечислите способы заливки графических элементов?

Список литературы

Литвиненко Т.В. Visual Basic. Учебное пособие для вузов. М.- Горячая линия Телеком, 2001 г.

Волченков Н.Г. Программирование на Visual Basic 6. Учебное пособие. Кн.2. М.:Инфра_М, 2002 г.

Карпов Б. Visual Basic 6. Специальный справочник. СПб.:Питер,2000.- 416с.


Составители: ЛЕБЕДЕВ Валерий Александрович,

ОСИПОВА Галина Витальевна,

КУЗЬМИНА Елена Алексеевна

ПРАКТИКУМ ПРОГРАММИРОВАНИЯ
В СИСТЕМЕ VISUAL BASIC

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к лабораторным работам по дисциплине

"Информатика"

Подписано в печать 27.09.2004. Формат 60х84 1/16.

Бумага офсетная.Печать плоская. Гарнитура Times New Roman.

Усл. печ.л. 3,7. Усл. кр.- отт. 3,7. Уч.-изд.л. 3,6.

Тираж 150 экз. Заказ №

ГОУВПО Уфимский государственный авиационный технический университет

Редакционно-издательский комплекс УГАТУ

450000, Уфа-центр, К. Маркса,12

ПРАКТИКУМ ПРОГРАММИРОВАНИЯ
В СИСТЕМЕ VISUAL BASIC

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к лабораторным работам по дисциплине

"Информатика"

Разрешается в печать:

Уфа 2004





Дата публикования: 2014-12-28; Прочитано: 455 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.021 с)...