INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation...

29
INITIATION à la PROGRAMMATION STRUCTUREE Qu’est-ce qu’un programme ? • Les règles de la programmation structurée • Définitions

Transcript of INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation...

Page 1: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

INITIATION à la PROGRAMMATION STRUCTUREE

• Qu’est-ce qu’un programme ?

• Les règles de la programmation structurée

• Définitions

Page 2: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun 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.

Page 3: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

Les quatre règles de la programmation structurée

concernent

la convivialité

la modularité

la lisibilité

la programmation

Page 4: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

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

Page 5: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

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

Page 6: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

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

Page 7: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

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

Page 8: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

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

Page 9: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

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

Page 10: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

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

Page 11: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

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.

Page 12: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

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

Page 13: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

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

Page 14: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

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.

Page 15: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

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.

Page 16: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

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

Page 17: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

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

Page 18: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.
Page 19: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.
Page 20: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.
Page 21: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.
Page 22: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.
Page 23: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

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

Page 24: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

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

Page 25: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

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

Page 26: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.
Page 27: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

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

Page 28: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

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

Page 29: INITIATION à la PROGRAMMATION STRUCTUREE Quest-ce quun programme ? Les règles de la programmation structurée Définitions.

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