Помощь в написании студенческих работ
Антистрессовый сервис

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

Курсовая Купить готовую Узнать стоимостьмоей работы

Добавить в программу возможность построения графика гиперболы (у = k / х). Обратить внимание на возможное изменение масштаба графического поля (для наглядности изображения графика) и исключение из множества значений аргумента значения x = 0. Добавить возможность рисования треугольников «треугольником»: в первом ряду — 1 треугольник, во втором — 2 и т. д. Пользователь должен задавать количество… Читать ещё >

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

В отчёте привести список объектов интерфейса и их назначение.

При нажатии на кнопку 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 с.,

Показать весь текст

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

  1. Visual Basic 6.0. Серия Мастер. Руководство для профессионалов // СПб.: БХВ-Петербург, 2004 г. 992 с.
  2. А. Ананьев, А. Федоров Самоучитель Visual Basic 6.0 // СПб.: БХВ-Петербург, 2005 г. 624 с.
  3. С.Браун. Visual Basic 6: учебный курс /Пер. с англ. — С-Пб.: «Питер», 1999. — 576 с.,
Заполнить форму текущей работой
Купить готовую работу

ИЛИ