initiation à la programmation structuree quest-ce quun programme ? les règles de la programmation...
TRANSCRIPT
INITIATION à la PROGRAMMATION STRUCTUREE
• Qu’est-ce qu’un programme ?
• Les règles de la programmation structurée
• Définitions
Définitions
•C ’est un ensemble de commandes, écrit dans un langage de programmation, qui permet de matérialiser un certain traitement, conformément à un cahier des charges.
•En programmation structurée son déroulement est séquentiel.
•Il peut contenir et/ou utiliser des procédures et fonctions, qui sont elles-mêmes construites comme des programmes.
Les quatre règles de la programmation structurée
concernent
la convivialité
la modularité
la lisibilité
la programmation
La convivialité
Pensez à soigner les interfaces UTILISATEUR
• donnez lui envie d ’utiliser vos programmes
• ne posez pas de questions ambiguës
• aidez le, mais ne le sous-estimez pas
• informez le des possibilités contextuelles
• faites un effort de présentation des résultats
La modularité
On n ’écrit plus de gros programmes
Un programme doit être décomposé en petits
modules, qu’on appelle des procédures ou
fonctions, tous bien définis et individualisés, dont
la longueur ne dépasse pas une page A4
Ceci facilite énormément la compréhension, la
maintenance, et l ’exécution du programme
La lisibilité des programmes
Indispensable à la mise au point et à la maintenance des programmes
• il faut documenter le programme en ajoutant
des commentaires judicieux pour en faciliter la
compréhension rapide
• la mise en page des instructions doit en faciliter
la délimitation et la compréhension
La lisibilité des programmes (suite)
• on ne doit surtout pas personnaliser les
programmes : les noms de procédures,
fonctions, variables, doivent évoquer sans
ambiguïté leurs rôles respectifs, pour quiconque
Exemple d ’un programme insupportable
Private Sub P1_AfterUpdate()If P1.Value <> "" Thenn = n + 1r = Val(P1.Value)If r = (nb1 * nb2) ThenA.ForeColor = 16711680A.Caption = "bravo"Else:e = e + 1A.ForeColor = 255A.Caption = "faux" & " : déja " & e & " erreurs"End IfEnd IfEnd Sub
Le même programme : supportable
Private Sub Reponse_AfterUpdate() If reponse.Value <> "" Then nbfois = nbfois + 1 rep = Val(reponse.Value) If rep = (nb1 * nb2) Then bilan.ForeColor = 16711680 bilan.Caption = "bravo" Else: err = err + 1 bilan.ForeColor = 255 bilan.Caption = "faux" & " : déja " & err & " erreurs" End If End IfEnd Sub
La Programmation Orientée Objet(POO)
Elle a été conçue pour pallier aux problèmes de
maintenance évolutive que pose la
programmation fonctionnelle descendante.
Nous n ’aborderons en LO10 que quelques
notions de la POO nécessaires à la
programmation en Visual Basic
Contrairement à la programmation
classique qui sépare les données des
programmes, la POO repose sur des
entités, nommées OBJETS, dans
lesquelles sont combinées données et
code de programmation.
Les objets qui partagent les mêmes
propriétés et les mêmes méthodes sont
regroupés dans une classe.
Le concept d ’OBJET
Il est issu de l ’objectif suivant :
regrouper dans une entité unique
• les données décrivant l ’objet : ce sont ses propriétés
•et les procédures/fonctions permettant de manipuler l ’objet : ce sont ses méthodes
Exemple d ’objet
Dans VBA il existe un objet appelé CommandButton
Il a comme propriétés :
son nom
une taille
un intitulé : par exemple « IMPRIMER »
une couleur
etc...
Cet objet a comme méthode une procédure correspondant à son rôle.
La procédure sera déclenchée lorsqu ’un certain événement se produira.
C ’est le programmeur qui choisit et programme la méthode.
Pour le bouton « IMPRIMER » la procédure va faire imprimer le document.
L ’événement déclencheur sera un « click » de l ’utilisateur sur ce bouton.
La programmation VBA est composée en majeure partie d ’objets que l ’on peut manipuler conjointement de 2
façons :
• en définissant, modifiant, testant, ou mémorisant ses propriétés
• en utilisant les méthodes de l ’objet que l ’on complète par du code
Conventions de lecture écriture des instructions
Dans une ligne de code on peut :
• soit définir une propriété
• soit mémoriser une propriété dans une variable
• soit faire exécuter une méthode
Mais on ne peut pas faire deux de ces traitements à la fois sur la même ligne
Quelques propriétés très utilisées
CAPTION pour les objets Intitulé (Label), bouton de commande (CommandButton)
Désigne le texte qui apparaît dans le bouton à l’écran
TEXT pour les objets Zone de Texte (TextBox)
Désigne le texte affiché ou modifié par l’utilisateur
VALUE pour les objets barre de défilement (ScrollBar) , toupie (SpinButton), bouton d’option
Désigne la valeur choisie par l’utilisateur
Quelques propriétés très utilisées (suite)
MAXLENGTH pour les objets Zone de Texte (TextBox)
Désigne le nombre maximum de caractères acceptés à la saisie
PASSWORDCHAR pour les objets Zone de Texte
Désigne le caractère qui sera affiché pour masquer à l’écran chaque caractère tapé au clavier par l’utilisateur
ENABLED pour les objets Zone de Texte , bouton de commande, etc.
Propriété booléenne, qui lorqu’elle vaut False, rend le bouton inutilisable par l’utilisateur
Quelques propriétés très utilisées (suite)
dans presque tous les types d’objets
BACKCOLOR couleur de fond
FONT Désigne la police à utiliser
CONTROLTIPTEXT
Contient le texte à afficher en info bulle
VISIBLE propriété booléenne qui, lorsqu’elle vaut False, permet de rendre un bouton temporairement invisible
Fenêtres de l ’éditeur Visual-Basic
Afficher le code
Liste des propriétés
propriétés
Afficher l ’objet
Liste des méthodes
Explorateur de projet
Dim nb1, nb2 As Integer
Private Sub UserForm_Initialize() Randomize nombre1.Caption = Int(Rnd * 8) + 2 nombre2.Caption = Int(Rnd * 8) + 2 nb1 = nombre1.Caption nb2 = nombre2.Caption
End Sub
Code du test des multiplications
Code du test des multiplications (suite)
Private Sub validez_Click() If validez.Caption <> "FIN" Then Dim rep As Integer rep = Val(reponse.Value) If rep = (nb1 * nb2) Then MsgBox ("bravo") Else: MsgBox ("faux") End If validez.Caption = "FIN" reponse.Locked = True Else: End End IfEnd Sub