You are on page 1of 29

Applications des

mathmatiques
05082014.pdf

Introduction la
Programmation
en Visual Basic 6

Jean-marc Ledermann 2014

Table des matires


1

Contrles, proprits.......................................................................................................................................... 2

Procdures.............................................................................................................................................................. 4

Variables et formules de calculs, zones de texte ..................................................................................... 6

Dclaration des variables ................................................................................................................................. 8

vnements ..........................................................................................................................................................10

Structures de slection ....................................................................................................................................12

Focus .......................................................................................................................................................................14

Structures d'itration, la boucle "Pour" ....................................................................................................16

Structures d'itration, la boucle "Jusqu'" ...............................................................................................18

10 Graphisme .............................................................................................................................................................20
11 Utilisation de la souris .....................................................................................................................................22
12 Procdures et fonctions.................................................................................................................................24
13 Variables indices ..............................................................................................................................................26

Avant-propos
Visual Basic 6 est un langage de programmation dvelopp par Microsoft en 1998, tant ancien,
il nest plus support en tant que tel par Microsoft bien que Visual Basic pour application install avec Word et Excel repend la mme interface et le mme langage.

Visual Basic 6 reste un langage bien adapt aux objectifs du cours dapplications des mathmatiques car, trs proche des pseudos langages, il permet, avec un minimum de connaissances en
programmation, de tester les algorithmes et mthodes mathmatiques qui forment lossature de
ce cours.
Les objectifs de ce premier module du cours dapplications des mathmatiques est la matrise
des bases de la programmation scientifique, matrise indispensable pour la suite du cours dans
lequel les diffrentes mthodes mathmatiques tudies seront illustres et appliques par la
cration de programmes.
Un CD dinstallation est mis la disposition des lves du LDDR, avec laccord de Microsoft
suisse. Il permet dinstaller et dutiliser Visual Basic 6 sur un ordinateur personnel (Windows).

Installation de Visual Basic 6 sous Windows 8


1) Bouton de droite sur le fichier "Setup.exe" du CD, puis "Compatibilit", cocher "Compatibilit
XP SP3".
2) Bouton de droite sur le fichier "Setup.exe", puis "Excuter en tant qu'administrateur".
3) Recliquer sur "Setup.exe" du CD dinstallation, puis "Compatibilit", dcocher "Compatibilit
XP SP3".
4) Bouton de droite sur le lien "VB6.exe", puis "Compatibilit", cocher "Compatibilit XP SP2".
5) Effectuer ventuellement les mises jour :
http://www.microsoft.com/fr-ch/download/details.aspx?id=5721
puis
http://support.microsoft.com/kb/957924?wa=wsignin1.0 .

1 Contrles, proprits
Visual Basic permet de crer des programmes informatiques en plaant l'cran les objets qui
devront apparatre durant l'excution du programme et en crivant le code Basic qui modifiera
les donnes. Ce programme admet 2 modes de fonctionnement, le mode cration de programmes
et me mode excution de programmes.
Les objets, appels contrles (tiquettes, zones de texte, boutons de commande, listes, zones
d'image, etc.), sont dessins sur une feuille (Form) qui prsente la partie principale de l'cran.
La feuille et les contrles possdent des proprits (nom, titre, couleur, etc.) qui dfinissent leur
apparence. Ces proprits sont dfinies lors de la cration du contrle mais peuvent varier au
cours de l'excution du programme.
Aprs avoir charg Visual Basic, l'cran prsente :
la barre de menus qui contient le nom des menus drouler.
La barre d'outils qui contient des raccourcis vers les lments des menus frquemment utiliss.
La feuille qui est l'cran du programme raliser. Elle contiendra les contrles.
La bote outils qui propose les contrles que l'on peut placer sur la feuille.
Pour placer un contrle sur la feuille, il suffit de le slectionner avec la souris puis de fixer sa
position et sa taille sur la feuille.
La fentre des proprits qui donne accs aux proprits de la feuille et des contrles dessins.
Pour modifier une proprit, il suffit de modifier sa valeur dans la colonne de droite.
Si l'une ou l'autre de ces parties de l'cran n'est pas affiche, le menu affichage permet de la faire
apparatre.

Introduction la programmation

Exercice 1
Excuter Visual Basic puis placer sur la feuille quelques contrles. Modifier certaines proprits
de la feuille et des contrles.
La proprit Caption de la feuille dtermine le texte affich dans la barre de titre.
La proprit Caption d'un contrle tiquette (Label) dfinit le texte sur l'tiquette.
La proprit Text d'un contrle zone de texte (TextBox) dfinit le texte initialement affich.
La proprit Caption d'un contrle bouton de commande (CommandButton) dfinit le texte
affich sur le bouton.
Excuter le programme et observer les particularits des contrles. Interrompre l'excution en
cliquant sur la croix puis enregistrer le projet sous le nom EXER01. Lors de l'enregistrement du
projet, 2 fichiers au moins sont crs. Le premier (EXER01.FRM) contient les caractristiques des
objets de la feuille et le second (EXER01.VBP) une description gnrale du projet. Pour limiter le
nombre de fichier, il est prfrable denregistrer la forme plutt que le projet.

Exercice 2
Excuter Visual Basic puis placer sur la feuille un contrle zone d'image (PictureBox) ainsi qu'un
contrle tiquette.
Un contrle zone d'image permet d'afficher une image dont le nom est prcis par la proprit
picture. Ce contrle permettra galement d'afficher des graphismes.
Un contrle tiquette permet d'afficher des textes dfinis par la proprit Caption.
Modifier des proprits de ces contrles de sorte qu'ils affichent votre photo ainsi que votre
nom.
Essayer de modifier d'autres proprits et observer l'effet.
Enregistrer le projet sous le nom EXER02.

Contrles, proprits

2 Procdures
Chaque contrle porte un nom qui lui est attribu lors de sa cration. La premire tiquette place sur la feuille portera le nom Label1, la seconde Label2 et ainsi de suite. Le 1er bouton plac
se nommera Command1, le second Command2; la premire zone de texte se nommera Text1, la
seconde Text2
chaque proprit correspond une variable nomme contrle.proprit o contrle reprsente
le nom du contrle et proprit celui de la proprit. Par exemple, la variable correspondante la
proprit Caption d'un bouton nomm Label1 s'appellera Label1.Caption. Pour modifier une proprit durant l'excution du programme, il faut modifier la valeur de cette variable en incorporant une instruction Basic du style :
Let contrle.proprit = valeur
o valeur reprsente la nouvelle valeur que doit prendre la proprit.
Par exemple, l'instruction basic Let Label1.Caption="Salut" permet d'affecter la valeur Salut la
proprit Caption du contrle Label1 donc d'afficher le mot Salut l'emplacement de l'tiquette
nomme Label1.
Les instructions basic qui forment un programme sont regroupes en procdures. Une procdure particulire est active, durant l'excution du programme, par un clic sur un bouton de
commande. Pour crer cette procdure particulire, il faut, en mode cration de programme,
double-cliquer sur le bouton de commande concern; on accde ainsi un diteur qui permet
d'crire le programme.
L'exemple ci-contre illustre la cration d'un petit programme qui, lors d'un clic sur le bouton intitul Bonjour, affiche Salut sur une tiquette.
1) Dessiner l'tiquette et le bouton sur la feuille puis modifier leurs proprits.
2) Double-cliquer sur le bouton Command1 (Bonjour) pour accder l'diteur de programme qui
propose de complter la procdure Click() du contrle Command1.
3) Taper l'instruction Basic Let Label1.Caption="Salut" qui permet de modifier la proprit caption du contrle Label1.

L'diteur de programme peut aussi tre appel par l'option Code du menu Affichage. Deux menus
permettent alors de choisir le contrle et la procdure qui doit tre cre.
4

Introduction la programmation

Exercice 3
Crer un programme
comprenant une tiquette et 3 boutons. Un
clic sur l'un des boutons doit permettre de
changer la couleur de
fond et le contenu de
l'tiquette.

Indications
1) Les instructions
Let Label1.BackColor=RGB(255,0,0)
Let Label1.BackColor=RGB(0,255,0)
Let Label1.BackColor=RGB(0,0,255)
permettent de colorier le fond de l'tiquette Label1 en rouge, en vert, en bleu.
2) La procdure Command1_Click sera excute lors d'un clic de l'utilisateur sur le bouton Command1 alors que la procdure Command2_Click sera excute lors d'un clic de l'utilisateur sur
le bouton Command2

Exercice 4
Crer un programme qui permette de slectionner le nom d'un lve de la classe dans une zone
de liste (ComboBox) puis, par un clic sur un bouton de commande, qui affiche dans une zone
d'image, une photo de l'lve slectionn.
Remarques
1) La proprit Text d'une zone de liste contient le texte qui est affich l'cran.
2) La proprit List d'une liste contient les lments qui apparaissent dans le menu.
3) La proprit Picture d'une zone d'image dfinit l'image afficher.
4) L'instruction Basic
Let Picture1.Picture = LoadPicture("phoebe.jpg")
permet par exemple d'afficher, dans la zone d'image nomme
Picture1, l'image phoebe.jpg.
5) L'instruction Basic
Let Picture1.Picture = LoadPicture(Combo1.Text & ".jpg")
permet d'afficher, dans la zone d'image nomme Picture1 l'image
slectionne dans le menu.
6) Dans le programme raliser, l'instruction insrer dans la procdure Click du contrle Command1 est :
Let Picture1.Picture = LoadPicture(Combo1.Text & ".jpg")
Attention, l'image doit se trouver dans le mme dossier que le programme.

Procdures

3 Variables et formules de calculs, zones de texte


Une variable est une zone de mmoire repre par un nom et pouvant mmoriser une valeur.
On connat dj les variables qui contiennent les proprits des contrles. En plus de ces variables dont le nom est de la forme Contrle.Proprit, le programmeur peut utiliser d'autres variables dont il dcide lui-mme du nom. Pour assigner une valeur une variable nomme par
exemple Var, on utilise l'instruction Let Var = valeur.
La valeur peut tre un nombre ou une chane de caractres (mot ou phrase) dlimite par des
guillemets. la place d'une valeur spcifie, on peut mettre une formule de calcul. Dans ce cas, la
valeur mmorise est le rsultat du calcul indiqu.
Pour crire une formule de calcul numrique, on utilise les mmes oprateurs arithmtiques
qu'une calculatrice : +, -, *, /, ^ (lvation une puissance) et les fonctions Sqr( ) (racine carre)
et Int( ) (partie entire).
Pour manipuler des chanes de caractres, on utilise l'oprateur & qui colle deux mots, les fonctions Left(X,N) et Right(X,N) qui prennent N caractres gauche ou droite de la chane X et la
fonction LEN(X) qui donne la longueur de la chane X.
Exemple
Let Nom = "Dupont"
Let L = Len(Nom)
Let Affichage = Nom & " comporte " & L & "caractres"
Let Label1.Caption = Affichage
Les zones de texte (TextBox) sont des contrles qui permettent d'introduire des donnes
(nombres ou chanes de caractres) dans un programme. Elles affichent un texte qui peut tre
modifi par l'utilisateur durant l'excution du programme. La proprit Text contient le texte affich et la variable TEXT1.TEXT permet donc de connatre ou de modifier le contenu dune zone
de texte appele TEXT1.
Les tiquettes (Label) ont des contrles qui permettent d'afficher du texte ou le contenu d'une
variable. Pour afficher le contenu d'une variable, il faut donner la valeur de la variable la proprit Caption de l'tiquette.
Exemple
Cet exemple consiste en un programme de conversion des francs
suisses en euros. La feuille contient une zone de texte pour saisir
une somme en francs suisses, une tiquette pour afficher la valeur
en euros, deux tiquettes pour les libells CHF et EUR ainsi qu'un
bouton de commande pour afficher la somme et un autre pour quitter le programme.
La procdure active lors d'un clic sur le bouton nomm Command1 (Affiche) est la suivante :
Private Sub Command1_Click()
Let Chf = Text1.Text
Let Euro = Chf / 1.20
Let Label1.Caption = Euro
End Sub

dbut de la procdure Click


assigne la variable Chf le contenu de la zone de texte
Text1
assigne la variable Euro le rsultat de l'opration
affiche le contenu de la variable Euro sur l'tiquette Label1
fin de la procdure Click

La procdure lie au bouton de commande Fin ne contient que l'instruction basic End qui termine le programme.

Introduction la programmation

Exercice 5
Crer un programme qui permette de donner le rayon
d'un cercle puis, par un clic sur un bouton de commande,
affiche son primtre et son aire.
Droulement du programme :
Une zone de texte permet l'utilisateur de donner le
rayon.
Le rayon donn dans la zone de texte sera, suite un clic sur calcule, enregistr dans une variable nomme Rayon.
Le primtre est calcul et enregistr dans variable nomme Perimetre.
L'aire est calcule et enregistre dans une variable nomme Aire.
Le primtre et l'aire sont affichs sur les tiquettes correspondantes.
Pour afficher le primtre, il suffit d'assigner la variable Label1.Caption la valeur de la variable Perimetre.
L'instruction Let Label1.Caption = Perimetre permet cette assignation.

Exercice 6
Crer un programme qui permette de donner le rayon et la hauteur d'un cylindre puis, par un
clic sur un bouton de commande, affiche son volume

Exercice 7
Crer un programme qui permette de donner le nom de l'utilisateur puis, par un clic sur un bouton de commande affiche, sur une tiquette, Salut suivi du nom donn.

Exercice 8
Crer un programme qui permette de donner une somme en francs suisses, puis qui affiche
l'quivalent dans diffrentes monnaies trangres.
Pour amliorer l'affichage des montants, on pourra recourir une commande de formatage
comme Format(Var,"0.00") qui force l'criture de la variable Var avec au moins un chiffre avant
la virgule et de 2 aprs.
Les cours du change du jour peuvent tre trouv sur internet.

Exercice 9
Crer un programme qui permette de donner un nombre, puis, aprs un clic sur un bouton de
commande affiche sur une tiquette la partie entire de ce nombre et sur une autre tiquette sa
partie dcimale.

Variables et formules de calculs, zones de texte

4 Dclaration des variables


Le type d'une variable dcrit le genre de contenu qu'elle est susceptible de recueillir. Les types
les plus utiliss pour les variables sont les entiers, les rels et les chanes de caractres. Par dfaut Visual Basic considre que chaque variable qui n'a pas t dclare est de type variable (variant) c'est dire qu'elle peut changer de type lors de l'excution du programme.
Exemple de types variables.
Let a = 12
Let b = a & a
Let c = 2 * b c = 2424

a contient un nombre entier.


les contenus des variables a et b sont ici considrs
comme des chanes de caractres.
les contenus des variables b et c sont ici considrs
comme des entiers.

Pour rendre le code plus clair et pour viter les erreurs, il est prfrable et parfois indispensable
de prciser quel type de donne sera enregistr dans les variables employes. Cette dclaration
se fait dans la partie Dclaration situe au dbut du programme l'aide de l'instruction Dim
dont la syntaxe est la suivante :
Dim Nom de variable As Type
Les principaux types sont :
Integer
nombre entier compris entre -32768 et 32767
Long
nombre entier compris entre -2 147 483 648 et 2 147 483 647
Single
nombre rel virgule flottante en simple prcision
Double
nombre rel virgule flottante en double prcision
String
chane de caractres
Exemple :
Dim a As Integer
Dim b As Single
Dim c As String

dclare la variable a comme entire


dclare la variable b comme relle
dclare la variable c comme chane de caractres

Remarques
1. Il est indispensable de dclarer une variable si sa valeur doit tre utilise dans plusieurs procdures du projet ou dans plusieurs excutions de la mme procdure car, au dbut de l'excution d'une procdure, toutes les variables non dclares sont automatiquement mises
zro.
2. En excutant le programme ci-contre, avec deux
chiffres dans les zones de texte, on constate que ces
chiffres sont considrs comme des textes et que le
rsultat affich n'est pas celui que l'on attend. Pour
corriger ce dfaut, il faut soit dclarer les variables x
et y, soit complter les affectations des zones de
texte par : "Let x = Val(Text1.Text)", qui transforme le
contenu Text1.Text en une valeur numrique.
8

Introduction la programmation

Exercice 10
Crer un programme qui demande la longueur des cts d'un rectangle puis qui affiche le primtre et l'aire de ce rectangle.

Exercice 11
Crer un programme qui demande un verbe rgulier en "er" puis qui
affiche, la premire personne du singulier, le prsent, l'imparfait, le
futur et le pass simple de ce verbe.

Exercice 12
Crer un programme qui demande un nombre, puis lors d'un clic sur
un bouton de commande, calcule puis affiche le nombre arrondi
l'entier, au dixime, au vingtime et au centime. Soigner la prsentation.
Remarque
INT(X + 0.5) produit un entier en arrondissant X l'entier le plus
proche.

Exercice 13
Crer un programme qui calcule l'image de x par la fonction donne
par () = 2 + 2 1.
La valeur de x doit pouvoir tre donne par l'utilisateur puis, aprs
un clic sur un bouton, l'image de x par f doit tre affiche.

Exercice 14
a) Crer un programme qui affiche le nombre de clics que la souris effectue sur un bouton de
commande.
Remarque
L'instruction Let N=N+1 permet de modifier la variable N en additionnant 1 sa valeur.
b) Crer un programme qui calcule la somme des premiers nombres entiers.
Remarque
L'instruction Let S=S+N permet d'ajouter N la variable S.

Dclaration des variables

5 vnements
On a vu que, lors de l'excution d'un programme, un clic sur un bouton de commande nomm
par exemple Command1 a pour effet d'excuter une procdure appele command1_Click( ).
Le clic de la souris est un vnement et la procdure Command1_Click( ) est une procdure vnementielle, elle s'excute lorsque l'vnement a lieu.
D'autres vnements peuvent provoquer l'excution d'une procdure vnementielle, par
exemple le dplacement de la souris sur un contrle nomm Command1 a pour effet d'excuter
une procdure appele Command1_MouseMove( . . . . ).
Outre les boutons de commandes, les autres contrles possdent galement des procdures vnementielles, par exemple.
Chaque contrle possde une procdure vnementielle nomme Click qui est excute lors
d'un clic de la souris sur le contrle. La procdure Label1_Click( ) est par exemple excute
lors d'un clic de la souris sur une tiquette nomme Label1.
Un contrle zone de texte possde une procdure vnementielle nomme Change qui est excute lors de chaque modification du contenu de la zone de texte.
La procdure ci-dessous permet par exemple d'afficher sur une tiquette nomme Label1 les
caractres taps dans une zone de texte nomme Text1.
Private Sub Text1_Change()
Label1.Caption = Text1.Text
End Sub
Un contrle zone de texte possde une procdure vnementielle nommes KeyPress qui est
excute lorsqu'une touche du clavier est presse. Cette procdure KeyPress attribue encore
une variable nomme KeyAscii, le code ascii de la touche presse.
La feuille (Form1) possde une procdure vnementielle nomme Form1_Load qui est excute au chargement de la feuille donc lorsque le programme dmarre. Cette procdure est utile
pour attribuer des valeurs par dfaut aux variables.
Pour crire une procdure vnementielle, il faut la slectionner ainsi que le contrle correspondant dans les menus droulants de l'diteur de programme.

10

Introduction la programmation

Exercice 15
chaque caractre correspond un code, le code ascii de ce caractre. Par exemple le code ascii
du caractre "A" est 65.
crire un programme qui permet de taper du texte dans un contrle zone de texte, et affiche (sur
une tiquette) le code ascii de chaque caractre press.
La procdure vnementielle Text1_KeyPress(KeyAscii) d'un contrle zone de texte Text1 est excute lors de chaque pression sur une touche du clavier. La variable KeyAscii prend la valeur du
code ascii correspondant la touche presse.
Remarque
La fonction Chr(N) rend le caractre dont le code ascii est contenu dans la variable N et la fonction Asc(C) rend le code ascii du caractre contenu dans la variable C.

Exercice 16
crire un programme qui permette de donner une somme en
francs suisses et qui comporte 2 zones de texte. Si l'utilisateur
tape une somme en francs suisse dans la zone de texte de
gauche, le programme affiche la somme correspondante en
euro dans celle de droite et si l'utilisateur tape une somme en
euro dans la zone de texte de droite, le programme affiche la
somme correspondante en francs suisses dans celle de gauche.
(Les sommes sont affiches avec 2 dcimales).
Remarque
L'utilisation d'un contrle zone de texte pour afficher des rsultats est viter, pour s'en convaincre, observer le droulement du programme avec un change fix 1.27 CHF pour 1 .

Exercice 17
crire un programme qui permette d'afficher une couleur dont l'utilisateur prcise ses composantes de rouge
de vert et de bleu dans 3 barres de dfilement horizontales.
Consulter l'aide en ligne de Visual Basic pour dcouvrir
les contrles barres de dfilement horizontal.

Exercice 18
crire un programme qui permette de dplacer une image avec la souris.
La procdure vnementielle Form_MouseMove(Button As Integer, Shift As Integer, X As Single,
Y As Single) est excute lorsque la souris se dplace sur la feuille. Les coordonnes du pointeur de la souris sont enregistres dans les variables X et Y. L'origine est le coin suprieur
gauche de la feuille.
La procdure vnementielle Picture1_MouseMove( ) est excute lorsque la souris se dplace sur le la zone d'image Picture1. Les coordonnes du pointeur de la souris sont enregistres dans les variables X et Y. L'origine est le coin suprieur gauche de la zone d'image.
Pour dplacer la zone d'image Picture1, il suffit de modifier ses proprits Picture1.Left et Picture1.Top.

vnements

11

6 Structures de slection
Pour excuter certaines instructions lorsqu'une condition est satisfaite et d'autres instructions si
cette condition n'est pas satisfaite on utilise une structure de slection.
If condition Then
ou
If condition Then
partie du programme tant excute
partie du programme tant excute
si la condition est remplie
si la condition est remplie
End If
Else
partie du programme tant excute
si la condition n'est pas est remplie
End If
Les conditions sont des galits (=) ou ingalits (<, >, <=, >=, <>) entre des variables ou des expressions numriques ou alphabtiques.
Exemple 1
Dtection de la parit dun nombre entier

Il peut tre utile de pouvoir dterminer si une valeur donne dans une zone de texte est un nombre
ou non. La fonction IsNumeric(x) donne vraie si x
est un nombre et faux sinon.

Private Sub Command1_Click()


Let n = Val(Text1.Text )
If Int(n/2) = n/2 Then
Exemple 2
Let Label1.Caption = n & " est pair"
Dim n as Single
Else
Let Label1.Caption = n & " est impair" Private Sub Text1_Change()
If IsNumeric(Text1.Text) Then
End If
Let n = Val(Text1.Text)
End Sub
If n = Int(n) Then
If Int(n / 2) = n / 2 Then
Let Label2.Caption = n & " est un nombre pair"
Else
Let Label2.Caption = n & " est un nb. impair"
End If
Else
Let Label2.Caption = n & " n'est pas entier !"
End If
Else
Let n = Text1.Text
Let Label2.Caption = n & "n'est pas un nombre"
End If
End Sub

Exercice 19
crire un programme qui demande un nom puis qui affiche Bonjour si le nom donn est le
vtre ou vous navez pas accs cet ordinateur si cest un autre nom.

Exercice 20
crire un programme qui dtermine si un nombre donn est
un carr parfait (1, 4, 9, 16, ) ou un cube parfait (1, 8, 27, ).
Remarques
Sqr(x) calcule une estimation de la racine carre de x.
x^(1/3) calcule une estimation de la racine cubique de x.
12

Introduction la programmation

Exercice 21
Programmer la rsolution dune quation du 2me degr.

Exercice 22
a) crire un programme qui permette lutilisateur dintroduire une suite de notes dans une zone de texte et qui affiche le nombre de notes donnes ainsi que leur moyenne.
Seules les notes comprises entre 1 et 6 et donnes au quart
de point doivent tre acceptes.
b) Modifier le programme de sorte quil affiche encore la meilleure et la moins bonne des notes donnes ainsi que le
nombre de notes infrieures 4.

Exercice 23
crire un programme qui dtermine si une donne tape par lutilisateur dans une zone de texte
et un nombre ou une date.
Remarques
La fonction IsDate(x) permet de dterminer si x contient une date.
Une date est donne sous la forme 01.01.2000 ou sous la forme 1 janvier 2000
La fonction Format(x, "Long Date") permet dafficher la date x en toutes lettres.

Exercice 24
crire un programme qui permette de calculer la distance ncessaire une voiture pour s'arrter, connaissant sa vitesse en km/h et l'tat de la route (sche ou mouille), sachant que le temps
de raction est dun dixime de seconde, que distance de freinage sur route mouille est donne
par la formule distance de freinage en mtres = (vitesse en km/h)2 /100 et que la distance de
freinage sur route sche est les trois quart de la distance sur route mouille.
La vitesse doit pouvoir tre donne dans une zone de texte et ltat de la route par un bouton radio.
Complter le programme de sorte quil calcule la vitesse de la voiture d'aprs la longueur des
traces de freinage.

Structures de slection

13

7 Focus
Si plusieurs contrles pouvant ragir aux actions de l'utilisateur (zones de texte, boutons, )
sont sur une feuille, un seul de ces contrles est actif la fois. On dit que le contrle actif possde
le focus.
Pour slectionner un contrle (lui donner le focus), il faut, soit cliquer sur ce contrle, soit presser sur la touche de tabulation jusqu' ce que le contrle soit slectionn; la touche de tabulation
permettant de passer le focus d'un contrle au suivant.
L'ordre dans lequel les contrles sont activs par la touche de tabulation est dfini par la proprit TabIndex des contrles. La valeur 0 donne cette proprit indique que le contrle est le
premier slectionn, les valeurs 1, 2, 3 sont donns aux contrles suivants.
Il est possible de prciser qu'un contrle ne fait pas partie de la liste des contrles slectionner
par pression de la touche de tabulation, il faut pour cela donner la valeur False la proprit
TabStop de ce contrle.
Si un bouton de commande possde le focus, une pression sur la touche "Entre" est quivalente
un clic sur ce bouton et entrane donc l'excution de la procdure Clic associ ce contrle.
Si une zone de texte possde le focus et s'il existe, sur la feuille, un bouton de commande dont la
proprit default est gale la valeur True, alors une pression sur la touche "Entre" est quivalente un clic sur ce bouton, et entrane donc l'excution de la procdure Click associe au bouton de commande.
Le recours "default=True" est utilis pour valider par la touche "Entre", des donnes introduites dans une zone de texte.

Le bouton OK tant le bouton par dfaut, une pression sur "Entre" est quivalente un clic de la
souris sur ce bouton.
Chaque contrle pouvant avoir le focus possde 2 procdures vnementielles, l'une gotfocus est
excute chaque fois que le contrle prend le focus, et l'autre, lostfocus, est excute chaque fois
que le contrle perd le focus.
Remarque
L'instruction Text1.SetFocus permet de donner le focus la zone de texte Text1.

14

Introduction la programmation

Exercice 25
crire un programme qui prsente 3 zones de texte. Le fond de
la zone de texte en dition est rouge alors que le fond des
autres zones de texte est blanc. Un texte, affich sur une tiquette, dpend de la zone de texte en dition. Un bouton de
commande permet de quitter le programme. Une pression sur
la touche "Entre" est quivalente un clic sur le bouton de
commande.

Exercice 26
Modifier lexercice de rsolution des quations du 2me
degr de sorte que lon puisse donner (dans lordre) les
3 valeurs des coefficients, en passant dune zone de
texte lautre en pressant sur la touche "Tab".
Les solutions doivent safficher au moment o lon
presse sur la touche "Entre" (procdure Click d'un
bouton de commande par dfaut plac l'extrieur de
la fentre d'affichage pour le rendre invisible.
Remarque
Pour valider une entre donne dans une zone de texte et passer la zone de texte suivante il
faut donc presser sur la touche "Tab" et non sur la touche "Entre"

Exercice 27
Un nombre entier positif est dit "beseu" s'il est divisible par 7
ou s'il se termine par 7.
Les premiers nombres "beseu" sont ainsi 7, 14, 17, 21, 27, 28,
crire un programme qui permette l'utilisateur de faire tester
par l'ordinateur si un nombre donn dans une zone de texte est
un nombre "beseu". Une pression sur la touche "Entre" permet
de tester le nombre donn.
Indication : un nombre entier n se termine par 7 si le nombre n 7 est divisible par 10.
Complter le programme en ajoutant un bouton "suivant" qui passe au nombre suivant et le
teste. Une pression sur la touche "Entre" sans avoir introduit de nombre dans la zone de texte
permet de passer au suivant.
Complter encore le programme de sorte qu'il affiche les nombres "beseu" trouvs dans une
liste.
Une liste ( ) est un contrle dans lequel viendront s'inscrire des lments, l'un en dessous de
l'autre.
La commande List1.AddItem(e) permet d'ajouter un lment e dans la liste List1 .
La commande List1.Clear supprime tous les lments de la liste List1.

Focus

15

8 Structures d'itration, la boucle "Pour"


Pour excuter automatiquement plusieurs fois une partie d'un programme on utilise une structure d'itration.
Exemple 1
Le programme suivant affiche dans une liste, aprs pression sur un
bouton de commande, tous les nombres Beseu compris entre 1 et
1000
Private Sub Command1_Click()
For n = 1 To 1000
If n / 7 = Int(n / 7) Or (n - 7) / 10 = Int((n - 7) / 10) Then
List1.AddItem(n)
End If
Next n
End Sub
Toutes les instructions comprises entre "For n=1 to 1000" et "Next n" sont rptes 1000 fois.
La variable n est le compteur de boucles et prend successivement les valeurs 1, 2, 3, , 1000.
Exemple 2
Le programme calcule la somme = 1 +

12
2

1
32

1
42

++

1
2

, ou n est donn par l'utilisateur.

Dim s As Single
Private Sub Command1_Click()
If IsNumeric(Text1.Text) Then
Let n = Text1.Text
For i = 1 To n
Let s = s + 1 / i ^ 2
Next i
Let Label2.Caption = "S = " & s
End If
End Sub
Il est possible de prciser le pas en utilisant l'instruction Step :
Par exemple l'instruction For i = 1 To 100 Step 2 cre une boucle qui sera rpte 50 fois, n prenant successivement les valeurs 1, 3, 5, , 99.

Exercice 28
crire un programme qui affiche, dans une liste, tous les diviseurs d'un nombre donn dans une
zone de texte.
Complter le programme de sorte qu'il affiche encore le nombre de diviseurs et prcise si le
nombre donn est premier ou non.
Complter encore le programme de sorte qu'il affiche la somme des diviseurs et prcise si le
nombre donn est parfait ou non.
Remarque : un nombre parfait est gal la moiti de la somme de ses diviseurs

Exercice 29
crire un programme qui affiche dans une liste tous les nombres premiers infrieurs un
nombre donn.
16

Introduction la programmation

Exercice 30
On remarque que le polynme () = 2 + + 41 fourni des nombres premiers pour
= 0, (02 + 0 + 41 = 41 est un nombre premier).
= 1, (12 + 1 + 41 = 43 est un nombre premier).
= 2, (22 + 1 + 41 = 47 est un nombre premier).
= 3, (32 + 3 + 41 = 53 est un nombre premier).

crire un programme qui dtermine la plus petite valeur entire de pour laquelle () n'est
pas un nombre premier.

Exercice 31
crire un programme qui simule 10'000 lancers d'une pice de monnaie puis qui affiche le
nombre de pile et le nombre de face
Remarque : la fonction Rnd rend un nombre alatoire compris entre 0 et 1.

Exercice 32
Deux nombres n1 et n2 sont des nombres amis si n2 est gal la somme des diviseurs de n1 (diviseurs infrieurs n1) et que n1 est gale la somme des diviseurs de n2 (diviseurs infrieurs
n2).
Les nombres 220 et 284 sont, par exemple, des nombres amis car :
Les diviseurs de 220 sont : 1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110 et 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22
+ 44 + 55 + 110 = 284
Les diviseurs de 284 sont : 1, 2, 4, 71, 142 et 1 + 2 + 4 + 71 + 142 = 220
crire un programme qui affiche tous les couples de nombres amis infrieurs 10'000.
Marche suivre :
Pour chaque nombre n1 compris entre 1 et 10'000
Calculer la somme n2 des diviseurs de n1
Calculer la somme s des diviseurs de n2
Si s = n1 alors les nombres n1 et n2 sont des nombres amis.

Exercice 33
crire un programme qui affiche les triplets de Pythagore infrieurs 100.
Exemple de triplet de Pythagore : (3;4;5) car 3 2 4 2 5 2

Structures d'itration, la boucle "Pour"

17

9 Structures d'itration, la boucle "Jusqu'"


Alors que la structure d'itration "For . Next" permet de crer une boucle parcourue un
nombre connu de fois, la structure d'itration
"Do Loop Until " permet de crer une boucle qui sera parcourue jusqu' ce qu'une condition soit remplie.

Exemple 1

Exemple 2

Le programme ci-dessous calcule la somme


1
1
1
1
= 2 + 2 + 3 + 4 + jusqu' ce qu'elle at-

Le programme ci-dessous simule le lancer de 2


ds jusqu' ce que les ds affichent chacun la
face 6. Il indique alors le nombre de lancers ncessaires.

teigne la valeur 10 puis affiche le nombre de


terme ncessaire pour atteindre cette valeur.
Private Sub Command1_Click()
Let s = 0
Let i = 0
Do
Let i = i + 1
Let s = s + 1 / i
Loop Until s >= 10
Let Label1.Caption = i
End Sub

Private Sub Command1_Click()


Let n = 0
Do
Let d1=Int(6*Rnd)+1
Let d2=Int(6*Rnd)+1
Let n=n+1
Loop Until d1=6 and d2=6
Let Label1.Caption = n
End Sub

Remarque
La boucle "For . Next" peut tre ralise par une boucle "Do Loop Until "
Do
Peut tre remplac par

Let I=I+1

Loop Until I=100

I est le compteur de la boucle

I est le compteur
de la boucle

For I=1 to 100

Next I

Exercice 34
L'tude des probabilits a dbut au 17me sicle par un
problme pos par le Chevalier Mr Blaise Pascal.
Le Chevalier Mr avait l'habitude de jouer avec un ami.
Le jeu consistait miser sur l'issue d'un jet de ds. Mr
parie sur le 6, son ami sur le 4. Le premier qui totalise 3
points gagne.
Une partie de d fut interrompue alors que Mr avait 2 points et son ami 1 point. La question
pose Pascal est de savoir comment rtablir quitablement la mise et revient calculer les probabilits de gagner de chacun des 2 joueurs,
a) crire un programme qui simule des fins de parties
b) crire un programme qui simule 1000 fins de parties et affiche le nombre de parties gagnes
par Mr et par son ami en nombres et en pour-cent.
18

Introduction la programmation

Exercice 35
Combien faut-il, en moyenne, lancer un d, jusqu' ce qu'il prsente deux fois conscutivement la
face 6.
Pour rpondre cette question (on doit trouver 36), crire un programme qui simule 10000
suites de lancers de ds

Exercice 36
On appelle srie, une somme (infinie) de termes.
Exemples

1
1

+ 2 + 3 + + 2 +

est appele srie harmonique.


Cette srie diverge (elle tend vers l'infini).

1
1

2+34+56

est appele srie harmonique alterne.


Cette srie converge (elle tend vers un nombre fini).
a) crire un programme qui calcule une estimation de la somme de la srie
1
1
1
1
2 + 2 + 2 ++ 2
1

Indication : effectuer les sommes des termes jusqu' ce que le terme 2 soit trs petit
b) crire un programme qui calcule une estimation de la somme de la srie
1
1
1
1
1
1
2+34+56
1
c) crire un programme qui calcule une estimation de la somme de la srie
1
1
1
1
1
+ +
+
++ +
1

12

123

1234

! = 1 2 3 4 . est appele n factoriel.


d) crire un programme qui calcule une estimation de la somme de la srie
1
1
1
1
8 (13 + 57 + 911 + 1315 + )
e) Montrer que, pour suffisamment grand, on a
1
1
1
1
1
1
1
1
+ 22 + 32 + + 2 1 1 1 1
12
1 2
2

1 2
3

1 2
5

1 2
7

1
1

1 2
11

1
1
2

O est le plus grand nombre premier plus petit que .

Exercice 37
La suite de Fibonacci est une suite d'entiers qui commence par 1 et 1 et dans laquelle chaque
terme est la somme des deux termes qui le prcdent. Ses 10 premiers
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...
Trouver la somme des termes impairs ne dpassant pas 1 millions de la suite de Fibonacci.

Structures d'itration, la boucle "Jusqu'"

19

10 Graphisme
Pour raliser des graphiques sur une feuille il faut pralablement dfinir la surface qui devra
contenir les dessins. Cette surface est dfinie par un contrle PictureBox (zone de d'image

).

Une zone d'image possde un systme de coordonnes dont l'origine


est situe au coin suprieur gauche de la zone.
Il est ncessaire d'attribuer la valeur Pixel aux proprits ScaleMode
de la zone d'image et de la feuille (form1) pour que l'unit corresponde
un point graphique.
Les proprits Picture1.width et Picture1.heigth dcrivent la largeur
et la hauteur de la zone d'image Picture1.
L'instruction Picture1.Pset(x,y) dessine le point de coordonnes
(x;y) sur la zone d'image Picture1.
L'instruction Picture1.Circle(x,y),r dessine, sur la zone d'image
Picture1, un cercle de centre (x;y) et de rayon r.
L'instruction Picture1.Line(x1,y1) (x2,y2) trace, sur la zone
d'image Picture1, un segment d'extrmits (x1;y1) et (x2;y2).
L'instruction Picture1.Line(x1,y1) (x2,y2) , , B trace, sur la zone
d'image Picture1, un rectangle de sommets opposs (x1;y1) et
(x2;y2).
L'instruction Picture1.Cls efface le contenu de la zone d'image Picture1.
Si une instruction de dessin est suivie d'une virgule puis de l'instruction RGB(r,g,b), alors les traits
ont la couleur prcise par la proportion de rouge (r), la proportion de vert (g) et la proportion de
bleu (b). (r, g et b peuvent prendre des valeurs comprises entre 0 et 255).
Pour dfinir la couleur d'un trac il est galement possible de modifier la valeur de la proprit
ForeColor (Let Picture1.ForeColor = RGB(r,g,b)).
La largeur des traits est dfinie par la proprit DrawWidth de la zone d'image (Let Picture1.
DrawWidth = 2)
Si la proprit FillStyle de la zone d'image possde la valeur 0 (Let Picture1.FillStyle = 0), alors
les cercles et les rectangles sont remplis de la couleur dfinie par la proprit FillColor de la zone
d'image (Let Picture1.FillColor = RGB(r,g,b)).
Si cette proprit FillStyle possde la valeur 1 alors les cercles et les rectangles ne sont pas remplis.
Exemple
Les instructions ci-dessous permettent de tracer un carr rouge bords bleus de 100 pixels de
ct au milieu de la zone d'affichage.
Let xc=Picture1.width/2
Let yc=Picture1.height/2
Let Picture1.FillStyle = 0
Let Picture1.FillColor = RGB(255,0,0)
Let Picture1.ForeColor = RGB(0,0,255)
Picture1.Line(xc-50,yc-50) (xc+50,yc+50),,B

20

Introduction la programmation

Exercice 38
Crer le programme illustr ci-contre qui permet de
donner dans des zones de texte l'abscisse et l'ordonne d'un point puis, par un clic sur un bouton de
commande, de dessiner ce point dans une zone
d'image.
Un autre bouton de commande doit permettre de
dessiner un cercle de rayon 10 (10 points graphiques).
Un troisime bouton permet d'effacer le dessin.

Exercice 39
crire un programme qui dessine un chiquier. L'utilisateur doit pouvoir prciser le nombre de
cases.

Exercice 40
crire un programme qui trace des rectangles de dimensions et de couleurs choisies alatoirement.

Exercice 41
crire un programme qui dessine le graphe de la fonction

y 1 x3 2 x 1 dans une zone d'image de 500 x 500


4

pixels, pour des valeurs de x et de y comprises entre 5 et 5.


Remarques
Pour dessiner un point de coordonnes x et y, il faut effectuer un changement de coordonnes pour obtenir des coordonnes graphiques xg
et yg partir des coordonne relles x et y.
La transformation entre une coordonne relle x et la coordonne graphique xg est donne
par une fonction affine, xg = a x + b. Pour trouver a et b, il faut poser xg = 0 si x = 5 et xg = 500
si x = 5. On obtient ainsi un systme de 2 quations 2 inconnues rsoudre. De la mme faon on trouve la transformation entre y et yg ainsi que les rciproques de ces 2 fonctions, elles
permettent de dterminer les coordonnes relles (x;y) d'un point donn par ses coordonnes
graphiques (xg;yg).
On obtient
Coordonnes graphiques
Coordonnes relles
5
0
= 50 + 250 ; = 50 + 250
(xg;yg)
(xg;yg)
et
5
5
500
0

= 50 5 ; = 50 + 5
500

Exercice 42
crire un programme qui dessine la courbe donne par l'quation paramtrique {
pour [0; 7], [2; 2] et [2; 2]

= sin(2)
= cos(5)

Exercice 43
a) crire un programme qui dessine un cercle qui se
dplace sur une droite horizontale.
b) crire un programme qui dessine un cercle qui se dplace horizontalement et rebondi sur les
bords de la zone d'image.

Graphisme

21

11 Utilisation de la souris
Diverses procdures vnementielles permettent d'utiliser la souris pour raliser des programmes graphiques.
Picture1_MouseDown est excute lorsqu'un bouton de la souris est press sur le contrle
Picture1.
La variable Button permet de savoir quel bouton a t press, Button
prend la valeur 1 si le bouton de gauche est press et la valeur 2 pour
le bouton de droite (4 pour le bouton du milieu).
Les variables X et Y dcrivent les coordonnes du pointeur de la souris
dans le contrle Picture1.
Picture1_MouseUp
est excute lorsqu'un bouton de la souris est relch. Les variables
Button, X et Y sont mises jour.
Picture1_MouseMove est excute chaque mouvement de la souris. Les variables Button, X
et Y sont misent jour. (Button prend la valeur 0 si aucun bouton n'est
press)
Exemple 1
Le programme ci-dessous permet de dessiner avec la souris.
Private Sub Picture1_MouseDown(Button As Integer,
Shift As Integer, X As Single, Y As Single)
Picture1.PSet (X, Y)
End Sub
Private Sub Picture1_MouseMove(Button As Integer,
Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
Picture1.Line -(X, Y)
End If
End Sub
Exemple 2
Le programme ci-dessous permet de dessiner des segments
de droites avec la souris.
Dim X0, Y0, AX, AY As Integer
Private Sub Picture1_MouseDown(Button As Integer,
Shift As Integer, X As Single, Y As Single)
Picture1.PSet (X, Y)
Let X0 = X: Let Y0 = Y: Let AX = X: Let AY = Y
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
Picture1.Line (X0, Y0)-(AX, AY)
Picture1.Line (X0, Y0)-(X, Y)
Let AX = X: Let AY = Y
End If
End Sub
Remarque
La proprit DrawMode dfinit le type de points avec lesquels les objets sont dessins. Si
DrawMode a la valeur 13 (copy pen) alors les points sont allums, si DrawMode a la valeur 10 (not
xot pen) alors les points sont inverss.
22

Introduction la programmation

Exercice 44
Crer un programme qui trace un
chiquier form de 4 cases blanches
puis qui permette de cliquer une case
avec la souris pour la colorier. Le
programme doit dterminer quelle
case a t dsigne par la souris.

Exercice 45
Crer un programme qui dessine un
cercle de rayon alatoire et centr au
milieu d'une zone d'image puis qui
affiche si le pointeur de la souris est
situ dans ce cercle ou non.

Exercice 46
Crer un programme qui permet de
placer des points par des clics de la
souris sur une zone d'image, qui
trace une ligne brise qui relie tous
les points placs et qui affiche les
coordonnes du pointeur de la souris.

Exercice 47
Crer un programme qui permet de
dessiner des traits main leve, des
segments de droites et des cercles et
de choisir la couleur du dessin.

Exercice 48
Crer un programme qui permet de
placer 3 points avec la souris, puis
qui dessine un triangle dont les sommets sont les 3 points donns.

Exercice 49
Crer un programme qui dessine un
triangle quilatral donn par son
centre et par un de ses sommets.
Indication : dmontrer puis utiliser :
1
1
3
3

=
+ et
=

2

.
o est un vecteur normal
et de mme norme que

Procdures et fonctions

C
M

23

12 Procdures et fonctions
Procdures
En plus des procdures vnementielles qui sont automatiquement excutes lorsqu'un vnement se produit, il est possible de crer des procdures qui regroupent une partie d'un programme et qui sont excutes par appel.
Une procdure doit tre crite dans la partie Gnrale du programme, elle dbute par Sub
Nom_de_la_procdure et se termine par End Sub.
L'instruction Call Nom_de_la_procdure permet d'excuter la procdure. Il est possible de faire
suivre le nom de la procdure par une liste de paramtres.
Exemple
La procdure suivante affiche sur l'tiquette Label1 les valeurs de 2 variables.
Sub Affiche(x,y)
Let Label1.caption="x = " & x & " - " & " y = " & y
End Sub
L'instruction Call Affiche(4,6) appelle cette procdure.

Fonctions
Une fonction est une procdure qui rend une valeur.
Une fonction doit tre crite dans la partie Gnrale du programme, elle dbute par Function
Nom_de_la_procdure et se termine par End Function.
Pour excuter une fonction, il suffit de l'appeler par son nom.
Exemple
La fonction suivante calcule la norme d'un vecteur.
Function Norme(X,Y)
Let Norme = Sqr(X^2 + Y^2)
End Function
L'instruction Let Label1.Caption=Norme(3,4) affiche 5 sur l'tiquette Label1.
Il est possible de prciser les types de variables utilises.
Exemple
Function Norme( X As Single,Y As Single) As Single
Les procdures et les fonctions sont utilises pour rendre la structure d'un programme plus
claire en regroupant et nommant de petites actions.

24

Introduction la programmation

Exercice 50
a) crire une procdure Triangle(CONTROLE,X1,Y1,R) qui trace, sur une zone d'image nomme
CONTRLE, un triangle quilatral de cot R, de base horizontale et dont l'un des sommet est
(X1;Y1).
b) Reproduire les dessins ci-dessous en utilisant la procdure Triangle.

Exercice 51
a) crire une fonction Distance(X1,Y1,X2,Y2) qui rend la distance (en pixels et arrondi au
dixime) qui spare les points (X1,Y1) et (X2,Y2).
b) crire un programme qui affiche en permanence la distance entre le centre d'une zone
d'image et le pointeur de la souris.

Procdures et fonctions

25

13 Variables indices
Les variables indices permettent de mmoriser un ensemble de valeurs. Par exemple, pour traiter un polynme du 3me degr, il est videmment possible d'utiliser 4 variables A, B, C et D pour
mmoriser les coefficients, mais il est plus pratique d'utiliser des variables indices A(0), A(1),
A(2) et A(3). Le polynme s'crira ainsi Y = A(3)*X^3 + A(2)*X^2 + A(1)*X + A(0).
Les variables indices peuvent comporter 1 indice (tableaux une dimension ou liste), 2 indices (tableau 2 dimensions) ou plus.
Il est ncessaire de dclarer les variables indices (Exemple : Dim A(10,10) As Interger).
Les variables indices sont principalement utilises pour sauvegarder des valeurs lors de l'excution du programme.
Exemples
Dim A(5) As Integer
Sub Exemple
For I = 1 to 5
Let A(I) = I^2
Next I
End Sub

Dim A(10,10) As Single


Sub Exemple
For I = 1 to 10
For J = 1 to 10
Let A(I,J) = I/J
Next J
Next I
End Sub

Les contrles de Visual Basic peuvent galement tre indics, il suffit pour cela de placer un
premier contrle sur la feuille, par exemple une tiquette nomme Label1, de copier, puis de
coler ce contrle. Label1 devient ainsi Label1(0) et un nouveau contrle label1(1) a t cr. En
ritrant ce procd il est possible de crer une suite de controles indics.

Exercice 52
crire un programme qui simule N lancers d'un d
(N donn par l'utilisateur) et qui affiche le nombre
d'apparition de chaque face ainsi que le pourcentage de ces apparitions.

Exercice 53
crire un programme qui permet de mmoriser une suite de points cliqus l'cran.
Un clic du bouton de gauche de la souris permet de dfinir un nouveau point.
Un clic du bouton de droite de la souris permet de terminer l'introduction des points. Le programme doit alors construire un polygone dont les sommets sont les points donns.

Exercice 54
a) crire un programme qui cre une variable indice nomme Premier(..) qui contient les
100'000 premiers nombres premier, puis qui affiche cette liste dans une zone de liste.
b) La conjecture de Goldbach affirme que tout entier pair n, n>=4, est somme de 2 nombres premiers.
crire un programme qui permette de vrifier la conjecture de Goldbach pour les nombres
pairs infrieurs 100'000.
26

Introduction la programmation

Exercice 55
Ecrire un programme qui permet dcrire un nombre en base 2, enregistr dans une variable
indice, et convertit ce nombre en base 10.

Exercice 56
Aprs avoir cr 81 tiquettes, crire le programme qui permet de les aligner comme ilustr cicontre, puis qui cre une table de multiplication.

Exercice 57
Ecrire un programme qui calcule la frquence de chaque
lettre de lalphabet dun texte donne, affiche, pour chaque
lettre son pourcentage dapparition et qui illustre cette rpartition par un histogramme.

Exercice 58
Le chiffre de Csar est une mthode de chiffrement ou
chaque lettre du texte clair est remplace par une autre
lettre plus loin dans l'alphabet.
Par exemple, si l'on utilise un dcalage de 3, A serait remplac par D, B par E, , X par A, Y par B et Z deviendrait A.
crire un programme qui permet de chiffrer un texte avec
dcalage donn.

Variables indices

27

You might also like