21
Session 3/3 Olivier Rovellotti ALGORITHMIE

Ns algo 3

Embed Size (px)

Citation preview

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/ObjetsL'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: @orovellottiwww.natural-solutions.eu

Merci

[email protected]