Elaboration                                             

Accueil Sommaire Le cours WEB Outils les examens bts Cycle d'apprentissage


Remonter


 

 Cette page traite du sujet : comment élaborer un algorithme ?

1.1 : PROGRAMME OU PAS ?

1.2 : DEFINITION

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.5.6 : Documentation

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


1.1 : PROGRAMME OU PAS ?

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.

retour


1.2 : DEFINITION

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

retour


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   

retour


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.

retour


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.  

1.5.6 : Documentation

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.

retour


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

retour


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

   

  1.7.3 : Présentation d'une page papier

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.

retour