Cours-Gratuit
  • Accueil
  • Blog
  • Cours informatique
home icon Cours gratuits » Cours informatique » Cours programmation » Cours visual basic » Exercices VB »

Articles similaires

  • Exercice Visual Basic : Papillon Volante
  • Exercice Visual Basic : Examen Passage 2007 TSDI P1 Variante 2
  • Exercice Visual Basic : TP Banque
  • Exercice Visual Basic : Voyage
  • Exercice Visual Basic : Horloge
  • Exercice Visual Basic : Manipuler un Texte
  • Exercice Visual Basic : Adhérant
  • Exercice Visual Basic : ListBox
  • Exercice Visual Basic : Utilisation des collections
  • Exercice Visual Basic : Classe Stagiaire
  • Exercice Visual Basic : Ligne Article
  • Exercice Visual Basic : Créditer & Débiter

Documents similaires

  • Document Visual Basic 6

  • Introduction au Visual Basic cours générale

  • Cours de programmation Visual Basic 6

  • Tutoriel pour apprendre l’impression sous Visual Basic

  • Programmation : Visual Basic 6

  • Cours générale de la Programmation structurée en Visual Basic

  • Cours de Visual Basic.Net

  • Outils de base pour apprendre la Programmation Visual basic

Exercice Visual Basic : Courbe

Rédigé par GC Team, Publié le 07 Janvier 2012, Mise à jour le Mardi, 30 Novembre 1999 00:00
Participez au vote ☆☆☆☆☆★★★★★

Ecrire le code VB qui prmet de réaliser l'interface suivante:

ExerciceVB-id2125


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
Option Explicit On 
Option Strict On
 
Public Class frmExo4
    Private Const marge As Int32 = 10               'marges sur les cotés du graphics
    Private Const pas As Int32 = 1                  'pas de tracé de la courbe
    Private Const PI As Double = 3.141593
    Private Const nPeriode As Int32 = 5             'nombre de sinusoides à tracer.
 
 
    Private Function TraceAxes(ByVal g As System.Drawing.Graphics, ByVal p As System.Drawing.Pen) As Boolean
        'Tracer les axes x,y
        'Ce tracé est paramétré selon la taille de la feuille
        Dim milieu As Int32                         'position de l'axe x
 
        Try
            milieu = (Me.Height - marge) \ 2      'division entière antislash
 
            'axe des X
            g.DrawLine(p, marge, milieu, Me.Width - marge, milieu)
            'Axe des y
            g.DrawLine(p, marge, Me.Height - marge, marge, marge)
            Return True
 
        Catch ex As Exception
            MessageBox.Show("impossible de tracer les axes" & vbCrLf & ex.Message)
            Return False
        End Try
 
    End Function
    Private Function TraceCourbe(ByVal g As System.Drawing.Graphics, ByVal p As System.Drawing.Pen) As Boolean
        'Tracer la courbe
        'Ce tracé est paramétré selon la taille de la feuille
 
        Dim milieu As Int32         'position de l'axe x
        Dim amplitude As Double     ' l'aplitude de la sinusoide en pixel
        Dim omega As Double         ' la pulsation de la sinusoide
        Dim Periode As Int32        ' la période de la courbe en pixel
        Dim i As Int32              ' le point courant de la sinusoide
        Dim y As Double             ' la valeur du point courant en radian par pixel
        Dim P1 As Point             ' point précedent
        Dim P2 As Point             ' point courant
        Dim CodeRetour As Boolean   'le code retour de la fonction
 
        Try
            'calculer l'amplitude pour remplir la feuille
 
            milieu = (Me.Height - marge) \ 2      'division entière antislash
 
            amplitude = Me.Height \ 2 - marge
 
            'calculer la pulsation pour obtenir 10 périodes
 
            Periode = (Me.Width - 2 * marge) \ nPeriode
            omega = 2 * PI / Periode
 
            'créer les points qui définissent le segment élémentaire
 
            P1 = New Point(marge, milieu)
            P2 = New Point
 
            For i = marge + 1 To Me.Width - marge Step pas
                y = amplitude * System.Math.Sin(omega * i)  'calculer
 
                y = y + milieu                              'replacer par rapport à l'axe
                'remplir P2
                P2.X = i
                P2.Y = CInt(y)
                'tracé proprement dit
                g.DrawLine(p, P1, P2)
                'passer au point suivant
                P1.X = P2.X
                P1.Y = P2.Y
            Next
            CodeRetour = True
 
        Catch ex As Exception
            MessageBox.Show("impossible de tracer la courbe" & vbCrLf & ex.Message)
            CodeRetour = False
 
        Finally
            P1 = Nothing
            P2 = Nothing
        End Try
 
        Return CodeRetour
 
    End Function
    Private Sub peindre()
 
        'créer les objets graphiques utiles
        Dim GraphicSinus As System.Drawing.Graphics 'un objet graphic pour dessinner
        Dim MyPen As System.Drawing.Pen             'un objet stylo
 
        GraphicSinus = Me.CreateGraphics
        MyPen = New System.Drawing.Pen(System.Drawing.Color.Black)
 
        GraphicSinus.Clear(System.Drawing.Color.Aquamarine)
 
        'Dessiner ce qui est demandé
        If Me.ChkAxes.Checked Then
            TraceAxes(GraphicSinus, MyPen)
        End If
        If Me.ChkCourbe.Checked Then
            TraceCourbe(GraphicSinus, MyPen)
        End If
 
        'détruire les objets après usage
        GraphicSinus = Nothing
        MyPen = Nothing
    End Sub
    Private Sub btnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuit.Click
        End
    End Sub
 
    Private Sub frmExo4_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
        'sur l'événement paint redessiner tout
        peindre()
    End Sub
 
    Private Sub ChkAxes_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChkAxes.CheckedChanged
        peindre()
    End Sub
 
    Private Sub ChkCourbe_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChkCourbe.CheckedChanged
        peindre()
    End Sub
 
 
    Private Sub frmExo4_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.SizeChanged
        peindre()
    End Sub
 
    Private Sub frmExo4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
    End Sub
End Class
  • Contactez-nous
  • A propos de nous
  • On recrute
  • Rechercher dans le site
  • Politique de confidentialité
  • Droit d'auteur/Copyright
  • Conditions générales d'utilisation
  • Plan du site
  • Accueil
  • Blog
  • Finance et compta.
  • Formations Pro.
  • Logiciels & Apps
  • Organisation
  • Cours informatique
  • Aide à la rédaction
  • Etudes et Metiers
  • Science et Tech
  • Titans de la Tech
id 11354 02