Notion d'algorithme

Algorithmique

L'algorithme est la science qui a pour but de concevoir et d'analyser les algorithmes. Concevoir un algorithme de résolution d'un problème, c'est proposer une méthode de résolution du dit problème. La conception d'un algorithme requière donc quelques qualités:

  • Avoir une certaines intuition: C'est à ce niveau qu'intervient l'intelligence nécessaire en algorithmique.
  • Etre méthodique et rigoureux: Chaque fois qu'il faut écrire un algorithme le programmeur doit se mettre à la place de la machine qui va exécuter cet algorithme pour vérifier si le résultat obtenu est bien celui qu'on attendait.
  • L'analyse des algorithmes: C'est l'étude mathématiques dans le but de déterminer leur efficacité.
  • L'efficacité: C'est une mesure du temps nécessaire à l'exécution de l'algorithme, c'est l'analyse des algorithmes qui peut nous permettre de choisir entre plusieurs algorithmes proposés pour résoudre un problème, celui qui est le plus efficace.

L'algorithme

Un algorithme est une suite d'instruction ordonnée qui décrit de façon exhaustive les différentes étapes à suivre par un processeur ou un automate pour résoudre un problème donné en un temps fini.

Le processeur

Un processeur: C'est tout unité capable de comprendre un énoncé et de réaliser le travail correspondant.

 


Exemple d'algorithme

Exemple 1

Toto achète au marché de Mokolo, 20Kg de viande sans os à 2€ le Kg.
Quelle est la dépense totale effectuée par Toto?
Ecrire un algorithme pour permettre à Toto de calculer rapidement la dépense totale.

Exemple2

Ecrire un algorithme qui permet de calculer la somme de 5 premiers entier naturels non nuls.

a00


Production d'un algorithme

La démarche à suivre pour obtenir un algorithme de résolution d'un problème donné compte plusieurs étapes:

Définition des objectifs

On se pose la question: Qu'est-ce qu'on demande de faire? Quel est le travail à fournir ?
En général l'énoncé du problème fait ressortir les objectifs.

Spécification d'une méthode de résolution

Comment doit-je procéder pour résoudre ce problème?
Quelle est la méthode à utiliser pour résoudre ce problème?
Il s'agit de dire sans entrer dans les détails comment le problème sera résolu. La spécification peut se faire par des courtes phrases en langage naturel ou à l'aide des symboles mathématiques.

La mise en ouvre de la méthode retenue

Elle consiste à choisir les structures de données appropriées et à développer l'algorithme.

Le texte de l'algorithme

Le texte a pour but de vérifier que l'algorithme marche et fournir de bons résultats. Le travail à faire ici consiste à essayer l'algorithme avec des données choisies au hasard pour s'assurer de son bon comportement.

 


Le dossier algorithmique

Le dossier algorithmique est un document qui résume la démarche utilisée pour produire l'algorithme qui comporte 4 étapes:

  • Enoncé du problème: Il s'agit de dire de façon consiste en quoi consiste le problème à résoudre.
  • Principe de résolution: Il s'agit de dire en utilisant le langage naturel ou des symboles mathématiques comment le problème sera résolu.
  • L'environnement: C'est la liste des objets ou récipients nécessaires au processus pour résoudre le problème. Chaque objet de l'environnement est caractérisé par son nom, son type, sa nature, son utilisation, sa valeur initiale, sa valeur finale et son sens. Le tout doit être résumé dans un tableau de la manière suivante.

Nom

Type

Nature

Utilisation

Valeur initiale

Valeur finale

Sens

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • L'algorithme proprement dit:
    Algorithme: Nom de l'algorithme

    Déclaration {Permet à l'ordinateur de réserver un espace mémoire pour chaque objet}

    début

    Corps de l'algorithme (liste des instructions)

    Fin

 


Comment déclarer un objet (constantes, types, variables...)

On distingue la déclaration des constantes, la déclaration des types et la déclaration des variables.
Exemple:
const: Pi=3,14; deux=2;

Un type

C'est un ensemble.
Exemple:
Semaine = (Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi, Dimanche)

Les variables

Un variable peut changer de valeur.
var nom_de_l'objet: type Exemple:
var a:entier
jour:entier

Exemple d'algorithme

Algorithme: Somme
var x, y, S : réel
debut
lire(x)
lire(y)
S←x+y
écrire ("le résultat est ", S)
Fin

 


Résolution d'un problème en informatique

La résolution d'un problème en informatique ne comporte qu'une seule phase automatique qui est l'exécution d'un programme, et le programme quant à lui matérialise dans un langage compréhensible par l'ordinateur un principe de résolution ou un algorithme.
L'écriture d'un programme n'est qu'une étape dans le processus de programmation. Cette étape comporte deux phases:

  • La première est la résolution du problème (écriture de l'algorithme)
  • La deuxième est l'adaptation de l'algorithme à l'ordinateur.

La résolution du problème

Elle consiste à la mise sur pied d'un algorithme de résolution du dit problème. Cette phase est la plus difficile et représente plus de 70% du travail à fournir. C'est la phase dans laquelle le programmeur doit faire appel à son intelligence et à son intuition pour produire des solutions efficaces. Cette phase est dépendante de la machine obtenue.

L'adaptation de l'algorithme à l'ordinateur

Le travail ici consiste à coder dans un langage de programmation l'algorithme obtenu à la première phase: on obtient alors un programme.

a01