Outils pour utilisateurs

Outils du site


cours:progra1

Algorithme (B ->D) 4ème

Pour piloter le fonctionnement de nombreux objets techniques, on fait appel à des programmes. Mais avant de écrire un programme sur l'ordinateur, il faut réfléchir au problème à résoudre et trouver la solution à appliquer. Un programme ne pourra fonctionner correctement que s'il a été réfléchi et prévoit tous les cas de fonctionnement possible.

Compétences :

  • CT 1.3 – CT 2.5 – CT 2.7 - DIC 1.5 : Imaginer des solutions pour produire des objets et des éléments de programmes informatiques en réponse au besoin.
  • CT 3.1 - OTSCIS 2.1 : Exprimer sa pensée à l’aide d’outils de description adaptés : croquis, schémas, graphes, diagrammes, tableaux.
  • CT 4.2 – CT 5.5 - IP 2.3 : Écrire un programme dans lequel des actions sont déclenchées par des événements extérieurs.

J’ai acquis la compétence si :

  • Je sais ce qu'est un algorithme et les règles qu'il respecte.
  • Je sais écrire sous forme d'algorithme la solution d'un problème informatique simple.

Nous allons étudier ici l'algorithme qui est la parti la plus importante de la programmation. L'algorithme est la solution du problème. Il fonctionnera avec n'importe quel langage de programmation.

Les étapes de la programmation

“Programmer” n'est que la 2ème étapes qui mises bout à bout permettent à un ordinateur d'exécuter une tâche.

Pour utiliser un programme informatique afin résoudre un problème à l'aide d'un microcontrôleur ou d'un ordinateur, il faut :

  • Définir l'algorithme. Il permet, en français, d'expliquer la solution permettant de résoudre le problème et de vérifier que tous les cas de fonctionnement aient été prévus. Si l'algorithme ne fonctionne pas le programme ne pourra pas fonctionner.
  • Traduire l'algorithme en un programme. En fonction du type de problème et du matériel disponible, l'algorithme doit être traduit dans un des nombreux langages de programmation disponibles. C'est une manière normalisée et compréhensible par tous les programmeurs (de n'importe quel pays) d'exprimer la solution.
  • Interpréter ou compiler le programme en code machine le programme, bien que normalisé, est toujours un langage humain. Un programme déjà existant permet toutefois l'effectuer une nouvelle traduction en la seule chose compréhensible par l'ordinateur, une suite de 0 et 1, le code machine.

Programmer comporte 3 étapes :

  • Résoudre et expliquer le problème à l'aide d'un langage textuel ou graphique dans le langage natif du programmeur : L'algorithme ou organigramme
  • Traduire l'algorithme en un des nombreux langages de programmation existant afin de le mettre sous une forme normalisée et internationale : Le programme
  • Faire effectuer à un programme une nouvelle traduction dans le langage de l'ordinateur : Le code machine

Algorithme

  • Un algorithme s'exprime dans le langage textuel naturel au programmeur
  • Il n'est pas réellement un programme mais une méthode à suivre adaptée au problème
  • Il utilise des pseudo instructions (faire, répéter …, si … alors … sinon …) pour exprimer chaque action
  • Il est structuré grâce à des indentations (décalages en début de lignes) dans le but d'être plus facilement lisible et compréhensible.

Une recette de cuisine est un algorithme.

Un algorithme est une méthode générale pour atteindre la solution d'un problèmes. C'est une suite finie et non ambigüe d’opérations simples permettant de résoudre le problème. Il est exprimé en langage naturel (pour nous en français) et en respectant certaines règles comme l'indentation.

Organigramme

Un algorithme peut être représenté graphiquement sous la forme d'un organigramme. Pour comprendre son déroulement, il suffit de suivre les flèches qui relient les blocs. Chaque forme de bloc correspond à un type d'instruction :

  • Les rectangles indiquent les actions internes au programme (affectation de variable, calcul …)
  • Les parallélogramme indiquent une entrée/sortie d'information
  • Les losanges indiquent les conditions/choix et disposent de 2 sorties (vrai ou faux)
  • Les flèches indiquent le sens de lecture. Une flèche qui remonte signale une répétition.

Un organigramme est aussi une méthode générale pour atteindre la solution d'un problèmes. Il est exprimé sous une forme plus graphique mais toujours en français et en respectant certaines règles.

Exemple

La méthode utilisée à la leçon précédente pour convertir un nombre décimal en nombre binaire peut être écrite sous la forme d'un algorithme.

Ci dessous sa traduction graphique (organigramme) et textuelle (algorithme).

01  Demander un nombre entre 0 et 255 inclus
02  Mettre dans la variable NOMBRE la réponse
03  Si NOMBRE < 0 ou > 255
04      Signaler l'erreur
05      Arrêter le programme
06  Mettre la variable SEUIL à 128
07  Mettre la variable RÉPONSE à vide
08  Répéter jusqu'à SEUIL < 1 
09      Si NOMBRE < SEUIL alors
10          Écrire un 0 à droite de RÉPONSE
11      Sinon
12          Écrire un 1 à droite de RÉPONSE
13          Faire NOMBRE = NOMBRE - SEUIL
14      Faire SEUIL = SEUIL / 2
15  Lire RÉPONSE
  • variables : Lignes 6, 7, 14 … je note une valeur, le résultat d'un calcul, une information à me rappeler plus tard
  • répétitions : Les lignes 9 à 14 sont répétées 8 fois avant d'exécuter la ligne 15.
  • conditions : Si NOMBRE < SEUIL j'exécute la ligne 10 puis la 14 ; Si NOMBRE >= SEUIL j'exécute les lignes 12 et 13 avant d'aller à 14

Pour aller plus loin

Si j'ai correctement pensé la solution de mon problème informatique et si je l'ai correctement rédigé, n'importe qui qui lit mon algorithme ou organigramme doit arriver à un résultat correct quelles que soit les données.

cours/progra1.txt · Dernière modification: 2023/11/26 15:48 de mrcjl