DAIGL:Algorithme
Cours 1ère année par dudsweet57
Sommaire |
Introduction
Un algorithme c'est la création d'un programme mais en "français". Cela a la même architecture mais on n'emploie pas directement le langage informatique. On y définit des variables, et le corps avec un début et une fin. ?Entrez le texte non formatté ici
Algorithme de base
aaAlgo Mon_1er_Algo <-on dit qu'on fait de l'algorithme et on lui donne un nom (de préférence : pas d'espace dans le nom)
Variables <-ou VAR
i:entier <-zone de déclaration des variables
Début <-Début du programme
Afficher("Bonjour")
Fin <-Fin du programme
La zone de déclaration des variables est un emplacement mémoire où l'on spécifie le type de variable:
- entier
- réel
- chaine
- booléen
Une variable est une zone mémoire que l'on réserve au début du programme. Déclarer une variable consiste à réserver un espace mémoire et à lui attribuer un nom ainsi qu'un type. Une variable doit commencer par un caractère alphabétique et peut contenir un "underscore" et des chiffres.
Exemple: On va créer un programme et lui faire apparaitre la table de multiplication de 42
Algorithme Table de 42 Variables unmessage:Bonjour, vous aldlez voir la table de multiplication de 42 i:42 Début i<-42 <-on initialise la variable on lui donne la valeur qu'on veut ici 42 Afficher(unmessage) <-On demande au prog d'afficher la variable unmessage(bjr..) Afficher(i*0) <-Et la tout bêtement on fait sa table Afficher(i*1) Afficher(i*2) Afficher(i*3) ... Fin
Les conditionnelles
La conditionnelle permet de choisir l'exécution d'un traitement ou d'un autre traitement en fonction du résultat d'une opération (ou d'une évaluation)
Exemple :
Si a < b
Alors <-ici je décale le texte pour que cela soit plus lisible c'est une indentation
Faire ca
Sinon
Faire ca
Fin Si
Les conditions d'évaluation peuvent être: =,<,> etc...
Le bloc d'instruction "Sinon" est optionnel.
Chaque bloc ouvert se doit d'être fermé :
- Si, Fin Si
- Début, Fin ...
Exemple :
Créer un programme qui demande à l'utilisateur de taper son nom et son QI.
Si son QI est supérieur à 120, afficher son nom et "tu es fort" sinon afficher son nom et "n'est pas un génie" avec son QI(redonner aussi son QI).
On a donc besoin de 2 variables(nom + QI) et de la commande saisir permettant à l'utilisateur de saisir ses infos.
Algo Qi
Variables
qi:entier
nom:chaine
Début
Saisir(nom) <-on demande à l'utilisateur de saisir la variable nom
Saisir(qi) <-même chose mais pour son QI
Si (qi > 120) <-on a donc besoin d'une conditionnelle
Alors
Afficher(nom, " est fort")
Sinon
Afficher(nom, "n'est pas un génie avec son QI de",qi)
Fin Si
Fin
Un autre type de structure de contrôle conditionnelle est le "selon", qui permet, de façon plus lisible qu'une imbrication complexe de "si", d'envisager différents traitements en fonction de la valeur d'une variable.
Exemple :
Selon a
Cas 1: <-ici je décale le texte pour que cela soit plus lisible c'est une indentation
Faire ceci
Fin de cas
Cas 2:
Cas 3:
Faire cela
Fin de cas
Cas sinon:
Faire autre chose
Fin de cas
Fin Selon
Cet exemple fait la même chose que le suivant, mais plus simplement :
Si a=1
Alors
Faire ceci
Sinon
Si a=2 ou a=3
Alors
Faire cela
Sinon
Faire autre chose
Fin Si
Fin Si
On utilisera de préférence le "selon" dans les cas où une variable ou le résultat d'une expression (dans l'exemple, "a") peut prendre plus de deux valeurs impliquant des traitements distincts. Le "si", en revanche, conviendra mieux lorsque la variable ou l'expression ne peut prendre que deux valeurs différentes (ex : VRAI/FAUX, 1/O, un cas précis/autres cas, ...).
Le bloc d'instruction "Cas sinon:" est optionnel, mais recommandé.
Chaque bloc ouvert se doit d'être fermé :
- Selon, Fin Selon
- Cas, Fin Cas ...
Quelques remarques sur cette structure très pratique :
- cela permet une meilleure lisibilité que les imbrications de "si" car l'indentation est la même entre les différents cas. - cette structure permet d'effectuer un même traitement dans plusieurs cas (cf. dans l'exemple ci-dessus les cas 2 et 3) - cette structure de contrôle propose un cas par défaut qui sera pris en compte si aucun des autres cas n'est rempli, c'est le "cas sinon"
Les itérations(boucles)
Une itération permet d'executer un ensemble d'instruction, un certain nombre de fois. Le nombre d'exécution est déterminé en fonction de la condition de poursuite(ou d'arrêt)
Syntaxe
Tant que (condition) faire
(Bloc de traitement)
Fin Tant que
Exemple:
Ecrire un programme qui écrit 8 milliards de fois "Bonjour Maître"
Algo Maître
Variable
i:entier
Début
i<-0 <-on initialise la variable à 0
Tant que(i<8000000000)faire <-on introduit la condition ATTENTION:ne pas oublier le faire!
Afficher("Bonjour Maître") <-on donne l'instruction à réaliser(ATTENTION à ne pas oublier "" c'est une chaîne de caractère)
i<-i+1 <-on fait ce qu'on appele une incrémentation, à chaque fois que l'on passe dans la boucle i vaut i+1 et cela jusqu'à ce que la
condition soit remplie
Fin Tant que
Fin
