1 / 114

INITIATION A LA PROGRAMMATION STRUCTUREE

INITIATION A LA PROGRAMMATION STRUCTUREE. I. Introduction et définitions. Initiation à la programmation structurée. Qu’est-ce qu’un programme ? Les règles de la programmation structurée Définitions. Qu’est-ce qu’un programme ?. C ’est un ensemble de commandes

may
Download Presentation

INITIATION A LA PROGRAMMATION STRUCTUREE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. INITIATION A LA PROGRAMMATION STRUCTUREE

  2. I. Introduction et définitions

  3. Initiation à la programmation structurée • Qu’est-ce qu’un programme ? • Les règles de la programmation structurée • Définitions

  4. Qu’est-ce qu’un programme ? • C ’est un ensemble de commandes • écrites dans un langage de programmation, • permettant 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 utiliser des procédures et fonctions, qui sont elles-mêmes construites comme des programmes.

  5. Les quatre règles de la programmation structurée • Elles concernent : • la convivialité • la modularité • la lisibilité • la programmation

  6. La convivialité Pensez à soigner les interfaces destinés à l’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

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

  8. La lisibilité des programmes Elle représente un effort initial indispensable à la mise au point puis à 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 leur compréhension en faisant ressortir visuellement leurs délimitations

  9. La lisibilité des programmes On ne doit jamais personnaliser les programmes : les noms de procédures, fonctions, variables, doivent évoquer sans ambiguïté leurs rôles respectifs, pour quiconque.

  10. Exemple d ’un programme insupportable Private Sub P1_AfterUpdate() If P1.Value <> "" Then n = n + 1 r = Val(P1.Value) If r = (nb1 * nb2) Then A.ForeColor = 16711680 A.Caption = "bravo" Else: e = e + 1 A.ForeColor = 255 A.Caption = "faux" & " : déja " & e & " erreurs" End If End If End Sub

  11. 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 If End Sub

  12. LA PROGRAMMATION OBJET (POO)

  13. La Programmation Orientée Objet 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 sous Excel.

  14. La Programmation Orientée Objet 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.

  15. Le concept d ’OBJET • L’objectif de ce concept est le suivant : • Regrouper dans une entité unique, nommée OBJET : • 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

  16. Exemple d ’objet En Visual-Basic il existe un type d’objet nommé CommandButton : quand on dessine un bouton de ce type on crée un objet. Il a des propriétés : un nom une taille un intitulé : par exemple « IMPRIMER » une couleur etc...

  17. Exemple d ’objet 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 : par exemple un Click sur ce bouton. C’est le programmeur qui choisit l’événement à surveiller et programme la méthode.

  18. La programmation Visual-Basic Elle 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 leurs propriétés • en utilisant les méthodes de l’objet, ou en écrivant des procédures complémentaires constituées de lignes de code

  19. Conventions de lecture écriture des instructions Dans une ligne de code on peut : • définir une propriété • ou mémoriser une propriété dans une variable • ou faire exécuter une méthode ou une procédure Mais on ne peut pas faire plusieurs de ces traitements à la fois sur la même ligne

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

  21. Quelques propriétés très utilisées 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

  22. Quelques propriétés très utilisées FONTDésigne la police à utiliser BACKCOLOR couleur de fond 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

  23. Affiche l ’objet Liste des propriétés Liste des méthodes Affiche le code Explorateur de projet propriétés

  24. Code du test des multiplications 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

  25. Code du test des multiplications 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 If End Sub

  26. Quelques évènements très utilisés L’événement CHANGE est détecté par Vba dès qu’un caractère est saisi ( ou tapé) dans un objet de type TextBox. • Par contre l’événement AFTERUPDATE laisse le temps à l ’utilisateur de taper plusieurs dans la boite, et détecte qu ’il a fini quand il appuie sur : • la touche Entrée • ou la touche Tab • ou la souris

  27. Quelques évènements très utilisés • On a souvent besoin de faire faire à notre programme un traitement d’initialisation de variables, ou de plages de cellules d’une feuille d’Excel, qu’on ne peut pas simplement réaliser en modifiant les propriétés de certains objets. • ce traitement sera programmé dans une procédure qui sera TOUJOURS intitulée : • Private Sub Userform_Initialize() • quel que soit le nom du userform

  28. Quelques évènements très utilisés • L’événement Initialize: • sera détecté automatiquement au démarrage du programme • la procédure Userform_Initialize() sera déclenchée avant la première apparition du userform, et ne fonctionnera qu ’une seule fois. • on ne pourra pas déclencher cet événement en cours de programme pour demander à ce que la procédure associée soit à nouveau exécutée.

  29. Définition : qu’est-ce qu’une variable ? C’est une zone précise de la mémoire centrale, allouée temporairement à un programme pour gérer les valeurs successives d’une information. • Une variable est définie par : • son nom • et son type

  30. Définition : une variable • Un nom de variable doit : • commencer par une lettre • avoir moins de 255 caractères, et au moins 1 • ne contenir que • des lettres • et des chiffres (facultatifs) • et traits de soulignement _ (facultatifs) • ne pas contenir d’espaces, ni aucun autre signe de ponctuation, ni aucun opérateur, ni aucun comparateur (+->=..) • former un mot différent d’un mot réservé du langage Basic, comme End ou Sub, etc.

  31. Définition : une variable Une variable n’a toujours qu’une seule valeur à un instant donné. Une valeur ne peut être mémorisée dans une variable que si leurs types respectifs sont compatibles. Exemple : un nombre entier peut-être mémorisé dans une variable de type réel, mais il perdra sa nature d ’entier.

  32. Définition : une variable • Une variable peut être renseignée : • par une donnée utilisateur lors d’une ACQUISITION • ou directement par programme, suite à un calcul, un test, une lecture dans un fichier, un appel de procédure ou de fonction, lors d ’une AFFECTATION

  33. Définition : une variable • La désignation du type de la variable permettra à l’ordinateur : • de dimensionner au mieux l’espace alloué en mémoire centrale • de filtrer des valeurs cohérentes • de savoir quels procédés de codage et décodage il doit appliquer

  34. Définition : une variable • Voici quelques types de variables courants : • Boolean : vrai ou faux (true/false, 1/0) • Date : de 1/1/100 à 31/12/9999 • Byte : entiers non signés de 0 à 255 • Integer : entiers signés de -32768 à +32767 • Currency : entiers de ± 1015

  35. Définition : une variable • single : réels avec une précision de 7 décimales : de ±1.4 E-45 à ±3.04 E+38 • double : réels avec une précision de 15 décimales : de ±4.94 E-324 à ±1.79 E+308 • string : chaîne de caractères (65 535 octets maximum) • string*10 : chaîne de 10 caractères

  36. Définition : une variable Les déclarations de variables facilitent la compréhension des programmes et participent à leur optimisation : nous déclarerons donc TOUTES les variables que nous utiliserons. En Visual Basic on déclare généralement les variables ainsi : Dim NB,K,Mois As Integer Dim Trouvé As Boolean

  37. Syntaxe d’écriture du code Pour faire appel à une méthode sans paramètre • Objet. Méthode • Exemple : Saisie.SetFocus

  38. Syntaxe d’écriture du code Pour faire appel à une méthode,ou une fonction paramétrée sans nommer les paramètres • Objet. Méthode (valeur,valeur,,valeur) • Variable=Fonction(valeur,,,valeur) • on précise les valeurs des paramètres en fonction de leur position dans la liste des paramètres attendus.

  39. Syntaxe d’écriture du code Exemple avec la fonction MSGBOX X=MSGBOX (“c’est faux”,,”contrôle de validité”)

  40. Syntaxe d’écriture du code Pour faire appel à une méthode paramétrée en nommant les paramètres Objet. Méthode (nom_du_paramètre :=valeur, nom_du_paramètre :=valeur…) Variable=fonction (nom_du_paramètre :=valeur,etc) on précise les valeurs des paramètres sans ordre prédéfini, mais en les nommant. Exemple avec la fonction MSGBOX X=MSGBOX (title:=‘’contrôle de validité’’, prompt:=‘’c’est faux’’)

  41. Syntaxe d’écriture du code Pour attribuer une valeur à une propriété • Objet.Propriété = valeur • Exemple : OK.Visible = true • Pour mémoriser la valeur d’une propriété dans une variable • Nom_de_variable = Objet.Propriété • Exemple : nom = Saisie.Value

  42. Syntaxe d’écriture du code Pour écrire une ligne de code sur plusieurs lignes de l’éditeur : il faut indiquer qu’il y a une suite en tapant en fin de ligne le caractère souligné _ • Pour mettre des commentaires : • commencer la ligne de code par une apostrophe

  43. L’instruction IF THEN …..ELSE Syntaxe générale : (ici allez toujours à la ligne) IF a >0 THEN instruction(s) ELSE instruction(s) END IF

  44. Différents cas de construction de IF THEN ….. IF b > 12 THEN instruction 2 ELSEIF b<8 THEN instruction 3 ELSE instruction 4 ENDIF

  45. Différents cas de construction de IF THEN ….. IF a > 0 THEN IF b > 12 THEN instruction1 ENDIF IF c > 8 THEN instruction 2 ELSE instruction 3 ENDIF instruction 4 ELSE instruction 5 END IF

  46. Etude d’un programme « répétitif » Nous allons étudier un programme qui permet de faire répéter plusieurs fois un même enchaînement de procédures et événements. On ne peut pas matérialiser un traitement répétitif par une boucle classique ( Pour, Jusqu’à, ou Tant Que) lorsqu’un événement, déclenché par l’utilisateur, intervient au cours de ce traitement. Dans ce programme on trouvera aussi des procédures qui ne dépendent pas directement d’un événement

  47. Code du programme Dim nb1, nb2, err, nbfois As Integer Private Sub UserForm_Initialize() Randomize err = 0 Genere nbfois = 0 End Sub Sub Genere() nombre1.Caption = Int(Rnd * 8) + 2 nombre2.Caption = Int(Rnd * 8) + 2 nb1 = nombre1.Caption nb2 = nombre2.Caption End Sub

  48. Code du programme Sub AfficheBilan() Dim rep As Integer rep = Val(reponse.Value) If rep = (nb1 * nb2) Then MsgBox "Bien" Else: MsgBox "faux" err = err + 1 End If End Sub ATTENTION :AfficheBilan et Genere sont des procédures qui sont déclenchées par d’autres procédures et non pas par des événements

More Related