Session 3/3
Olivier Rovellotti
ALGORITHMIE
Plan • Histoire
• Module/Fonctions
• Exercices
• Classe/Objets
• Héritage
• Polymorphisme
• Interface
• Exercices
• Conception
• MVC
• Design Pattern
• SOA
Histoire
MachineMACHINE
PAS VOUS 
Assembleur
La réutilisation de code désigne l'utilisation du code source existant, pour créer de nouveaux logiciels.
PROCEDURAL
PROCEDURAL
Globalement, le procédural travaille sur l'action ou le verbe.
Par exemple, pour calculer la vitesse d'une voiture, la
philosophie du procédural conduira à faire :
calculVitesse(voiture) partout où cela est nécessaire.
complexité cyclomatique
• La complexité cyclomatique d'une méthode est définie
par le nombre de chemins linéairement indépendants
qu'il est possible d'emprunter dans cette méthode.
• Plus simplement, il s'agit du nombre de points de
décision de la méthode (if, case, while, ...) + 1 (le
chemin principal).
• La complexité cyclomatique d'une méthode vaut au
minimum 1, puisqu'il y a toujours au moins un
chemin.
Une complexité cyclomatique trop élevée (supérieure à 30) indique qu'il faut refactoriser la méthode.
Une complexité cyclomatique inférieure à 30 peut être acceptable si la méthode est suffisament testée.
6
OBJECTS
Classe/Objets
L'Orienté Objet ( ou OO ) où on manipule uniquement des
objets c'est-à-dire des ensembles groupés de variables et
de méthodes associées à des entités intégrant
naturellement ces variables et ces méthodes.
Dans cette configuration, le sujet est prépondérant:
disposant d'un objet Voiture, on effectuera spontanément :
Voiture.calculVitesse().
Heritage
Polymorphisme
Granularite
• Exercice 1
Écrivez une fonction qui renvoie la somme de cinq nombres fournis en argument.
• Exercice 2
Écrivez une fonction qui renvoie le nombre de voyelles contenues dans une chaîne de caractères passée en argument. Au passage, notez qu'une fonction a tout à fait le
droit d'appeler une autre fonction.
• Exercice 3
Réécrivez la fonction Trouve, vue précédemment, à l’aide des fonctions Mid et Len (comme quoi, Trouve, à la différence de Mid et Len, n’est pas une fonction
indispensable dans un langage).
• Exercice 4
Ecrivez une fonction qui purge une chaîne d'un caractère, la chaîne comme le caractère étant passés en argument. Si le caractère spécifié ne fait pas partie de la
chaîne, celle-ci devra être retournée intacte. Par exemple :
Purge("Bonjour","o") renverra "Bnjur"
Purge("J'ai horreur des espaces"," ") renverra "J'aihorreurdesespaces"
Purge("Moi, je m'en fous", "y") renverra "Moi, je m'en fous"
• Exercice 5
Ecrire un traitement qui effectue le tri d'un tableau envoyé en argument (on considère que le code appelant
devra également fournir le nombre d'éléments du tableau).
• Exercice 7
Ecrire un traitement qui informe si un un tableau envoyé en argument est formé ou non d'éléments tous
rangés en ordre croissant.
• Exercice 8
Ecrire un traitement qui inverse le contenu de deux valeurs passées en argument.
Twitter: @orovellotti
www.natural-solutions.eu
Merci
Olivier_rovellotti@natural-solutions.eu

Ns algo 3

  • 1.
  • 2.
    Plan • Histoire •Module/Fonctions • Exercices • Classe/Objets • Héritage • Polymorphisme • Interface • Exercices • Conception • MVC • Design Pattern • SOA
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
    La réutilisation decode désigne l'utilisation du code source existant, pour créer de nouveaux logiciels.
  • 8.
  • 9.
    PROCEDURAL Globalement, le procéduraltravaille sur l'action ou le verbe. Par exemple, pour calculer la vitesse d'une voiture, la philosophie du procédural conduira à faire : calculVitesse(voiture) partout où cela est nécessaire.
  • 11.
    complexité cyclomatique • Lacomplexité cyclomatique d'une méthode est définie par le nombre de chemins linéairement indépendants qu'il est possible d'emprunter dans cette méthode. • Plus simplement, il s'agit du nombre de points de décision de la méthode (if, case, while, ...) + 1 (le chemin principal). • La complexité cyclomatique d'une méthode vaut au minimum 1, puisqu'il y a toujours au moins un chemin. Une complexité cyclomatique trop élevée (supérieure à 30) indique qu'il faut refactoriser la méthode. Une complexité cyclomatique inférieure à 30 peut être acceptable si la méthode est suffisament testée.
  • 12.
  • 14.
  • 15.
    Classe/Objets L'Orienté Objet (ou OO ) où on manipule uniquement des objets c'est-à-dire des ensembles groupés de variables et de méthodes associées à des entités intégrant naturellement ces variables et ces méthodes. Dans cette configuration, le sujet est prépondérant: disposant d'un objet Voiture, on effectuera spontanément : Voiture.calculVitesse().
  • 16.
  • 17.
  • 18.
  • 19.
    • Exercice 1 Écrivezune fonction qui renvoie la somme de cinq nombres fournis en argument. • Exercice 2 Écrivez une fonction qui renvoie le nombre de voyelles contenues dans une chaîne de caractères passée en argument. Au passage, notez qu'une fonction a tout à fait le droit d'appeler une autre fonction. • Exercice 3 Réécrivez la fonction Trouve, vue précédemment, à l’aide des fonctions Mid et Len (comme quoi, Trouve, à la différence de Mid et Len, n’est pas une fonction indispensable dans un langage). • Exercice 4 Ecrivez une fonction qui purge une chaîne d'un caractère, la chaîne comme le caractère étant passés en argument. Si le caractère spécifié ne fait pas partie de la chaîne, celle-ci devra être retournée intacte. Par exemple : Purge("Bonjour","o") renverra "Bnjur" Purge("J'ai horreur des espaces"," ") renverra "J'aihorreurdesespaces" Purge("Moi, je m'en fous", "y") renverra "Moi, je m'en fous"
  • 20.
    • Exercice 5 Ecrireun traitement qui effectue le tri d'un tableau envoyé en argument (on considère que le code appelant devra également fournir le nombre d'éléments du tableau). • Exercice 7 Ecrire un traitement qui informe si un un tableau envoyé en argument est formé ou non d'éléments tous rangés en ordre croissant. • Exercice 8 Ecrire un traitement qui inverse le contenu de deux valeurs passées en argument.
  • 21.