N'hésitez pas à mettre des commentaires en cliquant sur le flash code.

visites depuis le 26 septembre 2013

La logique de la programmation informatique.

Comme nous l'a expliqué si bien mon professeur d'informatique, l'ordinateur est fondamentalement idiot. Si on prend une poule, qui est déjà un animal bien idiot, et qu'on lui jette des graines, elle va tout de même se mettre à les picorer. Un ordinateur, lui, est encore plus idiot que ça : jetez-lui des graines, tant que vous voulez... il ne bougera pas! Il faut donc tout lui dire, du début jusqu'à la fin. Et pour lui dire ce qu'il doit faire, on a les langages de programmation.

 

Ces langages doivent bien évidemment faire en sorte que toute ambigüité soit impossible, puisque l'ordinateur ne saurait prendre de décision tout seul. Ils suivent une grammaire et une syntaxe très précise, et c'est au programmeur d’apprendre à parler à sa machine, et pas à cette dernière d'apprendre à comprendre le programmeur. C'est pourquoi il nous faut adopter une logique d'expression et de réflexion un peu différente que celle que nous utilisons tous les jours. Il va falloir apprendre à rentrer plus en profondeur dans les problèmes qu'on veut résoudre, les décomposer en micro-étapes simples et toujours penser au chemin que doit suivre notre ami simplet pour résoudre ce problème. Seulement le passage de notre mode de pensée au mode de pensée du PC n'est pas toujours aussi évident qu'on le pense. On a donc pour nous aider une étape intermédiaire : l'algorithme.

 

Par exemple, imaginez que vous souhaitiez découper un concombre entier en rondelles de 1 cm d'épaisseur (l'ordinateur ne pourra jamais vous découper des concombres, mais c'est un exemple!). Si vous deviez donner ça à faire à quelqu'un, vous lui diriez :

- Prends un concombre et un couteau, et découpe le concombre entier en rondelles de 1cm.

Quelqu'un de normalement constitué comprendra parfaitement ce que vous lui avez demandé de faire (demandez-moi la même chose au lever du lit, et c'est un tout autre problème...). Prenez maintenant Carl quand il avait 8 ans. A l'époque, Carl était un peu simplet, et il fallait tout lui dire. Voici ce que ça donnerait :

- Prend le concombre dans la main gauche, prend le couteau dans la main droite, si le tranchant de la lame est vers le haut, retourne le couteau. Tant que le concombre n'est pas encore entièrement découpé, voici ce que tu dois faire : Lève le couteau. Tant que la tranche de concombre que tu vas découper est trop fine, voici ce que tu dois faire : Avance un peu le concombre. Si tes doigts sont en dessous de la lame, recule-les pour qu'ils ne soient plus en-dessous de la lame. Baisse le couteau. Pose le couteau

Et voilà : on a fait notre tout premier algorithme. En regardant ça, on se dit : C'est vrai qu'il est simplet, Carl. Mais ceci est encore bien trop compliqué pour un ordinateur, et il faudrait encore bien plus de détails.

 

Imaginez que le ton que j'emploie puisse être assimilé à un langage de programmation. Je pourrais très bien le dire en criant, en chantant ou en développant toutes mes ressource de politesse et d'amabilité. Cependant, je n'ai pas employé de ton particulier pour écrire mon algorithme. En effet, avec un même algorithme, je dois pouvoir faire découper un concombre à Carl sur n'importe quel ton. Ce qui m'importe, c'est que l'algorithme soit clair et efficace.

 

Voici la règle générale pour faire un bon algorithme. Vous me la copierez vingt fois pour mardi prochain :

Un algorithme est indépendant de la machine utilisée,

Un algorithme est indépendant du langage de programmation utilisé,

Un algorithme doit mener à coup sûr à la résolution du problème posé,

Les étapes d'un algorithme doivent être simples.

 

Ensuite, une fois qu'on a un bon algorithme, on doit pouvoir faire son programme sans trop de problèmes. Lorsque vous ferez vos premiers programmes, vous vous arrêterez souvent en vous disant : Comment est-ce que je peux programmer cela? Dans ce cas, prenez une feuille de papier, et décomposez le problème en tâches simples pour faire un bel algorithme. Alors, il vous sera très facile (à condition de savoir où trouver les bonnes instructions) de résoudre votre problème.

 

http://www.anonymoushackers.org/

http://anonymous19130.jimdo.com/


   Jault Vincent,Lhopital matthias,
 T CAPMVA, 09/2013.