Elaboration |
Cette page traite du sujet : comment élaborer un algorithme ? 1.3
: DU PROBLEME A LA SOLUTION
1.4
: DANS UN PROBLEME A TRAITER IL FAUT IDENTIFIER
1.5
: METHODE DE PRODUCTION D’UN ALGORITHME
1.5.1
: Définition des résultats à obtenir
1.5.2
: Recherche des informations d’entrée
1.5.3
: Structuration des données
1.5.4
: Conception de l’algorithme
1.5.5
: Validation de l’algorithme
1.6
: COMPLEXITE DES ALGORITHMES
1.6.1
: Mesure de la complexité
1.7
: L’INTERFACE HOMME-MACHINE OU LA COUCHE PRESENTATION
1.7.1
: Présentation d'un écran
1.7.2
: PRESENTATION D’UN ECRAN GRAPHIQUE
1.7.3 : Présentation d'une page papier Pour
écrire un programme ou un algorithme, il faut avoir un problème à résoudre. La
première question qu’il faut se poser est
de savoir si on a besoin d’un ordinateur pour traiter ce problème. On peut trouver une solution simple à certains problèmes : Calculatrice, cahier … ou programme déjà existant. Un algorithme est un
ensemble de règles ayant 5 caractéristiques : -
il est fini et se termine après un nombre fini d'opérations -
il est défini sans ambiguïté -
s'il y a des données en entrée leur type doit être défini -
il doit avoir au moins un résultat -
il doit être effectif : il doit pouvoir être effectué par un homme
utilisant des moyens manuels " Un algorithme est une suite finie de règles à appliquer dans un ordre déterminé à un nombre fini de données pour arriver, en un nombre fini d'étapes, à un certain résultat, et cela indépendamment des données. " 1.3 : DU PROBLEME A LA SOLUTION Un
algorithme est un ensemble de règles opératoires dont l'application permet de
résoudre un problème au moyen d'un nombre finis d'opérations. Un
algorithme est la spécification précise et non ambiguë d'une séquence d'étapes,
formée d'un nombre fini d'opérations, pouvant être exécutée de facon
automatique par un ordinateur. Il
est exprimé de manière formelle dans un langage de programmation (pascal,cobol,fortran,c,c++…)
et dans le logiciel "algorithmit" ou dans un style informel en langage
naturel. L'exécution
d'un algorithme sur un ordinateur consomme des ressources: -
en temps de calcul : complexité temporelle -
en espace mémoire occupé : complexité spatiale
1.4 : DANS UN PROBLEME A TRAITER IL FAUT IDENTIFIER Nous pouvons ,pour
comprendre, ce qu'est un algorithme le comparer à une recette de gateau . Dans une recette de gateau,
il y a des instructions précises qu'il faut exécuter dans l'ordre prédéfini
sous peine de ne pas avoir le gateau que l'on voulait faire. Dans un algorithme
nous ne manipulons pas des ingrédients tels faraine,sel,sucre… mais des données
informatisées. Dans un problème à
traiter , il faut identifier: les données en entrée Ce
sont les données dont aura besoin l’algorithme pour fonctionner. les résultats en sortie
Ce sont les données que renverra l’algorithme vers l’utilisateur. la
méthode pour y parvenir C’est la méthode pour parvenir des données d’entrée aux données de sortie. Plusieurs
solutions permettent de traiter un problème. On
peut donc avoir plusieurs algorithmes résolvant un problème.
Les
données d'entrée seront saisies sur un clavier pour être entrées en mémoire
de l'ordinateur et donc ensuite manipulées par celui-ci. Les données de sortie seront retournées à l'utilisateur par affichage sur un écran.
1.5 : METHODE DE PRODUCTION D’UN ALGORITHME Voir
annexe : méthode 1.5.1 : Définition des résultats à obtenir Le
résultat à produire est un état , un écran. Le contenu :les données et
le dessin de chaque sortie doit être définis avec précision. Un tracé doit
être établi. Une
liste de données sera établie avec leur nom et leurs caractéristiques. 1.5.2 : Recherche des informations d’entrée Dans
certains cas les données d’entrée sont déjà définies. Dans d’autres
cas, une analyse par décomposition peut fournir l’ensemble des informations
de base. (entrées et fichiers) Une
liste de données sera établie avec leur nom et leurs caractéristiques. 1.5.3 : Structuration des données Si
les données ne sont pas organisées, il est nécessaire de les organiser sous
forme de lots logiques ou sous
forme d’enregistrements. Une information décrie
donc un objet, un individu, un concept, un événement.
Objet:
LIVRES, Individu:
CLIENT,FOURNISSEURS Concept:
Evênement:
COMMANDE 1.5.4 : Conception de l’algorithme Il
est recommandé d’avoir une démarche progressive descendante et
modulaire. (du
général vers le particulier) (voir
outil edit algo) PROGRESSIVE Essayer
d’avoir une vue générale de l’algorithme en définissant des grandes étapes
de traitement. MODULAIRE Découper
l’algorithme en morceaux les plus indépendants possible les uns des autres. De plus , il faut
aussi avoir une étape d’optimisation de l’algorithme pour réduire le coût
mémoire et temps de traitement. Ces critères étant de moins en moins
importants avec la croissance des capacités des ordinateurs. Dans certains
domaines ,ils revêtent cependant une importance extrême. (réseaux, système
d’exploitation…) Dans le cas ou la démarche
descendante ne marche pas , on peut utiliser une démarche ascendante en
partant d’une instruction qui paraît résoudre le problème puis en
l’encadrant des instructions nécessaires. 1.5.5 : Validation de l’algorithme L’utilisation
de jeu d’essai permet de valider tout l’algorithme. Le jeu d’essai est une
ensemble de données permettant de valider l’algorithme en ayant soin de
choisir des données représentant tous les cas de figure. Une
documentation soignée est indispensable. Elle seule permet de savoir exactement
quel est l’algorithme utilisé. Pour
la maintenance , ce dossier constitue la référence. 1.6 : COMPLEXITE DES ALGORITHMES Deux
contradictions lorsque l’on crée un algorithme : ·
Être simple à comprendre, à mettre en œuvre, à mettre au point ·
Mettre intelligemment à contribution les ressources de l’ordinateur 1.6.1 : Mesure de la complexité Le temps d’éxécution
d’un programme dépend des facteurs suivants : · Les données entrant dans le programme · La qualité du code généré par le complilateur · La nature et la vitesse d’éxécution des instructions du microprocesseur · La complexité algorithmique du programme 1.7 : L’INTERFACE HOMME-MACHINE OU LA COUCHE PRESENTATION Une présentation simple et
non chargée doit être privilégiée pour chaque envoi d'informations vers
l'utilisateur (écran ou papier ). Au niveau de l'algorithme nous ne traitons
pas la couche présentation qui sera vue lors de la programmation. L'utilisation
des couleurs doit être limités à 2 ou 3 seulement. Le gras , sousligné,
clignotement
permettent de faire sortir une information importante parmis d'autres. Deux types de présentation :
ligne ou graphique 1.7.1 : Présentation d'un écran Un écran est constitué de 25 lignes de 80 caractères. Un écran a une entête qui contient son titre et son nom
(dépannage …) ainsi que la date et l'heure, et un bas d'écran qui contient
les touches de fonction et une ligne de messages erreur.
1.7.2 : PRESENTATION D’UN ECRAN GRAPHIQUE
Une page papier est constituée de 60 lignes de 132 caractères. Une page papier a une entête qui contient son titre et son nom (dépannage …) ainsi que la date et l'heure, et un bas d'écran qui contient les totaux ou sous -totaux et le numéro de la page.
|
|