Choubisoft Admin
Messages : 123 Points : 7062 Date de naissance : 02/11/1989 Date d'inscription : 18/02/2010 Age : 34 Localisation : Casablanca Emploi/loisirs : Etudiant
| Sujet: A quoi sert un algorithme ? Dim 21 Fév - 17:56 | |
| Euuhh !! Question hautement philosophique ...
Bah pour faire simple, quand vous faites un programme,vous avez d'un côté le langage de programmation (C,C++,Java, DotNet, Visual Basic,etc...), et vous avez la logique de ce que vous êtes en train de faire --> c''est l'algorithme.Théoriquement, un algorithme ne dépend pas du langage utilisé, on peut l'écrire en pseudo code.Exemple:Je veux tracer un polygone à n cotés dont on connaît les coordonnées; l'algorithme est:
- Code:
-
Début Algo
Pour i allant de 1 à n-1 Tracer ligne allant de Sommet i à Sommet i+1 Fin Pour
Tracer ligne allant de Sommet n à Sommet 1
Fin Algo Donc, en résumé si vous avez bien fait attention a l'algorithme, vous allez me dire qu'il sert a faire une sorte de schéma de programme.
Je vais vous rependre vite fait par un "Non" fermé, ce n'est pas "une sorte de schéma de programme", c'est le programme lui-même, mais sans "l'habillage" inutile que sont les interfaces homme/machine (IHM).
C'est en Algo que votre programme est conçu, ce qu'il va réellement faire et comment il va le faire. Après, lorsque c'est bien fait, l'implémenter dans n'importe quel langage est quasiment une simple formalité... En Algo, tu réfléchis au problème lui-même, et pas à des trucs comme "Mais comment vais-je stocker ça ? Un octet ? Deux ? Une chaîne ?". Ainsi, vous vous concentriez sur le vrai problème, et pas sur des détails sans importance.D'une façon générale, l'algorithme c'est tout simplemement la suite d'instruction ain d'arriver à un but déterminé.
L'algorithmique est la science qui étudie les algorithmes. Les études portent beaucoup sur l'efficacité de tel ou tel algorithme : tout d'abord si l'algorithme en question fait bien ce que l'on veut (ça parait bête au départ sur de petits algorithmes mais c'est très important sur de très gros algos)
Ensuite, il y a le temps mis pour effectuer le travail (on parle alors de complexité) il y a beaucoup de travail efectué la dessus (pour prendre un exemple simple, il y a beaucoup de méthodes pour trier un tableau d'entier, les temps de calculs sont extremement différents d'un algorithme à un autre)
Enfin, il y a un autre domaine détude de l'algorithmique : la recherche d'algorithmes our optimiser les temps de calcul, je ne sais pas trop comment appeler ça mais pour résumer il existe des algorithmes qui ont une complexité tellement grande qu'il ne sont pas applicables tel qu'elle en réel. Par exemple tu as des algorithmes qui demandent d'explorer un nombre énorme de possibilités et on a pas assez de temps (surtout des machines pas assez puissantes) pour effectuer les calculs dans des temps raisonnables. On a recours ici à des algorithmes de simplification des problèmes, ces algorithmes sont appelés algorithmes d'approximation. ils s'appellent ainsi parce qu'il ne produisent pas toujours la meilleur solution au problème étudié mais une solution quasi optimale. L'algorithmique se charge donc de trouver les algorithmes qui approximent au mieux les algorithmes exacts.
L'algorithmique est sans doute le point le plus intéressant de la programmation, en effet, l'algorithmique permet de traduire les actions sous forme universelle, on parle alors de langage algorithmique. Les langages de programmations ne sont que secondaires, ils servent uniquement à traduire les algorithmes en code executable par la machine. | |
|