Вход

Разработка и стандартизация програмных средств и информационных технологий

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 139711
Дата создания 2008
Страниц 48
Источников 3
Мы сможем обработать ваш заказ (!) 19 апреля в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
2 000руб.
КУПИТЬ

Фрагмент работы для ознакомления

В отчёте привести список объектов интерфейса и их назначение.
При нажатии на кнопку cmdGo1 в окне Picture1 рисуется матрица окружностей с радиусом, заданным в тексте программы.
При нажатии на кнопку cmdGo2 в окне Picture2 рисуется матрица окружностей с радиусом, который генерируется с помощью датчика случайных чисел.
При нажатии на кнопку cmdGo1 в окне Picture1 рисуется матрица окружностей с радиусом, выбранным в выпадающем списке Combo1. Метка lblInstruct1 поясняет назначение выпадающего списка.
Добиться работоспособности программы. Привести в отчёте смысл сделанных изменений и код из модуля формы.
В функции Matrix необходимо указать, для каких объектов вызываются методы рисования:
Sub Matrix1()
Form1.Picture1.Cls
Form1.Picture1.Scale (0, 0)-(6, 5)
For i = 1 To 5
For j = 1 To 3
Form1.Picture1.Circle (i, j), 0.35, 0
Next j
Next i
End Sub
Задать радиусу окружностей отрицательное значение. Объяснить результат.
Задавая отрицательное значение радиусу окружностей, получим ошибку во время выполнения подпрограммы Matrix:
Радиус окружности не может быть отрицательным числом.
Задать случайный выбор радиуса в диапазоне от 0,1 до 0,5 при рисовании каждой окружности матрицы (функция Rnd).
radius = Rnd / 2
Добавить на форму комбинированный список ComboBox. Создать в нём список радиусов окружностей. Для очередного построения матрицы окружностей пользователь должен выбирать значение из списка.
radius = Form1.Combo1.Text
Текст программы:
Option Explicit
Private Sub cmdGo1_Click()
Matrix1
End Sub
Private Sub cmdGo2_Click()
Matrix2
End Sub
Private Sub cmdGo3_Click()
Matrix3
End Sub
Sub Matrix1()
Form1.Picture1.Cls
Form1.Picture1.Scale (0, 0)-(6, 5)
For i = 1 To 5
For j = 1 To 3
Form1.Picture1.Circle (i, j), 0.35, 0
Next j
Next i
End Sub
Sub Matrix2()
Form1.Picture2.Cls
Form1.Picture2.Scale (0, 0)-(6, 5)
For i = 1 To 5
For j = 1 To 3
radius = Rnd / 2
Form1.Picture2.Circle (i, j), radius, 0
Next j
Next i
End Sub
Sub Matrix3()
Form1.Picture3.Cls
Form1.Picture3.Scale (0, 0)-(6, 5)
radius = Form1.Combo1.Text
For i = 1 To 5
For j = 1 To 3
Form1.Picture3.Circle (i, j), radius, 0
Next j
Next i
End Sub
Лабораторная работа 2.4. Циклы
Задание 2.4.2. Рисование треугольников
Разработать интерфейс пользователя. Привести в отчёте список объектов интерфейса и их назначение.
При нажатии на кнопку cmdGo в окно Picture1 выводятся треугольники способом, который задан в выпадающем списке Combo1. В текстовом поле txtIn может быть задано количество рядов при выводе треугольников.
Добавить возможность рисования треугольников в столбик (не удаляя предыдущий вариант работы программы). В отчёте описать смысл изменений.
В цикле изменяется координаты y точек, а координаты x для всех треугольников остаются неизменными.
В отчёте привести алгоритм расчёта координат вершин треугольников.
Вычисление координат вершин треугольника пояснено на рисунке:
Координаты x, y верхнего левого угла квадрата, в который вписан треугольник, изменяются в цикле (или изменяется одна из них, а вторая остается постоянной, в зависимости от того, какой способ вывода треугольников выбран). Координаты вершин треугольника вычисляются с использованием x, y как показано на рисунке.
Добавить возможность рисования треугольников матрицей 3 х 3. В отчёте описать смысл изменений.
В цикле изменяются и координата x, и координата y. Это организовано с помощью вложенных циклов.
Изменить программу так, чтобы пользователь мог задавать количество треугольников и способ их вывода (в строку, в столбец или матрицу). В отчёте описать смысл изменений и привести иллюстрации.
Добавлен выпадающий список, в котором можно выбрать способ вывода треугольников. Также добавлено текстовое поле, в котором вводится размер столбца, строки или матрицы.
Примеры вывода треугольников:
Добавить возможность рисования треугольников «треугольником»: в первом ряду – 1 треугольник, во втором – 2 и т. д. Пользователь должен задавать количество рядов фигур. В отчёте описать смысл изменений и иллюстрации результатов.
Во вложенных циклах изменяются и координата x, и координата y, как и в случае матрицы. Отличие состоит в том, что количество изменений координаты x в каждой строке равно номеру строки.
Пример результатов работы:
Текст программы:
Private Sub cmdGo_Click()
Select Case Combo1.ListIndex
Case 0
Row
Case 1
Column
Case 2
Matrix
Case 3
Triangle
End Select

End Sub
Private Sub Form_Load()
Combo1.ListIndex = 0
End Sub
Sub Row()
Form1.Picture1.Cls
n = Val(Form1.txtIn)
Wid = n * 3 + 1
Heig = n * 3 + 1
Form1.Picture1.Scale (0, 0)-(Wid, Heig)
For i = 1 To n
x = i * 3 - 2
y = 1
Form1.Picture1.Line (x, y + 2)-(x + 2, y + 2)
Form1.Picture1.Line -(x + 1, y)
Form1.Picture1.Line -(x, y + 2)
Next i
End Sub
Sub Column()
Form1.Picture1.Cls
n = Val(Form1.txtIn)
Wid = n * 3 + 1
Heig = n * 3 + 1
Form1.Picture1.Scale (0, 0)-(Wid, Heig)
For j = 1 To n
x = 1
y = j * 3 - 2
Form1.Picture1.Line (x, y + 2)-(x + 2, y + 2)
Form1.Picture1.Line -(x + 1, y)
Form1.Picture1.Line -(x, y + 2)
Next j
End Sub
Sub Matrix()
Form1.Picture1.Cls
n = Val(Form1.txtIn)
Wid = n * 3 + 1
Heig = n * 3 + 1
Form1.Picture1.Scale (0, 0)-(Wid, Heig)
For j = 1 To n
For i = 1 To n
x = i * 3 - 2
y = j * 3 - 2
Form1.Picture1.Line (x, y + 2)-(x + 2, y + 2)
Form1.Picture1.Line -(x + 1, y)
Form1.Picture1.Line -(x, y + 2)
Next i
Next j
End Sub
Sub Triangle()
Form1.Picture1.Cls
n = Val(Form1.txtIn)
Wid = n * 3 + 1
Heig = n * 3 + 1
Form1.Picture1.Scale (0, 0)-(Wid, Heig)
For j = 1 To n
For i = 1 To j
x = i * 3 - 2
y = j * 3 - 2
Form1.Picture1.Line (x, y + 2)-(x + 2, y + 2)
Form1.Picture1.Line -(x + 1, y)
Form1.Picture1.Line -(x, y + 2)
Next i
Next j
End Sub
Лабораторная работа 2.4. Циклы
Задание 2.4.2. Рисование графика функции sin
Разработать алгоритм расчёта значений функции в диапазоне изменения аргумента функции (цикл For ... Next). Счётчиком цикла должен являться аргумент t функции. Шаг изменения значения счётчика принять равным 0,01. Полученные значения функции должны сохраняться в массиве. В отчёте привести алгоритм.
В цикле считаем значения функции и кладем их в массив, увеличивая при этом счетчик заполненных элементов массива:
count = 0
For t = -4 * pi To 4 * pi Step 0.01
y(count) = a * Sin(t * freq + phase)
count = count + 1
Next t
Вывести график функции точками (метод .Pset). Значения функции должны браться из массива, в котором они сохранялись. В отчёте привести алгоритм построения графика.
В цикле по аргументу функции t берем элементы заполненного массива значений функции, увеличивая счетчик обработанных элементов массива:
count = 0
For t = -4 * pi To 4 * pi Step 0.01
Form1.Picture1.PSet (t, y(count)), RGB(0, 0, 255)
count = count + 1
Next t
Вывести на рисунок линии масштабной сетки. Расстояние между вертикальными линиями сетки — 1 единица длины, между горизонтальными — 0,1.
Делаем это в двух циклах. В первом изменяется координата x, а координаты у линий остаются неизменными (вертикальные линии сетки). Во втором изменяется координата y, а координаты x линий остаются неизменными (горизонтальные линии сетки). Линии сетки рисуются неярким серым цветом.
Добавить в программу возможность построения графика гиперболы (у = k / х). Обратить внимание на возможное изменение масштаба графического поля (для наглядности изображения графика) и исключение из множества значений аргумента значения x = 0.
Вычисления для гиперболы аналогичны вычислениям для синусоиды. Но все циклы по аргументу функции x разбиваются на 2 цикла. В первом значения аргумента изменяются от -4( до -0,01, а во втором – от 0,01 до 4( (чтобы исключить x = 0 из множества значений аргумента.
Текст программы:
Private Sub cmdGo_Click()
Select Case Combo1.ListIndex
Case 0
Sinusoid
Case 1
Hyperbola
End Select
End Sub
Private Sub Combo1_Click()
Select Case Combo1.ListIndex
Case 0
lblInstruct2.Visible = True
txtIn1.Visible = True
lblInstruct3.Visible = True
txtIn2.Visible = True
lblInstruct4.Visible = True
txtIn3.Visible = True
lblInstruct5.Visible = False
txtIn4.Visible = False
Case 1
lblInstruct2.Visible = False
txtIn1.Visible = False
lblInstruct3.Visible = False
txtIn2.Visible = False
lblInstruct4.Visible = False
txtIn3.Visible = False
lblInstruct5.Visible = True
txtIn4.Visible = True
End Select
End Sub
Private Sub Form_Load()
Combo1.ListIndex = 0
Combo1_Click
End Sub
Option Explicit
Const pi = 3.14
Dim y(8 * pi / 0.01) As Double
Dim count As Integer
Dim t As Double
Dim a As Double
Dim freq As Double
Dim phase As Double
Dim gridX As Single
Dim gridY As Single
Dim k As Single
Sub Sinusoid()
a = Val(Form1.txtIn1.Text)
freq = Val(Form1.txtIn2.Text)
phase = Val(Form1.txtIn3.Text)

'Вычисление значений функции
count = 0
For t = -4 * pi To 4 * pi Step 0.01
y(count) = a * Sin(t * freq + phase)
count = count + 1
Next t

'Очистка PaintBox и масштабирование
Form1.Picture1.Cls
Form1.Picture1.Scale (-4 * pi, a + 0.1)-(4 * pi, -a - 0.1)
Form1.Picture1.DrawWidth = 2
'Рисование точек
count = 0
For t = -4 * pi To 4 * pi Step 0.01
Form1.Picture1.PSet (t, y(count)), RGB(0, 0, 255)
count = count + 1
Next t

'Рисование сетки
Form1.Picture1.DrawWidth = 1
For gridX = -4 * pi To 4 * pi
Form1.Picture1.Line (gridX, -a - 0.1)-(gridX, a + 0.1), RGB(128, 128, 128)
Next gridX
For gridY = -a - 0.1 To a + 0.1 Step 0.1
Form1.Picture1.Line (-4 * pi, gridY)-(4 * pi, gridY), RGB(128, 128, 128)
Next gridY

'Рисование осей
Form1.Picture1.DrawWidth = 2
Form1.Picture1.Line (0, -a - 0.1)-(0, a + 0.1), RGB(128, 128, 128)
Form1.Picture1.Line (-4 * pi, 0)-(4 * pi, 0), RGB(128, 128, 128)
End Sub
Sub Hyperbola()
k = Val(Form1.txtIn4.Text)

'Вычисление значений функции
count = 0
For t = -4 * pi To -0.01 Step 0.01
y(count) = k / t
count = count + 1
Next t
For t = 0.01 To 4 * pi Step 0.01
y(count) = k / t
count = count + 1
Next t

'Очистка PaintBox и масштабирование
Form1.Picture1.Cls
Form1.Picture1.Scale (-4 * pi, k / 0.1 + 0.1)-(4 * pi, -k / 0.1 - 0.1)
Form1.Picture1.DrawWidth = 2
'Рисование точек
count = 0
For t = -4 * pi To -0.01 Step 0.01
Form1.Picture1.PSet (t, y(count)), RGB(0, 0, 255)
count = count + 1
Next t
For t = 0.01 To 4 * pi Step 0.01
Form1.Picture1.PSet (t, y(count)), RGB(0, 0, 255)
count = count + 1
Next t

'Рисование сетки
Form1.Picture1.DrawWidth = 1
For gridX = -4 * pi To 4 * pi
Form1.Picture1.Line (gridX, -k / 0.1 - 0.1)-(gridX, k / 0.1 + 0.1), RGB(128, 128, 128)
Next gridX
For gridY = -k / 0.1 To k / 0.1 Step 5
Form1.Picture1.Line (-4 * pi, gridY)-(4 * pi, gridY), RGB(128, 128, 128)
Next gridY

'Рисование осей
Form1.Picture1.DrawWidth = 2
Form1.Picture1.Line (0, -k / 0.1 - 0.1)-(0, k / 0.1 + 0.1), RGB(128, 128, 128)
Form1.Picture1.Line (-4 * pi, 0)-(4 * pi, 0), RGB(128, 128, 128)
End Sub
Список литературы
Visual Basic 6.0. Серия Мастер. Руководство для профессионалов // СПб.: БХВ-Петербург, 2004 г. 992 с.
А. Ананьев, А. Федоров Самоучитель Visual Basic 6.0 // СПб.: БХВ-Петербург, 2005 г. 624 с.
С.Браун. Visual Basic 6: учебный курс /Пер. с англ. — С-Пб.: "Питер", 1999. — 576 с.,
48

Список литературы [ всего 3]

Список литературы
1.Visual Basic 6.0. Серия Мастер. Руководство для профессионалов // СПб.: БХВ-Петербург, 2004 г. 992 с.
2.А. Ананьев, А. Федоров Самоучитель Visual Basic 6.0 // СПб.: БХВ-Петербург, 2005 г. 624 с.
3.С.Браун. Visual Basic 6: учебный курс /Пер. с англ. — С-Пб.: "Питер", 1999. — 576 с.,
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00504
© Рефератбанк, 2002 - 2024