• 4 heures
  • Facile

Ce cours est visible gratuitement en ligne.

Ce cours est en vidéo.

Vous pouvez obtenir un certificat de réussite à l'issue de ce cours.

J'ai tout compris !

Mis à jour le 20/05/2019

Découvrez l'intérêt des algorithmes

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Une fois n’est pas coutume, commençons par nous demander quel est l’intérêt d’apprendre l’algorithmique et surtout quels sont les différents sujets couverts par le domaine.

Un algorithme est une manière de résoudre un problème. C’est tout. Vous êtes déçu·e ? Vous pensiez que vous alliez vous transformer en savant fou à la fin de ce cours ? Pas vraiment ! ;-)

Alors pourquoi relions-nous toujours ce mot à l’informatique et aux ordinateurs en particulier ? Tout simplement parce qu’un algorithme est avant tout un ensemble de méthodes utilisées par un ordinateur pour résoudre un problème. En fait, vous allez réfléchir aux différentes manières de résoudre un problème, puis faire en sorte que l’ordinateur le fasse pour vous. Pourquoi ? Ce n’est pas uniquement parce que nous sommes des fainéants ! Un ordinateur a des capacités étendues que nous, humains, ne pouvons égaler.

Avant tout, il ne se plaindra pas si vous lui demandez de réaliser des actions répétitives. Au contraire ! Déplacer vos 2 000 dernières photos de voyage une à une ? Facile ! Chercher dans ce PDF de 200 pages toutes les occurrences de l’expression "max tout puissant" ? Du gâteau ! Imaginez si vous deviez en faire de même ! Transférer 2 000 photos d’un album papier à un autre vous ennuierait à mourir...

Une seconde raison, et non des moindres : l’ordinateur va bien plus vite que nous. Il est plus efficace ! Essayez de calculer mentalement 10 x 20 x 30 x 40 et comparez votre temps de calcul à celui d’un ordinateur. Imbattable !

C’est logique !

Nous utilisons tous les jours des algorithmes quand nous avons plusieurs possibilités à étudier et qu’il nous faut faire un choix. Prenons un exemple. Vous allez rendre visite à votre grand-mère, mais, cornebleu, il y a des travaux sur la route et vous devez changer votre trajet habituel. Aujourd’hui, vous lanceriez très certainement votre GPS pour que l’ordinateur, notre ami, vous indique quelle route est la plus courte pour bien vite manger la tarte aux pommes qui doit déjà sortir du four (il y a certaines priorités dans la vie !).

Qu’auriez-vous fait sans ordinateur ? Vous auriez déplié une carte papier et déterminé l’itinéraire idéal en prenant en compte certains paramètres : vitesse maximale autorisée sur chaque portion de route, péages, position actuelle. Vous auriez ensuite choisi le trajet le plus court en fonction de tous ces paramètres.

Bravo, vous pourriez remplacer l’ordinateur ! Mais vous auriez certainement réfléchi dix bonnes minutes... laissant ainsi à la tarte le temps de refroidir, seule et abandonnée dans la cuisine de votre grand-mère.

Heureusement, des informaticiens ont confectionné un algorithme et l’ont implémenté dans le petit boîtier sur votre pare-brise ! \o/

Les algorithmes que nous connaissons

Pourquoi apprendre l’algorithmique ? Car ses concepts vous ouvrent des portes vers bien des domaines allant de la recherche en ligne à la conception de jeux vidéo.

Sites web

Vous avez certainement remarqué que Facebook adapte votre fil d’actualité en fonction de votre activité. Votre page d’accueil n’affiche pas les dernières publications de vos amis, mais bien ce que Facebook considère comme étant le contenu le plus pertinent pour vous compte tenu de votre activité.

De même, lorsque vous effectuez une recherche sur Google, vous vous attendez à ce que la page affiche les résultats les plus pertinents et non les derniers sites parus sur le domaine. Google a donc besoin d’un modèle pour déterminer comment calculer la pertinence de ces résultats en prenant en compte plusieurs paramètres tels que votre historique de recherche, le nombre de visites sur un site, le nombre de liens pointant vers le site, etc.

Ces deux exemples utilisent des méthodes de machine learning (ou apprentissage automatique) extrêmement intéressantes.

Déplacement

Votre GPS intègre un algorithme qui lui permet de déterminer le plus court chemin entre votre position actuelle et celle que vous lui avez indiquée. De même, les nombreux sites de réservation en ligne intègrent un algorithme qui gère les places libres dans un train, mais également les correspondances et les problèmes éventuels (annulation, par exemple).

Les algorithmes sont également utilisés dans des logiciels de reconnaissance d’image ou par votre banque lorsque vous effectuez des paiements sur Internet (détection de fraude). C’est très puissant !

Nous pourrions trouver bien plus d’exemples d’algorithmes intégrés à notre vie quotidienne. Leur point commun : répondre à une problématique que nous nous posons par l’utilisation d’un programme.

Qu’est-ce qu’un programme ?

Un programme est un ensemble d’instructions exécutables par un ordinateur et qui permet à ce dernier de répondre à un problème que nous nous posons. Par exemple, imaginons que je souhaite écrire une nouvelle version du Seigneur des Anneaux. Je peux bien sûr utiliser une feuille et un crayon, mais comment la partager avec des amis ? Que se passe-t-il si je renverse mon café dessus ? Si un ami perd le manuscrit ? Etc. Après avoir pleuré toutes les larmes de mon corps, et m’être juré de ne plus boire de café ni de fréquenter d’humains pendant le restant de mes jours, je vais certainement allumer mon ordinateur et utiliser Microsoft Word.

D’ailleurs, comment fonctionne un programme ? De manière assez simple : il prend un ensemble de données en entrée, exécute des instructions puis retourne des données en sortie.

Tiens, cela me rappelle la manière dont nous communiquons ! Si mon père me demande de mettre la table, il va me donner en entrée des assiettes, je vais mettre la table et lui dire (en sortie) : "La table est mise !"

Reprenons Microsoft Word et l’action d’enregistrer un document. Lorsque vous cliquez sur "Enregistrer", Word prendra en entrée le contenu non enregistré (texte, images...), l’enregistrera, puis vous affichera un message de confirmation (en sortie).

Les actions effectuées par un programme sont des instructions. Une instruction peut être une opération de base, une exécution conditionnelle ou une itération.

  • Opérations de base : addition, soustraction, multiplication, division... Exemple : "tire" + "-" + "bouchon" => "tire-bouchon"

  • Exécution conditionnelle : si (condition), alors (fais ça), sinon (fais ça). Exemple : si je suis connectée, affiche "Salut Céline !".

  • Itération : répéter une instruction un nombre déterminé de fois. Exemple : affiche chaque photo de mon album "Les rappeurs de Neuilly".

Conclusion

Vous avez découvert dans ce chapitre la manière dont fonctionne un programme. Découvrez dans le prochain comment le structurer en résolvant un problème !

Exemple de certificat de réussite
Exemple de certificat de réussite