Académique Documents
Professionnel Documents
Culture Documents
NET
1
1)- Les bases du langage VB.NET
1.1 Introduction
-des données
+--------------------+
¦ DONNEES ¦
+--------------------¦
¦¦
¦ INSTRUCTIONS ¦
¦¦
+--------------------+ 2
1.2 Les données de VB.NET
5
Notation des données littérales
6
Déclaration des données
Rôle des déclarations
Un programme manipule des données caractérisées par un nom et un type. Ces données sont stockées en mémoire.
différence entre majuscules et minuscules. Ainsi les variables FIN et fin sont identiques. Les variables
peuvent être initialisées lors de leur déclaration. La syntaxe de déclaration d'une ou plusieurs variables est :
7
Les conversions entre nombres et chaînes de caractères
8
Les conversions de type
Il existe un certain nombre de fonction prédéfinies permettant de passer d'un type de données à un autre. Leur liste
est la suivante :
CBool,CByte,CChar,CDate,CDbl,CDec,CInt,CLng,CObj,CShort,CSng,CStr
On peut également utiliser la fonction CType(expression, type) comme le montre le programme suivant :
9
On remarquera que les nombres réels sous forme de chaîne de caractères doivent utiliser la virgule et non le point
10
décimal. Ainsi on écrira Dim d As Double = -14.98 mais Dim d1 As Double = Double.Parse("100,87")
11
Ecriture sur écran
Console.Out.WriteLine(expression)
Console.WriteLine(expression)
Console.Error.WriteLine (expression)
La ligne tapée au clavier est rangée dans la variable ligne et peut ensuite être exploitée par le programme.Le
flux In peut être redirigé vers un fichier comme les flux Out et Error.
12
Exemple d'entrées-sorties
13
Affectation de la valeur d'une expression à une variable
( affectation )
La priorité des opérateurs lors de l'évaluation d'une expression arithmétique est la suivante (du plus prioritaire au moins prioritaire)
14
séquence d'instructions Exercice
Exercice 11 (Solution)
(Solution)
Écrire un algorithme qui permet de saisir des valeurs pour A et B ,
faire la somme et afficher le résultat?
Solution :
A)- Analyse
Données : A,B saisis par clavier
Résultats : S
Traitements : S:=A+B
B)- Algorithme
A,B,S en entier
Début
Écrire(« Entrer la valeur de A: »)
Lire(A)
S:=A+B
Solution :
A)- Analyse
Données : R et P saisis par clavier
Résultats : S
Traitements : S:=R*R*P
B)- Algorithme
R,P,S en entier
Début
Écrire(« Entrer la valeur de R: »)
Lire(R)
S:=R*R*P
Solution :
A)- Analyse
Données : H et TH saisis par clavier
Résultats : SB
Traitements : SB:=H*TH
B)- Algorithme
H,TH,S en entier
Début
Écrire(« Entrer la valeur de H: »)
Lire(H)
SB:=H*TH
If Condition Then
……………
End if
Une instruction (ou un bloc d’instructions) peut être exécutée si une condition est vraie.
Exemple:
If A=B then
MsgBox("A=B")
End If
If Condition1 Then
If A=B Then MsgBox("A=B")
..
ElseIf condition2 Then
If A=B then ..
MsgBox("A=B")
Else
ElseIf condition3 Then
MsgBox("A différend de B") ..
End If end if
18
structure alternative Exercice
Exercice (Solution)
(Solution)
On désire comparer deux valeurs ,Écrire un algorithme qui affiche la
plus grande des deux?
A)- Analyse
Solution :
Données : A et B saisis par clavier
Résultats : A ou B
Traitements : A < B
B)- Algorithme
A,B en réel
Début
Écrire(« Entrer la valeur de A: »)
Lire(A)
Si A < B Alors
Écrire(« la plus grande valeur est: » B)
SINON
Écrire(« la plus grande valeur est: » A)
FinSi
Fin 19
structure alternative Exercice
Exercice 22 (Solution)
(Solution)
Afficher le résultat de fin d’année pour un étudiant connaissant sa
moyenne générale?
Solution :
A)- Analyse
Données : Moy saisi par clavier
Traitements : Moy<=10,Moy<12,Moy<14,Moy=>14
B)- Algorithme
Moy en réel
Début
Écrire(« Entrer la Moyenne: »)
Lire(Moy)
21
22
23
structure répétitive Exercice
Exercice 11
Écrire un algorithme qui saisie 15 entier et affiche leur somme et leur
moyenne ?
N,i en entier
Moy, Somme,val en réel
Début
Somme:=0
i:=0
Pour i allant de 1 à 15 faire
Écrire(« entrer une valeur: »)
Lire(val)
Somme:=Somme+val
FinPour
Moy:=Somme/N
Écrire(« La somme: » Somme)
Écrire(« La moyenne: » Moy)
Fin
24
Exercice 5.1
25
Exercice 5.2
Ecrire un algorithme qui demande un nombre compris entre 10 et 20, jusqu’à ce que la réponse
convienne. En cas de réponse supérieure à 20, on fera apparaître un message : « Plus petit ! »,
et inversement, « Plus grand ! » si le nombre est inférieur à 10.
26
Calcul sur le cercle
Ce TP consiste à faire un programme qui calcule la circonférence et la surface
d’un cercle en fonction du rayon de ce cercle.
27
TP2 - Équation du second degré
Écrire le programme qui calcule les racines de l’équation du deuxième degré
Y= ax2 + bx + c.
Voici le dialogue à l’écran correspondant :
28
Voulez-vous faire un autre calcul (O/N) :O
30
Exercice
Exercice 77
Une salle de cinéma désire automatiser la gestion de la billetterie pour chaque client qui
se présente, on calcule le prix du billet en fonction des données suivantes:
NF : Numéro du fil
HS : heure de la séance
Age : Age de spectateur
31
Les tableaux de données
Un tableau VB.NET est un objet permettant de regrouper des données de même type et d'utiliser un numéro, appelé
index ou indice, pour les distinguer. Sa déclaration est la suivante :
où n est l'indice du dernier élément de tableau. La syntaxe Tableau(i) désigne la donnée n° i où i appartient à
l'intervalle [0,n]. Toute référence à la donnée Tableau(i) où i n'appartient pas à l'intervalle [0,n] provoquera une
exception. Un tableau peut être initialisé en même temps que déclaré. Dans ce cas, on n'a pas besoin d'indiquer le
n° du dernier élément.
Les tableaux ont une propriété Length qui est le nombre d'éléments du tableau.
Tableau (0)
Tableau (1)
Tableau (2)
Tableau (3)
Contenu du tableau:
0
0
0
0
32
Dim Tableau(3) comporte 4 éléments (éléments d'index 0 à 3).
0
12
0
0
Dim T(2,2)
Exemple:
34
Un tableau est un objet
La Classe Array.
Tous les tableaux viennent de la classe Array; vous pouvez accéder aux méthodes et
35
Exemple :
Clear
Reverse
Copy
Sort
36
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim a() As String = New String(3) {"youness", "amine", "morad", "dalila"}
Dim b(3) As String
Dim c(3) As String
Array.Clear(b, 0, 2)
For i As Integer = 0 To b.Length - 1
MsgBox(b(i))
Next
Array.Reverse(a)
For i As Integer = 0 To a.Length - 1
MsgBox(a(i))
Next
Array.Copy(a, c, 3)
For i As Integer = 0 To c.Length - 1
MsgBox(c(i))
Next
Array.Sort(c)
For i As Integer = 0 To c.Length - 1
MsgBox(c(i))
Next 37
End Sub
Equals compare 2 tableaux.
Exemple :
IndexOf
Recherche un objet spécifié dans un tableau unidimensionnel (trié ou non), retourne l'index
de la première occurrence.
Cela est souvent utilisé pour parcourir tous les éléments du tableau:
myArray.SetValue("fox", 0, 3)
40
41
Exemple:
Dim i As Integer
For i = 0 To arr.GetUpperBound(0)
msgbox("arr(" & i & ") = " & arr(i))
Next i
42
Exemple de recherche dans un tableau:
Dans un tableau de String rechercher dans quel élément et à quelle position se trouve la
string "MN".
Dim i As Integer
Next i
43
Les
Les tableaux
tableaux
Début
POUR i ALLANT DE 0 A 11
Ecrire "Entrez la note n°", i
Lire Note(i)
FinPour
Som := 0
POUR i ALLANT DE 0 A 11
Som := Som + Note(i)
FinPour
Moy := Som / 12
Pour i ← 0 à Nb - 1
Ecrire "Entrez le nombre n° ", i + 1
Lire T(i)
Si T(i) > 0 alors
Nbpos ← Nbpos + 1
Sinon
Nbneg ← Nbneg + 1
Finsi
i Suivant
Une collection fonctionne plutôt comme un groupe d'éléments dans laquelle il est possible
Dans une collection il n'y a que les éléments que l'on a ajouté.
Les éléments sont repérés grâce à un index ou avec une Clé unique
Dès que cet objet est créé, vous pouvez ajouter (avec Add), enlever ou manipuler des
maCollection.Add("Bonjour", "30")
maCollection.Add("Monsieur", "31")
maCollection.Add("Et", "32")
maCollection.Add("Madame", "33")
46
Col.Remove(2) ‘enlève l'élément numéro 2
47
Résumé
48
1 :Ajouter
49
1 :Consulter
50
1 :Rechercher
51
52
Faire un programme qui gère Une bibliothèque.
53
Les
Les Fonctions
Fonctions Pr édéfinies
Prédéfinies
Tout langage de programmation propose ainsi un certain nombre de fonctions ; certaines
sont indispensables, car elles permettent d’effectuer des traitements qui seraient sans
elles impossibles. D’autres servent à soulager le programmeur, en lui épargnant de longs
– et pénibles - algorithmes.
Tous les langages, je dis bien tous, proposent les fonctions suivantes, même
si le nom et la syntaxe peuvent varier d’un langage à l’autre :
54
Les
Les chaînes de
chaînes de caractères
caractères
'ToUpper()
MsgBox(Str2)
' .Trim()
Dim B As Char() = {"#", "@"} 'B est un tableau de Char contenat les caractères à
supprimer.
MsgBox(A)
55
'Length: Taille(d) une chaîne en nombre de caractère.
'Afficher la taille de la chaîne « VB »
MsgBox(S.Length) 'Affiche 2
'Concat:
MsgBox(S1)
'Insert:
MsgBox(S4)
'Replace:
'Remplace dans une chaîne de départ, toutes les occurrences d'une chaîne par une autre.
MsgBox(S5)
'Le premier paramètre indique la position de départ; le second, le nombre de caractères à extraire.
'left
'len
Dim Tx As String
Dim i As Integer
For i = 1 To Microsoft.VisualBasic.Len(C)
Tx += Microsoft.VisualBasic.Left(C, i) + ControlChars.CrLf
Next i
TextBox1.AppendText(Tx)
58
' Comparer
'On compare les 2 Strings, si elle sont égales cela retourne 0, l'expressuopn 0=0 est True, on la mettre dans un Boolean
MsgBox(res)
'Calculer le nombre d'occurrences ( compteur ) d'une sous-chaînes (monMot) dans une String (monTexte).
'On rappelle que .IndexOf permet de chercher une sous-chaînes dans une chaîne.
Do
index = monTexte.IndexOf(monMot, index + 1)
compteur += 1
MsgBox(compteur - 1) 59
Les instructions élémentaires de VB.NET
On distingue
Les instructions élémentaires apparaissent clairement lorsqu'on considère la structure d'un micro-ordinateur et
de ses périphériques.
60
Interfaces graphiques avec VB.NET
61
comment créer l'interface utilisateur ?
Comment créer une fenêtre?
Menu Projet, Ajouter un formulaire Windows, cliquer sur WindowsForm, une fenêtre ‘Form1’ apparaît. On a bien crée
une fenêtre avec la classe WindowsForms.Form (En fait on a crée une Classe 'Form1')
Comment ajouter un bouton?
Cliquer sur ‘Boite à Outils’ à gauche , bouton WindowsForms, puis bouton ‘Button’,cliquer dans Form1, déplacer le
62
La Classe 'Control':
Les contrôles (Button, TextBox ListBox...) héritent tous de la classe Control qui hérite elle-même de la classe
System.WindowsForms.
Tous les objets avec représentation visuelle ont des propriétés communes hérités de la classe Control.
Nous allons en voir quelqu'unsÎName : il s’agit du nom de l’objet tel qu’il est géré par l’application.
Il est vivement conseillé de renommer les objets que vous venez de créer afin de donner des noms plus évocateurs.
Microsoft conseille:
Text : il s’agit du texte qui est associé à l’objet.Î ButtonOk.Text= "Ok"
btn pour les Boutons
lst pour les ListBox Visible : Indique si un contrôle est visible ou non.Î
chk pour les CheckBox ButtonOk.Visible=False fait disparaître le bouton.
cbo pour les combos
dlg pour les DialogBox Font : Permet le choix de la police de caractères affichée dans l’objet.
frm pour les Form
lbl pour les labels BackColor ForeColor : Couleur du fond, Couleur de l’avant plan.
txt pour les Textbox Pour un bouton Forecolor correspond au cadre et aux caractères.
tb pour les Toolsbar ButtonOk.ForeColor= System.Drawing.Color.Blue
rb pour les radiobutton
mm pour les menus
tmr pour les timers
On a vu que les objets de l'interface utilisateur ont des procédures déclenchées par les évènement de cet objet
Exemple : Quand l'utilisateur clique sur un bouton Ok , la procédure BtOkClick s'effectue .
63
Les contrôles TextBox.
Contrôle qui contient du texte qui peut être modifié par l'utilisateur du programme.C'est la propriété Text qui contient
le texte qui a été tapé par l'utilisateur.
Il faut créer un label dont la propriété Text contient "Tapez votre nom:", suivi d'un TextBox nommé txtNom avec une
propriété Text="" (la TextBox est vide), enfin un bouton nommé btOk dont la propriété Text="Ok".Cela donne:
En mode MultiLine la collection Lines contient dans chacun de ses éléments une des lignes affichées dans le contrôle:
TexBox1.Lines(0) contient la première ligne
TexBox1.Lines(1) la seconde...
64
Les Cases à cocher
Il y a 2 sortes de case à cocher:
Les CheckBox.
Les RadioButton.
Les " cases à cocher " (CheckBox): Elles sont carrées, et indépendantes les unes des autres, si l'utilisateur coche une
case , cela n'a pas d'influence sur les autres cases du formulaire
Les " boutons radio " (RadioButton): Ils sont ronds et font toujours partie d’un groupe
Il faut regrouper les radios boutons dans des 'GroupBox' par exemple pour rendre les groupes
indépendants:
Ici si je clique sur le bouton 'OUI' à droite, cela décoche 'NON' mais n'a pas d'influence sur
le cadre Format
La propriété Text, bien sur, permet d’afficher le libellé à coté du bouton, on peut aussi mettre une image avec la
propriété Image. CheckAlign permet de mettre la case à cocher à droite ou à gauche du texte, TextAlign permet
d'aligner le texte. Exemple pour le bouton en haut à droite.
RadioButton3.Text="OUI"
RadioButton3.TextAlign= MiddleCenter 'Middle=hauteur, center = horizontale
RadioButton3.CheckAlign=MiddleRight
La propriété la plus intéressante de ces cases est celle qui nous permet de savoir si elle est cochée ou non. Cette
propriété s’appelle Checked. Sa valeur change de False à True si la case est cochée.
Il est possible de regrouper des contrôles dans un container, on peut par exemple regrouper plusieurs RadioButton.
Le container peut être un GroupBox
66
TP 1: Réaliser une application qui fait les calculs suivants :
67
TP 2: Réaliser une application qui affiche dans la zone du texte les numéros de 1 à 10 :
68
TP 3: Réaliser une application qui calcul le prix total de la voiture :
69
ListBox
Le contrôle ListBox affiche une liste d'éléments (d'objets) dans laquelle l'utilisateur peut
faire un ou plusieurs choix.
71
TP 5: Réaliser une application qui calcule et affiche dans les zones du texte la table
de la multiplication selon le choix :
72
TP6 :Réaliser une application qui affiche la plus grande des deux nombres
saisies par l’utilisateur
73
TP7
74
75
TP8 :Réaliser une application qui déclare et remplisse un tableau de 5
valeurs numériques puis affiche ces nombres et la somme et la moyenne de
ces valeurs.
76