Проектный практикум по Visual Basic. Задание 3
Пару месяцев назад выпала возможность немного попрактиковаться с языком программирования Visual Basic. Необходимо было решить 3 задания. Начнем от обратного.
Описание задания
Составить и отладить процедуру вычисления заданной в таблице функции y(x) для каждого из заданных значений параметра a и при всех заданных значениях аргумента x.
Заданные значения:
Функция y(x) | Значения x | Значения a | ||
---|---|---|---|---|
xнач | xкон | Дx | ||
a*Cos(2x)/(a+4) | 0° | 360° | 6° | 1 ; 2 ; 3 ; 4 |
Задача не сложная как можно заметить. Для отображения воспользуемся самой же формой, на которой разместим три элемента формы: кнопка (Button), табличные данные (элемент DataGridView) и диаграмма (Chart).
Описывать слишком подробно не буду, т.к. в сети Интернет достаточно уроков по программированию в C#.
Итак, вы создали новое приложение Windows Forms. Поместили на новую форму несколько элементов. Теперь нужно задать необходимые свойства для нашей формы, кнопки, DataGridView, диаграммы и нескольких Label.
Параметры для Button1:
Location.X: 12
Location.Y: 12
Size.Width: 255
Size.Height: 23
Text: Вычислить функцию y=a * Cos(2 * x) / (a + 4)
Параметры для DataGridView1:
Location.X: 12
Location.Y: 102
Size.Width: 566
Size.Height: 259
Visible: false
Параметры для Chart1:
Location.X: 12
Location.Y: 367
Size.Width: 566
Size.Height: 240
Visible: false
Параметры для Label1:
Font.Bold: true
Location.X: 191
Location.Y: 73
Size.Width: 254
Size.Height: 13
Text: РЕЗУЛЬТАТЫ ВЫЧИСЛЕНИЯ ФУНКЦИИ
Visible: false
Параметры для Label2:
ForeColor: Highlight
Location.X: 251
Location.Y: 86
Size.Width: 122
Size.Height: 13
Text: Значения параметра а
Visible: false
Параметры для Form1:
Size.Width: 298
Size.Height: 86
Text: Задание 3
Если сделали все правильно, то форма уменьшится в размерах и будет видна только кнопка, при нажатии на которую отобразиться наши табличные данные и диаграмма.
Однако при нажатии на кнопку пока еще ничего не происходит, т.к. мы не написали обработчик при нажатии на кнопку. Давайте опишем его. Нажмите два раза на кнопку и автоматически создаться тело обработчика.
Сразу выкладываю полностью код обработчика Button1_Click:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim a As Single, x As Single, i As Integer Me.Width = 625 ' Ширина формы Me.Height = 640 ' Высота формы ' Включение отображения элементов Me.Label1.Visible = True Me.Label2.Visible = True Me.DataGridView1.Visible = True Me.Chart1.Visible = True ' Название первого столбца для аргумента Х DataGridView1.Columns.Add("X", "Значения арг-та X") ' Заполнить названия столбцов для аргумента А For a = 1 To 4.001 DataGridView1.Columns.Add("X" & a, a) Chart1.Series.Add(a - 1) ' Добавляем в коллекцию графики Next a ' Заполнение аргумента Х от 0" до 360" с шагом 6 For x = 0 To 360.001 Step 6 DataGridView1.Rows.Add({x, 1 * Math.Cos(2 * x) / (1 + 4), 2 * Math.Cos(2 * x) / (2 + 4), 3 * Math.Cos(2 * x) / (3 + 4), 4 * Math.Cos(2 * x) / (4 + 4)}) Next x Chart1.Titles.Add("График функции") ' Рисуем сразу диаграмму Chart1.Series(0).ChartType = DataVisualization.Charting.SeriesChartType.Line ' Тип диаграммы линейная Chart1.Series(1).ChartType = DataVisualization.Charting.SeriesChartType.Line Chart1.Series(2).ChartType = DataVisualization.Charting.SeriesChartType.Line Chart1.Series(3).ChartType = DataVisualization.Charting.SeriesChartType.Line For i = 0 To DataGridView1.Rows.Count - 1 Chart1.Series(0).Points.AddXY(DataGridView1.Item(0, i).Value, DataGridView1.Item(1, i).Value) Chart1.Series(0).LegendText = "a=1" Chart1.Series(1).Points.AddXY(DataGridView1.Item(0, i).Value, DataGridView1.Item(2, i).Value) Chart1.Series(1).LegendText = "a=2" Chart1.Series(2).Points.AddXY(DataGridView1.Item(0, i).Value, DataGridView1.Item(3, i).Value) Chart1.Series(2).LegendText = "a=3" Chart1.Series(3).Points.AddXY(DataGridView1.Item(0, i).Value, DataGridView1.Item(4, i).Value) Chart1.Series(3).LegendText = "a=4" Next i End Sub
В коде уже есть местами комментарии.