Considérons les deux programmes suivants ([WIKI_LANG]),
exprimés en langages Visual Basic et Javascool,
qui calculent un prix total à partir d'une quantité et d'un prix unitaire :
Programme Visual Basic |
Programme Javascool |
Sub main( )
Dim quantite As Integer
Dim prixUnitaire As Double
Dim prixTotal As Double
quantite=2
prixUnitaire=10.5
prixTotal=quantite * prixUnitaire
MsgBox("prix total : " & prixTotal)
End Sub
|
void main() {
int quantite;
double prixUnitaire;
double prixTotal;
quantite=2;
prixUnitaire=10.5;
prixTotal=quantite * prixUnitaire;
println("prix total : " + prixTotal);
}
|
Malgré une syntaxe un peu obscure, il est facile de constater que ces deux programmes
expriment une logique commune que l'on peut résumer ainsi dans un
algorithme (appelé aussi pseudo-code):
DÉBUT
quantite = 2
prixUnitaire = 10.5
prixTotal = quantite * prixUnitaire
ÉCRIRE "le prix total vaut : ", prixTotal
FIN
La notion d'algorithme ([PISE])
est antérieure à l'apparition des ordinateurs et désigne tout procédé décrit
de façon suffisamment précise pour pouvoir être appliqué par une personne : recette de cuisine, mode d'emploi,
algorithme du plus grand diviseur commun de deux nombres (Euclide)...
Dans un contexte informatique, cette notion est plus restrictive car un objectif supplémentaire
est de pouvoir ensuite facilement transformer un algorithme en un programme (Visual Basic, Java...).
Un algorithme doit donc être décrit à l'aide de concepts informatisables (entrées-sorties,
instructions conditionnelles, boucles...), mais aucune syntaxe n'est imposée.
Les algorithmes de ce cours seront exprimés en pseudo-code Larp,
avant d'être traduits en langage Javascool.
Remarque :
un algorithme Larp est non seulement un pseudo-code pour son côté intuitif, mais aussi
un programme puisqu'il peut être exécuté sur machine.