Vous êtes sur la page 1sur 76
Visual Visual Visual Basic.NET Basic.NET Basic.NET 1
Visual Visual Visual Basic.NET Basic.NET Basic.NET 1
Visual Visual Visual Basic.NET Basic.NET Basic.NET 1

VisualVisualVisual Basic.NETBasic.NETBasic.NET

Visual Visual Visual Basic.NET Basic.NET Basic.NET 1
Visual Visual Visual Basic.NET Basic.NET Basic.NET 1
Visual Visual Visual Basic.NET Basic.NET Basic.NET 1
Visual Visual Visual Basic.NET Basic.NET Basic.NET 1

1

Visual Visual Visual Basic.NET Basic.NET Basic.NET 1
2
2

1)1)-- Les bases du langage VB.NET

1.1 Introduction

Nous traitons VB.NET d'abord comme un langage de programmation classique.

Nous aborderons les objets ultérieurement.

Dans un programme on trouve deux choses

-des données

-les instructions qui les manipulent

On s'efforce généralement de séparer les données des instructions :

+--------------------+

¦ DONNEES ¦

+--------------------¦

¦ ¦

¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦

¦ ¦

¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
: +--------------------+ ¦ DONNEES ¦ +--------------------¦ ¦ ¦ ¦ ¦ ¦ INSTRUCTIONS ¦ +--------------------+

¦ INSTRUCTIONS ¦

+--------------------+

1.2 Les données de VB.NET

VB.NET utilise les types de données suivants:

1. les nombres entiers, réels et décimaux

2. les caractères et chaînes de caractères

3. les booléens

4. les dates

5. les objets

1.2.1 Les types de données prédéfinis

dates 5. les objets 1.2.1 Les types de données prédéfinis Type VB Type .NET équivalent Taille

Type VB Type .NET équivalent Taille

Boolean System.Boolean 2 octets. Byte System.Byte 1 octet Char System.Char 2 octets Date System.DateTime 8 octets Decimal System.Decimal 16 octets Double System.Double 8 octets. Long System.Int64 8 octets Object System.Object 4 octets Short System.Int16 2 octets Single System.Single 4 octets String System.String (classe)

3
3

exemple de programme

4
4

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

' nombres entiers

Dim var1 As Integer = 100 Dim var2 As Long = 10000000000L Dim var3 As Byte = 100 Dim var4 As Short = 4

' nombres réels

Dim var5 As Decimal = 4.56789D

Dim var6 As Double = 3.4 Dim var7 As Single = -0.000103F

' date

Dim var8 As Date = New Date(2003, 1, 1, 12, 8, 4)

' booléen

Dim var9 As Boolean = True

' caractère

Dim var10 As Char = "A"c

' chaîne de caractères

Dim var11 As String = "abcde"

' objet

Dim var12 As Object = New Object

' affichages

Console.Out.WriteLine("var1=" + var1.ToString) Console.Out.WriteLine("var2=" + var2.ToString) Console.Out.WriteLine("var3=" + var3.ToString) Console.Out.WriteLine("var4=" + var4.ToString) Console.Out.WriteLine("var5=" + var5.ToString) Console.Out.WriteLine("var6=" + var6.ToString) Console.Out.WriteLine("var7=" + var7.ToString) Console.Out.WriteLine("var8=" + var8.ToString) Console.Out.WriteLine("var9=" + var9.ToString) Console.Out.WriteLine("var10=" + var10) Console.Out.WriteLine("var11=" + var11) Console.Out.WriteLine("var12=" + var12.ToString) End Sub

var10) Console.Out.WriteLine("var11=" + var11) Console.Out.WriteLine("var12=" + var12.ToString) End Sub
var10) Console.Out.WriteLine("var11=" + var11) Console.Out.WriteLine("var12=" + var12.ToString) End Sub

L'exécution donne les résultats suivants :

L'exécution donne les résultats suivants : 5
5
5

Notation des données littérales

6
6

Integer 145, -7, &FF (hexadécimal) Long 100000L Double 134.789, -45E-18 (-45 10-18) Single 134.789F, -45E-18F (-45 10-18)

Decimal 100000D Char "A"c

String "aujourd'hui" Boolean true, false date New Date(2003, 1, 1) pour le 01/01/2003

On notera les points suivants :

- 100000L, le L pour signifier qu'on considère le nombre comme un entier long

- 134.789F, le F pour signifier qu'on considère le nombre comme un réel simple

précision

- 100000D, le D pour signifier qu'on considère le nombre comme un réel décimal

- "A"c, pour transformer la chaîne de caractères "A" en caractère 'A'

la chaîne de caractères est entouré du caractère ". Si la chaîne doit contenir le caractère ", on double celui-ci comme dans

-

le caractère ", on double celui-ci comme dans - "abcd""e" pour représenter la chaîne
le caractère ", on double celui-ci comme dans - "abcd""e" pour représenter la chaîne

"abcd""e" pour représenter la chaîne [abcd"e].

7
7

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.

Déclaration des constantes

La syntaxe de déclaration d'une constante est la suivante :

const identificateur as type=valeur

Déclaration des variables

Une variable est identifiée par un nom et se rapporte à un type de données. VB.NET ne fait pas la

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 :

dim variable1,variable2,

,variablen

as identificateur_de_type

identificateur_de_type est un type prédéfini ou bien un type défini par le programmeur.

as identificateur_de_type où identificateur_de_type est un type prédéfini ou bien un type défini par le programmeur.
8
8

Les conversions entre nombres et chaînes de caractères

nombre -> chaîne nombre.ToString ou "" & nombre ou CType(nombre,String)

objet -> chaîne objet.ToString

chaine -> Integer Integer.Parse(chaine) ou Int32.Parse

chaîne -> Long Long.Parse(chaine) pu Int64.Parse

chaîne -> Double Double.Parse(chaîne)

chaîne -> Single Single.Parse(chaîne)

pu Int64.Parse chaîne -> Double Double.Parse(chaîne) chaîne -> Single Single.Parse(chaîne)

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

c,CInt,CLng,CObj,CShort,CSng,CStr 9 On peut également utiliser la fonction CType( expression
9
9

On peut également utiliser la fonction CType(expression, type) comme le montre le programme suivant :

9 On peut également utiliser la fonction CType( expression , t ype ) comme le montre
10
10
10 On remarquera que les nombres réels sous forme de chaîne de caractères doivent utiliser la

On remarquera que les nombres réels sous forme de chaîne de caractères doivent utiliser la virgule et non le point

décimal. Ainsi on écrira Dim d As Double = -14.98 mais Dim d1 As Double = Double.Parse("100,87")

11
11
11

Ecriture sur écran

Il existe différentes instructions d'écriture à l'écran :

Console.Out.WriteLine(expression)

Console.WriteLine(expression)

Console.Error.WriteLine (expression)

Lecture de données tapées au clavier

Le flux de données provenant du clavier est désigné par l'objet Console.In de type StreamReader. Ce type

12
12

d'objets permet de lire une ligne de texte avec la méthode ReadLine :

Dim ligne As String = Console.In.ReadLine()

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.

être exploitée par le programme.Le flux In peut être redirigé vers un fichier comme les flux

Exemple d'entrées-sorties

Exemple d'entrées-sorties 13
13
13

Affectation de la valeur d'une expression à une variable

14
14

On s'intéresse ici à l'opération variable=expression. L'expression peut être de type : arithmétique, relationnelle, booléenne, caractères.

Liste des opérateurs

( affectation )
( affectation )

Priorités dans l'évaluation des expressions arithmétiques

La priorité des opérateurs lors de l'évaluation d'une expression arithmétique est la suivante (du plus prioritaire au moins prioritaire)

lors de l'évaluation d'une expression arithmétique est la suivante (du plus prioritaire au moins prioritaire)

séquence d'instructions

ExerciceExerciceExercice 111 (Solution)(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 et B , faire la somme et afficher le résultat? Solution : A)- Analyse Données

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)

Écrire(« Entrer la valeur de B: ») Lire(B)

S:=A+B

Écrire(« La somme de A et B est: » S)

Fin

15
15

séquence d'instructions

ExerciceExerciceExercice 222 (Soluti(Soluti(Solutiooon)n)n)

Écrire un algorithme qui permet de calculer et afficher la surface d’un cercle?

Solution :

calculer et afficher la surface d’un cercle? Solution : A)- Analyse Données : R et P

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)

Écrire(« Entrer la valeur de P: ») Lire(P)

S:=R*R*P

Écrire(« La surface est: » S)

Fin

16
16

séquence d'instructions

17
17

ExerciceExerciceExercice 333 (Soluti(Soluti(Solutiooon)n)n)

Écrire un algorithme qui permet de calculer et afficher le salaire brut d’un ouvrier connaissant le nombre d’heure et le tarif d’horaire?

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)

Écrire(« Entrer la valeur de TH: ») Lire(TH)

SB:=H*TH

Écrire(« Le salaire brut est: » S)

Fin

H: ») Lire(H) Écrire(« Entrer la valeur de TH: ») Lire(TH) SB:=H*TH Écrire(« Le salaire brut

Structure Alternative

If Condition Then …………… End if

Si la Condition est vraie alors……

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

18
18

If Condition1 Then

ElseIf condition2 Then

ElseIf condition3 Then

end if

If A=B Then MsgBox("A=B")

If A=B then MsgBox("A=B") Else MsgBox("A différend de B") End If

If A=B Then MsgBox("A=B") If A=B then MsgBox("A=B") Else MsgBox("A différend de B") End If

structure alternative

Exercice ExerciceExercice

(Solution)(Solution) (Solution)

On désire comparer deux valeurs ,Écrire un algorithme qui affiche la plus grande des deux?

Solution :

algorithme qui affiche la plus grande des deux? Solution : A)- Analyse Données : A et

A)- Analyse

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)

Écrire(« Entrer la valeur de B: ») Lire(B)

Si A < B Alors Écrire(« la plus grande valeur est: » B) SINON Écrire(« la plus grande valeur est: » A) FinSi

Fin

19
19

structure alternative

Exercice ExerciceExercice 2 22

(Solution)(Solution) (Solution)

Afficher le résultat de fin d’année pour un étudiant connaissant sa moyenne générale?

Solution :

un étudiant connaissant sa moyenne générale? Solution : A)- Analyse Données : Moy saisi par clavier

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)

Si Moy < 10 Alors Écrire(« Le résultat de l’étudiant est: Doublant») SinonSi Moy < 12 Alors Écrire(« Le résultat de l’étudiant est: Admis») SinonSi Moy < 14 Alors Écrire(« Le résultat de l’étudiant est: Bien») Sinon Écrire(«Le résultat de l’étudiant est: » très Bien) FinSi

Fin

20
20
21
21

Structure de répétition

21 Structure de répétition
22
22
22
23
23
23

structure répétitive

24
24

ExerciceExerciceExercice 111

Écrire un algorithme qui saisie 15 entier et affiche leur somme et leur moyenne ?

Solution :

A)- Analyse

Données : N, Val saisis par clavier Résultats : Moy, Somme

Traitements : Somme:=Somme + Val Moy :=Somme/N

B)- Algorithme

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

Somme:=Somme+val FinPour Moy:=Somme/N Écrire(« La somme: » Somme ) Écrire(« La moyenne: » Moy ) Fin
25
25

Exercice 5.1

Écrire un algorithme qui demande à l’utilisateur un nombre compris entre 1 et 3 jusqu’à ce que la réponse convienne.

un algorithme qui demande à l’utilisate ur un nombre compris entre 1 et 3 jusqu’à ce
26
26

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.

on fera apparaître un message : « Plus petit ! », et inversement, « Plus grand
CalculCalcul susurr lele cerclecercle Ce TP consiste à faire un programme qui calcule la circonférence
CalculCalcul susurr lele cerclecercle
Ce TP consiste à faire un programme qui calcule la circonférence et la surface
d’un cercle en fonction du rayon de ce cercle.
Voici le dialogue à l’écran correspondant :
Calcul d’un cercle
Quel est le rayon du cercle
Sa circonférence est de
Sa surface est de
: 0,75
: 4,71239
: 1,76716
Voulez-vous faire un autre calcul (O/N)
Quel est le rayon du cercle
Sa circonférence est de
Sa surface est de
: O
: 27
: 169,646
: 2290,22104
Voulez-vous faire un autre calcul (O/N)
Au revoir et à bientôt !
: N
27

TP2TP2 -- ÉÉquationquation dudu secondsecond degrdegréé

É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
28

RACINE DE L’ÉQUATION DU 2ÈME DEGRÉ

y = ax2 + bx + c Quelle est la valeur de a Quelle est la valeur de b Quelle est la valeur de c L’équation ne possède pas de racine réelle

Voulez-vous faire un autre calcul (O/N)

Quelle est la valeur de a Quelle est la valeur de b Quelle est la valeur de c L’équation possède deux racines distinctes L’équation s’annule pour et

: 5 : 3 : 2 : d = -31

: O

: -2 : 0,6 : 0,5 : d = 4,36

: x1 = - 0,37

: x2 =

0,67

s’annule pour et : 5 : 3 : 2 : d = -31 : O :
29
29

Voulez-vous faire un autre calcul (O/N)

: O

Quelle est la valeur de a Quelle est la valeur de b Quelle est la valeur de c L’équation possède une racine double L’équation s’annule pour

Voulez-vous faire un autre calcul (O/N) Quelle est la valeur de a Quelle est la valeur de b Quelle est la valeur de c L’équation est du premier degré ! L’équation s’annule pour x = - (c/b)

Voulez-vous faire un autre calcul (O/N) Quelle est la valeur de a Quelle est la valeur de b Quelle est la valeur de c L’équation n’en est plus une !!!

: 2 : 2 : 0,5 : d = 0 : x1 = x2 = -0,5

: O

: 0

: 2

: 0,5

: -0,25

: O

: 0

: 0

: 0,5

: x1 = x2 = -0,5 : O : 0 : 2 : 0,5 : -0,25

Voulez-vous faire un autre calcul (O/N) Au revoir et à bientôt !

: N

30
30

ExerciceExerciceExercice 666

Le représentant d’une société de distribution des produits d’affichage électroniques sont rémunérés de façon suivante :

un fixe mensuel de 4000 DH une commission a pourcentage variable sur chaque tranche du chiffre d’affaire mensuel :

une commission de 5% pour un chiffre d’affaire compris entre 0 et 1000. une commission de 10% pour un chiffre d’affaire compris entre 1000 et 3000. une commission de 14% pour un chiffre d’affaire supérieur à 3000.

Faire un programme qui permet de calculer et afficher le montant total de la rémunération de chaque représentant.

En utilisant une boucle.

permet de calcul er et afficher le montant total de la rémunération de chaque représentant. En
31
31

ExerciceExerciceExercice 777

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

Le prix normal de la facture est de 30 DH, cependant des remises peuvent être accorder en fonction du critères suivants :

NF=2 ou Age < 15 ou HS>20 remise de 50% NF=2 et Age >75 remise 25% NF=3 et Age < 15 entrée refusée

Faire un programme qui permet de calculer et décider le prix à payer pou chaque client qui se présente . on arrête la saisie par "non"

de calculer et décider le prix à payer pou chaque client qui se présente . on

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 :

Dim Tableau(n) as type ou Dim Tableau() as type=New type(n) {}

32
32

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) 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.

Dim entiers() As Integer = {0, 10, 20, 30}

Les tableaux ont une propriété Length qui est le nombre d'éléments du tableau.

Dim Tableau(3) As Integer entraîne la création des variables 'Integer' suivante:

Tableau (0) Tableau (1) Tableau (2) Tableau (3)

Contenu du tableau:

0 0 0 0
0
0
0
0
33
33

Dim Tableau(3) comporte 4 éléments (éléments d'index 0 à 3).

Tableau(1)= 12 permet d’affecter le nombre 12 au 2eme élément du tableau.

0

1 2

0

0

S=Tableau(1) permet d’affecter à la variable S le 2eme élément du tableau.

Un tableau peut avoir plusieurs dimensions :

Dim T(2,2)

é l é m e n t : 0 , 0

é l é m e n t : 0 , 1

é l é m e n t : 0 , 2

é l é m e n t : 1 , 0

é l é m e n t : 1 , 1

é l é m e n t : 1 , 2

é l é m e n t : 2 , 0

é l é m e n t : 2 , 1

é l é m e n t : 2 , 2

e n t : 1 , 1 é l é m e n t : 1

Exemple:

La première ligne comporte les 3 éléments: T(0,0) T(0,1) et T(0,2) Pour mettre 33 dans l'élément central:

Dim T(2.2) As Integer

T(1,1)=33

voyons le contenu du tableau:

 

000

 

0

3

3

0

 

000

 

Il est possible de créer des tableaux à 3, 4

dimensions:

Exemple:

Dim T(3,1,2)

crée un tableau de 4X2X3 éléments.

Il est possible de créer des t ableaux à 3, 4 dimensions: Exemple: Dim T(3,1,2) crée
Il est possible de créer des t ableaux à 3, 4 dimensions: Exemple: Dim T(3,1,2) crée
34
34

Un tableau est un objet

Créons 2 tableaux et examinons les principales méthodes.

Dim a(3) As String

Dim b(3) As String

b=a.clone

‘Copie le tableau a dans b

35
35

La Classe Array.

Tous les tableaux viennent de la classe Array; vous pouvez accéder aux méthodes et

propriétés de System.Array de chaque tableau Par exemple,

la propriété Rank retourne le nombre de dimension du tableau

la méthode Sort trie ses éléments.

• la propriété Rank retourne le nombre de dimension du tableau • la méthode Sort trie
36
36

Exemple :

Soit un tableau Mois()

Clear

Array.Clear(Mois,0,2) ‘Efface 2 éléments du tableau Mois à partir de l’élément 0

Reverse

Array.Reverse(Mois) ‘inverse les 3 éléments à partir de l’élément 1

Copy

Array.Copy(Mois1,Mois2,20) copie 20 éléments de Mois vers Mois2

Sort

Array.sort(Mois)

Trie le tableau Mois

Malheureusement cette méthode marche sur des tableaux unidimensionnels uniquement.

Array.sort(Mois) Trie le tableau Mois Malheureusement cette méthode marche sur des tableaux unidimensionnels uniquement.
Array.sort(Mois) Trie le tableau Mois Malheureusement cette méthode marche sur des tableaux unidimensionnels uniquement.

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

b = a.Clone

'Copie le tableau a dans b

For i As Integer = 0 To b.Length - 1 MsgBox(b(i)) Next

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

37
37
i As Integer = 0 To c.Length - 1 MsgBox(c(i)) Next 37 End Sub Array.Sort(c) For

End Sub

Integer = 0 To c.Length - 1 MsgBox(c(i)) Next 37 End Sub Array.Sort(c) For i As

Array.Sort(c) For i As Integer = 0 To c.Length - 1 MsgBox(c(i)) Next

38
38

Equals

compare 2 tableaux.

Binarysearch recherche un élément dans un tableau trié unidimensionnel.

Exemple :

I=Array.BinarySearch(Mois, "Février") ‘retourne I=1

IndexOf

Recherche un objet spécifié dans un tableau unidimensionnel (trié ou non), retourne l'index

de la première occurrence.

Dim myIndex As Integer = Array.IndexOf(myArray, myString)

Retourne -1 si l'élément n'est pas trouvé.

LastIndexOf fait une recherche à partir de la fin.

Ubound Retourne le plus grand indice disponible pour la dimension indiquée d'un tableau

disponible pour la dimension indiquée d'un tableau Dim Indice, MonTableau(10, 15, 20) Indice =

Dim Indice, MonTableau(10, 15, 20)

Indice = UBound(MonTableau, 1) ' Retourne 10. (1 indique la première dimension du tableau)

GetUpperBound même fonction

Indice = MonTableau.GetUpperBound(0) '( 0 pour première dimension!!) Retourne 10.

39
39

Length retourne un entier qui représente le nombre d'éléments total dans le tableau.

Pour un tableau à une dimension Lenght-1 retourne l'indice du dernier élément.

Cela est souvent utilisé pour parcourir tous les éléments du tableau:

Dim t(10) As String Dim i As Integer For i = 0 To t.Lenght-1 t(i)= Next t

GetValue et SetValue permettent de connaître ou de modifier la valeur d'un élément du tableau:

Mois.GetValue(0) est équivalent à Mois(0)

Dans un tableau à 2 dimensions comment modifier l'élément (0,3):

à 2 dimensions co mment modifier l'élément (0,3): myArray.SetValue("fox", 0, 3) C'est équivalent

myArray.SetValue("fox", 0, 3)

C'est équivalent à myArray(0,3)="fox"

40 Retourne le plus grand indice disponible pour la dimension indiquée d'un tableau
40
40

Retourne le plus grand indice disponible pour la dimension indiquée d'un tableau

41
41

Exemple:

42
42

Créer un tableau de 6 éléments, mettre dans chaque élément du tableau le carré de

son indice, afficher le contenu du tableau.

Dim arr(5) As Integer

Dim i As Integer

For i = 0 To arr.GetUpperBound(0) ’ GetUpperBound(0) retourne 5 arr(i) = i * i Next i

For i = 0 To arr.GetUpperBound(0) msgbox("arr(" & i & ") = " & arr(i)) Next i

i * i Next i For i = 0 To arr.GetUpperBound(0) msgbox("arr(" & i & ")
43
43

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 Tableau() As String = {"ABCDEFG", "HIJKLMNOP"}

Dim AChercher As String = "MN"

Dim i As Integer

Dim position As Integer

For i = 0 To Tableau.Length - 1 'on parcourt chaque élément du tableau

position = Tableau(i).IndexOf(AChercher) 'dans l'élément du tableau on cherche la sous-chaîne

If position >= 0 Then Exit For

Next i
Next i
Les Les Les tableaux tableaux tableaux Tableau Note(12) en Numérique Variables Moy, Som en Numérique

LesLesLes tableauxtableauxtableaux

Tableau Note(12) en Numérique Variables Moy, Som en Numérique

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

Écrire(«la somme est: » Som) Écrire(«La moyenne est: » Moy)

Fin

44
44

Les tableaux

Les tableaux Solution Solution Solution (Exercice (Exercice (Exercice 5) 5) 5) Écrivez un algorithme permettant à

SolutionSolutionSolution (Exercice(Exercice(Exercice 5)5)5)

Écrivez un algorithme permettant à l’utilisateur de saisir un nombre quelconque de valeurs, qui devront être stockées dans un tableau. L’utilisateur doit donc commencer par entrer le nombre de valeurs qu’il compte saisir. Il effectuera ensuite cette saisie. Enfin, une fois la saisie terminée, le programme affichera le nombre de valeurs négatives et le nombre de valeurs positives.

Solution :

Variables Nb, Nbpos 0, Nbneg 0 en Numérique Tableau T() en Numérique Debut

Ecrire "Entrez le nombre de valeurs :" Lire Nb Redim T(Nb)

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

Ecrire "Nombre de valeurs positives : ", Nbpos Ecrire "Nombre de valeurs négatives : ", Nbneg Fin

Ecrire "Nombre de valeurs positives : ", Nbpos Ecrire "Nombre de valeurs négatives : ", Nbneg

collections

Dim maCollection As New Collection

Une collection fonctionne plutôt comme un groupe d'éléments dans laquelle il est possible

46
46

d’ajouter ou d’enlever un élément à n’importe quel endroit sans avoir à se préoccuper de

la taille de la collection, ni ou se trouve l'élément.

Le nombre d'élément n'est pas défini au départ comme dans un tableau.

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

éléments. On utilise la syntaxe: NomCollection.Add( élément, Clé)

On utilise la syntaxe: NomCollection.Add( élément, Clé) maCollection.Add("Bonjour", "30")

maCollection.Add("Bonjour", "30") maCollection.Add("Monsieur", "31") maCollection.Add("Et", "32") maCollection.Add("Madame", "33")

47
47

Col.Remove(2)

‘enlève l'élément numéro 2

L'objet collection utilise un couple Clé-Valeur, pour chaque élément.

utilise un coup le Clé-Valeur, pour chaque élément. l ' i n d e x :

l'index:

maCollection.Remove(2) 'Efface le second élément: Monsieur

Col.Item(2) Un élément est repéré par son indice.

La clé maCollection.Item("33") 'Affiche Madame maCollection.Remove("33") 'Efface Madame
La
clé
maCollection.Item("33") 'Affiche Madame
maCollection.Remove("33") 'Efface Madame

Résumé

Faire un programme qui gère un carnet d’adresses.

Résumé Faire un programme qui gère un carnet d’adresses. 48
48
48

1 :Ajouter

1 :Ajouter 49
1 :Ajouter 49
1 :Ajouter 49
1 :Ajouter 49
49
49

1 :Consulter

1 :Consulter 50
50
50
1 :Rechercher 51

1 :Rechercher

1 :Rechercher 51
1 :Rechercher 51
1 :Rechercher 51
51
51
52
52

Faire un programme qui gère Une bibliothèque.

Faire un programme qui gère Une bibliothèque. 53
53
53
54
54

LesLesLes FonctionsFonctionsFonctions PrPrPrédéfiniesééddééfiniesfinies

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 :

- Len(chaîne)

- Mid(chaîne,n1,n2)

: renvoie le nombre de caractères d’une chaîne : renvoie un extrait de la chaîne, commençant au caractère n1 et faisant n2 caractères de long. : renvoie les n caractères les plus à gauche dans chaîne. : renvoie les n caractères les plus à droite dans chaîne

- Left(chaîne,n)

- Right(chaîne,n)

- Trouve(chaîne1,chaîne2) : renvoie un nombre correspondant à la position de chaîne2

dans chaîne1. Si chaîne2 n’est pas comprise dans chaîne1, la fonction renvoie zéro. : Cette fonction permet de récupérer le reste de la division d’un nombre par un deuxième nombre.

-Modulo
-Modulo
55
55

LesLesLes chachachaînesîînesnes dedede caractcaractcaractèresèèresres

'ToUpper()

'Mettre en majuscules une chaîne de caractère

Dim Str As String = "bonjour"

Dim Str2 As String

Str2 = Str.ToUpper() 'ToLower()

MsgBox(Str2)

' .Trim()

'Permet de supprimer des caractères en début et fin de chaîne.

Dim A As String = "#@Informatique@#"

Dim B As Char() = {"#", "@"}

'B est un tableau de Char contenat les caractères à supprimer.

A = A.Trim(B) 'Donne A= "Informatique"

MsgBox(A)
MsgBox(A)

'Length: Taille(d) une chaîne en nombre de caractère. 'Afficher la taille de la chaîne « VB »

Dim S As String = "VB"

MsgBox(S.Length) 'Affiche 2

'Concat:

'Concaténation de plusieurs chaînes : mise bout à bout :

Dim S1 As String = String.Concat(A, Str)

MsgBox(S1)

'Insert:

'Insère une chaîne dans une autre.

Dim S3 As String = "VisualBasic"

dans une autre. Dim S3 As String = "VisualBasic" MsgBox (S3) S3 = S3. Insert (6,
dans une autre. Dim S3 As String = "VisualBasic" MsgBox (S3) S3 = S3. Insert (6,

MsgBox(S3)

S3 = S3.Insert(6, " ") 'Donne S= "Visual Basic"

'Noter: le premier caractère a la position 0.

56
56

'Remove:

57
57

'Enlève des caractères à une certaine position dans une chaîne.

Dim S4 As String = "VisualBasic"

S4 = S4.Remove(2, 7) 'Donne S= "Viic"

MsgBox(S4)

'Replace:

'Remplace dans une chaîne de départ, toutes les occurrences d'une chaîne par une autre.

'Resultat = ChaineDépart.Replace(ChaîneARemplacer, ChaîneQuiRemplace)

Dim S5 As String = "Visual_Basic"

S5 = S5.Replace("_", " ") 'Donne S= "Visual Basic"

MsgBox(S5)

") 'Donne S= "Visual Basic" MsgBox (S5) Dim LaDate As String = "12.02.1990" LaDate =
") 'Donne S= "Visual Basic" MsgBox (S5) Dim LaDate As String = "12.02.1990" LaDate =

Dim LaDate As String = "12.02.1990"

LaDate = LaDate.Replace(".", "/")

MsgBox(LaDate)

'Donne S= "12/02/1990"

58
58

'.Substring()

'Extrait une partie d’une chaîne.

'Le premier paramètre indique la position de départ; le second, le nombre de caractères à extraire.

Dim a1 As String = "Informatique"

MessageBox.Show(a1.Substring(2, 3)) 'Affiche for

'left

'len

Dim C As String = "DUBONET"

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

To Microsoft.VisualBasic.Len(C) Tx += Microsoft.VisualBasic.Left(C, i) + ControlChars.CrLf Next i TextBox1.AppendText(Tx)

TextBox1.AppendText(Tx)

' Comparer

59
59

Dim maString1 As String = "salut“

Dim maString2 As String = "salut"

'On compare les 2 Strings, si elle sont égales cela retourne 0, l'expressuopn 0=0 est True, on la mettre dans un Boolean

Dim res As Boolean = (String.Compare(maString1, maString2) = 0)

MsgBox(res)

'Compter combien de fois un mot apparaît dans un texte?

'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.

Dim monTexte As String = "salut ca va! salut ca va"

Dim monMot As String = "lu"

Dim compteur As Integer

Dim index As Integer

Do

index = monTexte.IndexOf(monMot, index + 1)

As Integer Do index = monTexte.Index Of(monMot, index + 1) compteur += 1 Loop Until index

compteur += 1

Loop Until index < 0

MsgBox(compteur - 1)

60
60

Les instructions élémentaires de VB.NET

On distingue

1 les instructions élémentaires exécutées par l'ordinateur.

2 les instructions de contrôle du déroulement du programme.

Les instructions élémentaires apparaissent clairement lorsqu'on considère la structure d'un micro-ordinateur et de ses périphériques.

apparaissent clairement lo rsqu'on considère la structure d'un micro-ordinateur et de ses périphériques.

Interfaces graphiques avec VB.NET

Interfaces graphiques avec VB.NET 61
61
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?

62
62

Cliquer sur ‘Boite à Outils’ à gauche , bouton WindowsForms, puis bouton ‘Button’,cliquer dans Form1, déplacer le

curseur sans lâcher le bouton, puis lâcher le bouton : un bouton apparaît.

Comment ajouter un label?

Un label est un contrôle qui permet d’afficher un texte.

ajouter un label? Un label est un contrôle qui permet d’afficher un texte. Modifier les propriétés

Modifier les propriétés de l'objet.

ajouter un label? Un label est un contrôle qui permet d’afficher un texte. Modifier les propriétés
ajouter un label? Un label est un contrôle qui permet d’afficher un texte. Modifier les propriétés
ajouter un label? Un label est un contrôle qui permet d’afficher un texte. Modifier les propriétés
La Classe 'Control': Les contrôles (Button, TextBox ListBox System.WindowsForms. ) héritent tous de la
La Classe 'Control':
Les contrôles (Button, TextBox ListBox
System.WindowsForms.
)
héritent tous de la classe Control qui hérite elle-même de la classe
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.
Le bouton sur lequel est écrit « OK » sera nommé BoutonOK.
La liste qui affiche les utilisateurs sera nommée ListUtilisateurs.
Il est conseillé de débuter le nom de l’objet par un mot évoquant sa nature: BoutonOk ou BtOk ou ButtonOk, btnOk
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.
ButtonOk.Visible=False fait disparaître le bouton.
chk
pour les CheckBox
cbo
pour les combos
Font : Permet le choix de la police de caractères affichée dans l’objet.
dlg pour les DialogBox
frm pour les Form
lbl pour les labels
txt pour les Textbox
tb pour les Toolsbar
rb pour les radiobutton
BackColor ForeColor : Couleur du fond, Couleur de l’avant plan.
Pour un bouton Forecolor correspond au cadre et aux caractères.
ButtonOk.ForeColor= System.Drawing.Color.Blue
mm pour les menus
tmr pour les timers
Evènements liés aux objets avec représentation visuelle
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. Exemple Comment demander son nom à l'utilisateur ? txtNom.Select() dans Form_Load donne
Les contrôles TextBox.
Exemple Comment demander son nom à l'utilisateur ?
txtNom.Select() dans Form_Load donne le focus à la TextBox
Une fois que l'utilisateur a tapé son nom , il clique sur le bouton 'Ok':
Dans btOk_Click il y a:
Dim nom As String
nom= txtNom.Text La variable Nom contient bien maintenant le nom de l'utilisateur.
Parmi les multiples propriétés de ce contrôle, signalons :
Multiline : autorise ou non l’écriture sur plusieurs lignes.
Scrollbars : fait figurer une barre de défilement horizontale ou verticale (ou les deux)
PaswordChar : crypte le texte entré sous forme d’étoiles.
MaxLength : limite le nombre de caractères qu’il est possible de saisir.
TextBox1.MaxLength= 3 'limite la saisie à 3 caractères.
TextBox1.MaxLength= 0 'ne limite pas la saisie.
TextLength donne la longueur du texte
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

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:

Text ="" (la TextBox est vide), enfin un bouton nommé btOk dont la propriété Text ="Ok".Cela
Text ="" (la TextBox est vide), enfin un bouton nommé btOk dont la propriété Text ="Ok".Cela
Les Cases à cocher Il y a 2 sortes de case à cocher: Les CheckBox.
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.
RadioButton.Checked=True
'Coche le bouton
If RadioButton.Checked=True Then ' Teste si le bouton est coché.
End If
65

GroupBox

66
66

Il est possible de regrouper des contrôles dans un container, on peut par exemple regrouper plusieurs RadioButton. Le container peut être un GroupBox

dans un container , on peut par exemple regrouper plusieurs RadioButton . Le container peut être

TP 1: Réaliser une application qui fait les calculs suivants :

TP 1: Réaliser une application qui fait les calculs suivants : 67
67
67

TP 2: Réaliser une application qui affiche dans la zone du texte les numéros de 1 à 10 :

68
68
TP 2: Réaliser une application qui affiche dans la zone du texte les numéros de 1

TP 3: Réaliser une application qui calcul le prix total de la voiture :

TP 3: Réaliser une application qui calc ul le prix total de la voiture : 69
69
69
70
70

ListBox

Le contrôle ListBox affiche une liste d'éléments (d'objets) dans laquelle l'utilisateur peut faire un ou plusieurs choix.

La liste contient "tarte", "poisson", "viande", "légumes", "sauces". Ici l'élément "poisson" est sélectionné, il est en bleu.

"poisson" est sélectionné, il est en bleu. La listBox contient une collection d'"Item":

La listBox contient une collection d'"Item":

Elle est vide au départ. Si j'ajoute un élément à la ListBox, cela ajoute un élément à la collection Items

Vider la ListBox:

ListBox1.Items.Clear()

Comment enlever des éléments?

' Enlever l'élément d'index 5:

ListBox1.Items.RemoveAt(5)

' Enlever l'élément sélectionné:

ListBox1.Items.Remove(ListBox1.SelectedItem)

' Enlever l'élément "Tokyo":

ListBox1.Items.Remove("Tokyo")

Comment lire l'élément 3?

T=ListBox1.Items(3).ToString

Comment rechercher l'élément qui contient une chaîne de caractères? List1.FindString("pa") retourne le numéro du premier élément commençant par 'pa'.

Ajouter l'élément "poisson"

ListBox1.Items.Add("poisson")

élément commençant par 'pa'. Ajouter l'élément "poisson" ListBox1.Items.Add("poisson")

TP 4: Réaliser une application qui affiche dans la liste les noms des fruits ou les noms des légumes selon le choix puis affiche le nom d’élément sélectionné :

71
71
liste les noms des fruits ou les noms des légumes selon le choix puis a ffiche

TP 5: Réaliser une application qui calcule et affiche dans les zones du texte la table de la multiplication selon le choix :

72
72
une application qui calcule et affiche dans les zones du texte la table de la multiplication

TP6 :Réaliser une application qui affiche la plus grande des deux nombres saisies par l’utilisateur

73
73
TP6 : Réaliser une application qui affiche la plus grande des deux nombres saisies par l’utilisateur
74
74

TP7

Le représentant d’une société de distribution des produits d’affichage électroniques sont rémunérés de façon suivante :

un fixe mensuel de 4000 DH une commission a pourcentage variable sur chaque tranche du chiffre d’affaire mensuel :

une commission de 5% pour un chiffre d’affaire compris entre 0 et 1000. une commission de 10% pour un chiffre d’affaire compris entre 1000 et 3000. une commission de 14% pour un chiffre d’affaire supérieur à 3000.

Réaliser une application qui permet de calculer et afficher le montant total de la rémunération de chaque représentant.

une application qui permet de calcu ler et afficher le montant total de la rémunération de
75
75
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
76
et remplisse un tableau de 5 valeurs numériques puis affiche ces nomb res et la somme