Sub cercle() Dim r As Long = 150 Dim ox As Long = 200 Dim oy As Long = 200 Dim ar As Double ' angle en radians Dim i As Double Dim sinus As Double Dim cosinus As Double Dim x As Long Dim y As Long Dim g As System.Drawing.Graphics = Me.CreateGraphics() Dim xy As New Bitmap(1, 1) ' pixel de traçage For i = 0 To 359 Step 0.1 ' ou <> pour arc ar = i * 3.14 / 180 cosinus = Math.Cos(ar) sinus = Math.Sin(ar) x = r * cosinus + ox y = oy - r * sinus xy.SetPixel(0, 0, Color.Black) g.DrawImage(xy, New Point(x, y)) Next i g.Dispose() End Sub
Public Class Form1 Public T0, amp, moy, rap, coup, bandemin, bandemax, gain, puissmoy, puissdef As Single Public Cn, an, bn, phin, puls As Single Public ord As Short Public temps(1200) As Integer Public Cnnn(1200), phinnn(1200) As Single Public omegaa(1200) As Single Public Cnfiltre(1200), phinfiltre(1200) As Single Public frequ(1200) As Single Public A, omega, omegac, Q As Single Public i, j, k As Integer If paire.Checked = True Then bn = 0 paire.Enabled = False impaire.Enabled = False End If If impaire.Checked = True Then an = 0 impaire.Enabled = False paire.Enabled = False End If Public Function DegreeToRad(ByVal deg As Integer) As Double Return deg * Math.PI / 180 End Function If an = 0 Then For t = 0 To 1200 temps(t) = t For k = 1 To ord n = 2 * k - 1 Cn = Cn + 4 * amp / (n * DegreeToRad(Math.PI)) 'sc = sc + Cn * Math.Cos((2 * DegreeToRad(Math.PI) / T0) * n * t + phin) Next k phin = -(Math.PI / 2) Cnnn(t) = Cn phinnn(t) = phin Next t End If If bn = 0 Then For t = 0 To 1200 temps(t) = t For k = 1 To ord n = 2 * k - 1 Cn = 4 * amp / (n * DegreeToRad(Math.PI)) 'sc = sc + Cn * Math.Cos((2 * DegreeToRad(Math.PI) / T0) * n * t + phin) Next k phin = 0 Cnnn(t) = Cn phinnn(t) = phin Next t End If If passeBas.Checked = True Then For Me.i = 1 To 1200 omegaa(i) = 2 * Math.PI / temps(i) Cnfiltre(i) = Cnnn(i) * A / Math.Pow(Math.Pow(1 - Math.Pow(omegaa(i) / omegac, 2), 2) + Math.Pow(omegaa(i) / (Q * omegac), 2), 0.5) 'l'amplitude du signal multipliée par le module de la fonction de transfert phinfiltre(i) = phinnn(i) - Math.Atan((omegaa(i) / (Q * omegac)) / (1 - Math.Pow(omegaa(i) / omegac, 2))) 'la phase du signal + l'argument de la fonction de transfert Next End If
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPublic Class Form1 déclarations des strictures de données,variable If paire.Checked = True Then bn = 0 paire.Enabled = False impaire.Enabled = False End If If impaire.Checked = True Then an = 0 impaire.Enabled = False paire.Enabled = False End If
class form1 public x as integer public tttt (1200) as single private sub blabla() le code de blabla end sub private function toto(x as integer) as boolean le code de toto end function 'tout doit etre écrit dans le corps des fonctions ,sub end class
'module pour les declarations Public Module Module1 Public T0, amp, moy, rap, coup, bandemin, bandemax, gain, puissmoy, puissdef As Single Public Cn, an, bn, phin, puls As Single Public ord As Short Public temps(1201) As Integer Public Cnnn(1201), phinnn(1201) As Single Public omegaa(1201) As Single Public Cnfiltre(1201), phinfiltre(1201) As Single Public frequ(1201) As Single Public A, omega, omegac, Q As Single Public i, j, k As Integer Public sc(1200), st(1200), sds(1200), sma(1200), sba(1200) As Single Public Function DegreeToRad(ByVal deg As Integer) As Double Return deg * Math.PI / 180 End Function End Module 'la sub poour la saisie Public Sub valider_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles valider.Click T0 = CType(periode.Text, Single) / 1000 amp = CType(amplitude.Text, Single) ord = CType(ordre.Text, Short) moy = CType(moyenne.Text, Single) If paire.Checked = True Then bn = 0 paire.Enabled = False impaire.Enabled = False End If If impaire.Checked = True Then an = 0 impaire.Enabled = False paire.Enabled = False End If Public Sub carre_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles carre.CheckedChanged Dim t, k, n As Integer rapport.Visible = True Label6.Visible = True Label12.Visible = True If an = 0 Then 'la partie calcul qui me retourne le s(t) enfin For t = 0 To 1200 temps(t) = t For k = 1 To ord n = 2 * k - 1 sc(t) += moy + (4 * amp / (n * DegreeToRad(Math.PI))) * Math.Cos((n * 2 * DegreeToRad(Math.PI) / T0) * temps(t) - (DegreeToRad(Math.PI / 2))) Next k Next t End If If bn = 0 Then For t = 0 To 1200 temps(t) = t For k = 1 To ord n = 2 * k - 1 sc(t) += moy + (4 * amp / (n * DegreeToRad(Math.PI))) * Math.Cos((n * 2 * DegreeToRad(Math.PI) / T0) * temps(t) + 0) Next k Next t End If End Sub 'apres avoir eu le sc(t) l'axe des ordonnées on dessine la courbe (t.sc(t)) Private Sub DrawCurves(ByVal gr As System.Drawing.Graphics, ByVal mypanel As Panel) Dim mypen As New Pen(Color.DarkBlue, 2) For iter = 0 To 1200 ReDim Preserve vertext(iter) vertext(iter).X = iter Try vertext(iter).Y = Convert.ToSingle(sc(iter)) * 10000 + mypanel.Height \ 2 If iter > 0 Then gr.DrawLine(mypen, vertext(iter - 1).X, vertext(iter - 1).Y, vertext(iter).X, vertext(iter).Y) End If Catch ex As Exception End Try Next End Sub Private Sub Panel1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint DrawCurves(e.Graphics, DirectCast(sender, Panel)) End Sub
Public temps(1201) As Integer Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load temps(1) = 99 Form2.Show() End Sub ' Sub Form2_Shown(sender As Object, e As System.EventArgs) Handles Me.Shown MsgBox(Form1.temps(1)) ' = 99 End Sub