Вход

Разработка приложения: "Построение пусковой характеристики"

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

Содержание

Содержание
Задание на курсовую работу Вариант 3
Описание и структура приложения
Код программы.

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

ToString + "; I = " + arrayUI(1, i).ToString)
Next i
myStream.Close()
End If
End If
End Sub
End Class
Public Class ChildForm3
Dim PenBlack2 As New Pen(Color.Black, 1)
Dim BrashString As New SolidBrush(Color.Black)
Dim drawbrush1 As New SolidBrush(Color.Black)
Dim drawfont25 As New Font("Arial", 25)
Dim drawfont15 As New Font("Arial", 15)
Dim drawfont10 As New Font("Arial", 10)
Private Sub pbGraphic_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles pbGraphic.Paint
Dim WidthGraph As Integer = 0
Dim HeighGraph As Integer = 0
WidthGraph = pbGraphic.Width - 100
HeighGraph = pbGraphic.Height - 100
e.Graphics.Clear(Color.White)
e.Graphics.DrawString("U, В", drawfont15, drawbrush1, 25, 20)
e.Graphics.DrawString("I, A", drawfont15, drawbrush1, WidthGraph + 50, HeighGraph + 50)
e.Graphics.DrawString("0", drawfont10, drawbrush1, 35, HeighGraph + 55)
For i As Byte = 1 To 10
e.Graphics.DrawLine(PenBlack2, 45, Convert.ToInt16(50 + HeighGraph - i * ((HeighGraph - 30) / 10)), 55, Convert.ToInt16(50 + HeighGraph - i * ((HeighGraph - 30) / 10)))
e.Graphics.DrawString(i.ToString(), drawfont10, drawbrush1, 15, Convert.ToInt16(40 + HeighGraph - i * ((HeighGraph - 30) / 10)))
Next i
For i As Byte = 1 To 40
If i = 1 Or i = 5 Or i = 10 Or i = 15 Or i = 20 Or i = 25 Or i = 30 Or i = 35 Or i = 40 Then
e.Graphics.DrawString((i / 100).ToString(), drawfont10, drawbrush1, Convert.ToInt16(50 - 15 + i * ((WidthGraph - 30) / 40)), _
50 + HeighGraph + 15)
e.Graphics.DrawLine(PenBlack2, Convert.ToInt16(50 + i * ((WidthGraph - 30) / 40)), _
50 + HeighGraph - 8, _
Convert.ToInt16(50 + i * ((WidthGraph - 30) / 40)), _
50 + HeighGraph + 8)
Else
e.Graphics.DrawLine(PenBlack2, Convert.ToInt16(50 + i * ((WidthGraph - 30) / 40)), _
50 + HeighGraph - 5, _
Convert.ToInt16(50 + i * ((WidthGraph - 30) / 40)), _
50 + HeighGraph + 5)
End If
Next i
'Преобразование компьютерной системы координат в математическую
'Поворот оси Y
e.Graphics.ScaleTransform(1, -1)
'Сдвиг по осям X и Y
e.Graphics.TranslateTransform(50, -(50 + HeighGraph))
'Рисуем ОСИ
e.Graphics.DrawLine(PenBlack2, 0, 0, 0, HeighGraph)
e.Graphics.DrawLine(PenBlack2, 0, HeighGraph, -5, HeighGraph - 20)
e.Graphics.DrawLine(PenBlack2, 0, HeighGraph, 5, HeighGraph - 20)
e.Graphics.DrawLine(PenBlack2, 0, 0, WidthGraph, 0)
e.Graphics.DrawLine(PenBlack2, WidthGraph, 0, WidthGraph - 20, 5)
e.Graphics.DrawLine(PenBlack2, WidthGraph, 0, WidthGraph - 20, -5)
'Построение графика по массиву точек (изначально массив нулевой), при нажатиии
'на кнопку "построить график" из массива измерений формируется массив точек
For i As Integer = 0 To (arrayPointGraph.Length - 1)
arrayPointGraph(i).X = arrayPointGraph(i).X * ((WidthGraph - 30) / 40)
arrayPointGraph(i).Y = arrayPointGraph(i).Y * ((HeighGraph - 30) / 10)
Next i
e.Graphics.DrawLines(PenBlack2, arrayPointGraph)
End Sub
End Class
Public Class ChildForm4
Dim PenBlack1 As New Pen(Color.Black, 1)
Dim BrashString As New SolidBrush(Color.Black)
Dim drawbrush1 As New SolidBrush(Color.Black)
Dim drawfont25 As New Font("Arial", 25)
Dim drawfont15 As New Font("Arial", 15)
Dim drawfont8 As New Font("Arial", 8)
Private Sub pbMesurPanel_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles pbMesurPanel.Paint
Dim WidthPanel As Integer
Dim WidthDevaice As Integer
WidthPanel = (pbMesurPanel.Width - 100)
WidthDevaice = WidthPanel / 2 - 5
e.Graphics.Clear(Color.White)
'Отрисовка вольтметра
e.Graphics.DrawRectangle(PenBlack1, 50, 50, WidthDevaice, WidthDevaice)
e.Graphics.DrawEllipse(PenBlack1, 70, 70, WidthDevaice - 40, WidthDevaice - 40)
e.Graphics.DrawArc(PenBlack1, 90, 90, WidthDevaice - 80, WidthDevaice - 80, 0, -180)
Dim k As Integer = 0
For i As Double = Math.PI To Math.PI * 2 Step (Math.PI / 10)
e.Graphics.DrawLine(PenBlack1, Convert.ToInt16(50 + WidthDevaice / 2 + (WidthDevaice - 90) * Math.Cos(i) / 2), _
Convert.ToInt16(50 + WidthDevaice / 2 + (WidthDevaice - 90) * Math.Sin(i) / 2), _
Convert.ToInt16(50 + WidthDevaice / 2 + (WidthDevaice - 80) * Math.Cos(i) / 2), _
Convert.ToInt16(50 + WidthDevaice / 2 + (WidthDevaice - 80) * Math.Sin(i) / 2))
e.Graphics.DrawString(k.ToString(), drawfont8, drawbrush1, _
Convert.ToInt16(45 + WidthDevaice / 2 + (WidthDevaice - 100) * Math.Cos(i) / 2), _
Convert.ToInt16(50 + WidthDevaice / 2 + (WidthDevaice - 100) * Math.Sin(i) / 2))
k = k + 1
Next i
e.Graphics.DrawEllipse(PenBlack1, 40 + Convert.ToInt16(WidthDevaice / 2), 40 + Convert.ToInt16(WidthDevaice / 2), 20, 20)
e.Graphics.DrawString("V, В", drawfont15, drawbrush1, 28 + Convert.ToInt16(WidthDevaice / 2), 70 + Convert.ToInt16(WidthDevaice / 2))
Dim U As Integer = iVoltageEDS
e.Graphics.DrawLine(PenBlack1, Convert.ToInt16(50 + WidthDevaice / 2 + 20 * Math.Cos(Math.PI + U * Math.PI / 10) / 2), _
Convert.ToInt16(50 + WidthDevaice / 2 + 20 * Math.Sin(Math.PI + U * Math.PI / 10) / 2), _
Convert.ToInt16(50 + WidthDevaice / 2 + (WidthDevaice - 130) * Math.Cos(Math.PI + U * Math.PI / 10) / 2), _
Convert.ToInt16(50 + WidthDevaice / 2 + (WidthDevaice - 130) * Math.Sin(Math.PI + U * Math.PI / 10) / 2))
'Отрисовка амперметра
e.Graphics.DrawRectangle(PenBlack1, Convert.ToInt16(pbMesurPanel.Width / 2) + 5, 50, WidthDevaice, WidthDevaice)
e.Graphics.DrawEllipse(PenBlack1, Convert.ToInt16(pbMesurPanel.Width / 2) + 5 + 20, 70, WidthDevaice - 40, WidthDevaice - 40)
e.Graphics.DrawArc(PenBlack1, Convert.ToInt16(pbMesurPanel.Width / 2) + 5 + 40, 90, WidthDevaice - 80, WidthDevaice - 80, 45, -270)
Dim j As Double = 0
For i As Double = 3 * Math.PI / 4 To 9 * Math.PI / 4 Step (0.0375 * Math.PI)

If j = 0 Or j = 0.1 Or j = 0.2 Or j = 0.3 Or j = 0.4 Then
e.Graphics.DrawString(j.ToString(), drawfont8, drawbrush1, _
Convert.ToInt16(Convert.ToInt16(pbMesurPanel.Width / 2) + WidthDevaice / 2 - 3 + (WidthDevaice - 130) * Math.Cos(i) / 2), _
Convert.ToInt16(50 + WidthDevaice / 2 - 10 + (WidthDevaice - 130) * Math.Sin(i) / 2))
e.Graphics.DrawLine(PenBlack1, _
Convert.ToInt16(Convert.ToInt16(pbMesurPanel.Width / 2) + 5 + WidthDevaice / 2 + (WidthDevaice - 110) * Math.Cos(i) / 2), _
Convert.ToInt16(50 + WidthDevaice / 2 + (WidthDevaice - 110) * Math.Sin(i) / 2), _
Convert.ToInt16(Convert.ToInt16(pbMesurPanel.Width / 2) + 5 + WidthDevaice / 2 + (WidthDevaice - 80) * Math.Cos(i) / 2), _
Convert.ToInt16(50 + WidthDevaice / 2 + (WidthDevaice - 80) * Math.Sin(i) / 2))
Else
e.Graphics.DrawLine(PenBlack1, _
Convert.ToInt16(Convert.ToInt16(pbMesurPanel.Width / 2) + 5 + WidthDevaice / 2 + (WidthDevaice - 90) * Math.Cos(i) / 2), _
Convert.ToInt16(50 + WidthDevaice / 2 + (WidthDevaice - 90) * Math.Sin(i) / 2), _
Convert.ToInt16(Convert.ToInt16(pbMesurPanel.Width / 2) + 5 + WidthDevaice / 2 + (WidthDevaice - 80) * Math.Cos(i) / 2), _
Convert.ToInt16(50 + WidthDevaice / 2 + (WidthDevaice - 80) * Math.Sin(i) / 2))
End If
j = Math.Round(j + 0.01, 2)
Next i
e.Graphics.DrawEllipse(PenBlack1, Convert.ToInt16(pbMesurPanel.Width / 2 + WidthDevaice / 2 - 5), 40 + Convert.ToInt16(WidthDevaice / 2), 20, 20)
e.Graphics.DrawString("I, А", drawfont15, drawbrush1, Convert.ToInt16(pbMesurPanel.Width / 2 + WidthDevaice / 2 - 10) - 0, _
70 + Convert.ToInt16(WidthDevaice / 2))
e.Graphics.DrawLine(PenBlack1, _
Convert.ToInt16(Convert.ToInt16(pbMesurPanel.Width / 2) + 5 + WidthDevaice / 2 + 20 * Math.Cos(3 * Math.PI / 4 + dCurrent * 3.75 * Math.PI) / 2), _
Convert.ToInt16(50 + WidthDevaice / 2 + 20 * Math.Sin(3 * Math.PI / 4 + dCurrent * 3.75 * Math.PI) / 2), _
Convert.ToInt16(Convert.ToInt16(pbMesurPanel.Width / 2) + 5 + WidthDevaice / 2 + (WidthDevaice - 130) * Math.Cos(3 * Math.PI / 4 + dCurrent * 3.75 * Math.PI) / 2), _
Convert.ToInt16(50 + WidthDevaice / 2 + (WidthDevaice - 130) * Math.Sin(3 * Math.PI / 4 + dCurrent * 3.75 * Math.PI) / 2))

End Sub
End Class
Module GlobalModule
Friend switches(4) As Byte 'Массив флагов выключателей 0 - разомкнут, 1 - замкнут
Friend iNumberExerc As Byte 'Количество опытов
Friend iVoltageEDS As Byte = 0 'Напряжение источника ЭДС
Friend dCurrent As Double = 0 'Значение силы тока
Friend dRekv As Double = 0 'Эквивалентное сопротивление цепи нагрузки
Friend dR1 As Double = 0 'Сопротивление R1
Friend dR2 As Double = 0 'Сопротивление R2
Friend dR3 As Double = 0 'Сопротивление R3
Friend dR4 As Double = 0 'Сопротивление R4
Friend dR(4) As Double 'Массив сопротивлений
Friend arrayUI(1, 4) As Double 'Массив результатов измерений одного опыта, где arrayUI(0, x) - значение напряжения,
'arrayUI(1, x) - значение силы тока.
Friend arrayPointGraph() As Point = {New Point(0, 0), New Point(0, 0), New Point(0, 0), New Point(0, 0), New Point(0, 0)}
End Module
1

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

Содержание
Задание на курсовую работу Вариант 3
Описание и структура приложения
Код программы.
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.0043
© Рефератбанк, 2002 - 2024