Initiation à  l'Algorithmique : Traducteur simplifié du Langage algorithmique vers Java

Ce traducteur permet de traduire rapidement un programme écrit en langage algorithmique en classe JAVA, mais d'autres traductions sont possibles.
Il peut servir aussi à mémoriser les différents éléments du langage algorithmique et du langage JAVA.

Les mots réservés et instructions du language sont écrits en gras et ne doivent pas être modifiés.
Les expressions et instructions écrites en italique doivent être des traductions.

L'API et la documentation Java sont disponibles sur http://download.oracle.com/javase/1.5.0/docs/api/

Langage ALGORITHMIQUELangage JAVA
Structure d'un programme
 // fonctions présentes ici si nécessaire

 déclaration des variables
 début
    instructions
 fin
 public class NomProgramme            // si le nom du fichier est NomProgramme.java
 {

  // traduction des fonctions ici s'il y en a

   public static void main (String[ ] args)    // ne modifiez pas l'intérieur des parenthèses !
   {
      traduction des déclarations de variables
      traduction des instructions
   }
 }
Types de base (constantes)
 entier        (ex : 235   -235)
 réel           (ex : 1.56   -34E2)
 booléen    (vrai   faux)
 caractère  (ex : 'a')
 chaine      (ex : "bonjour"    "les ' et "")
 int            (ex : 235   -235)
 double     (ex : 1.56   -34E2  -34e2)
 boolean   (true   false)
 char         (ex : 'a')
 String       (ex : "bonjour"    "les \' et \"")
Opérateurs
 Arithmétiques              +  -  *  /  div  mod
 Logiques                     et   ou   non
 Relationnels               =  <  >  ≤  ≥  ≠   // NE PAS UTILISER SUR DES CHAÎNES
 Cas particulier !          Egalité entre deux chaînes s1 et s2
 Concaténation            +
 Conversion de type    entier (2*3.5)
 +   -   *   /   /   %     (la division / est entière ssi les opérandes sont des entiers, sinon c'est une division réelle)
 &&   ||   !
 ==  <   >   <=   >=   !=
 s1.equals(s2)          // fonction prédéfinie pour les CHAÎNES
 +               
 (int)(2*3.5)
Déclaration des variables
 réel a, c;
 entier i, j;
 booléen b;
 caractère c;
 chaîne s;
 double a, c;
 int i, j;
 boolean b;
 char c;
 String s;
Affectation de variable
 <--
 =
Entrées et sorties
 lire a ;
Pour pouvoir utiliser les instructions suivantes utilisant Scanner,
il faut obligatoirement écrire au début du fichier .java la ligne :

  import java.util.Scanner;

Si a est un entier : a = (new Scanner(System.in)).nextInt();           Attention : on ne saisit qu'une valeur à la fois
Si a est un réel : a = (new Scanner(System.in)).nextDouble();
Si a est un booléen : a = (new Scanner(System.in)).nextBoolean();
Si a est une chaîne : a = (new Scanner(System.in)).next();
 ecrire a ;
 ecrire "valeur de la variable a = " + a ;
System.out.println(a);
System.out.println("valeur de la variable a = " + a);
Instructions conditionnelles
 si (condition) alors
    instruction_1;
    instruction_2;
    ...
 sinon
    instruction_3;
    instruction_4;
    ...
 finsi
 if (condition)                    Attention : on ne traduit pas le alors
 {
   traduction de l'instruction_1;
   traduction de l'instruction_2;
   ...
 }
 else
 {
   traduction de l'instruction_3;
   traduction de l'instruction_4;
   ...
 }
 si (condition) alors
    instruction_1;
    instruction_2;
    ...
 finsi
 if (condition) 
 {
    traduction de l'instruction_1;
    traduction de l'instruction_2;
    ...
 }
Instructions itératives (boucles)
 pour (i allant de 1 à 10 pas 1) faire   
    instruction_1;
    instruction_2;
    ...
 finpour
 
 for (i=1; i<=10 ; i=i+1)              Attention : on ne traduit pas le faire
 {
    traduction de l'instruction_1;
    traduction de l'instruction_2;
    ...
 }
 pour (i allant de 10 à 1 pas -1) faire   
    instruction_1;
    instruction_2;
    ...
 finpour
 
 for (i=10; i>=1 ; i=i-1)              Attention : on ne traduit pas le faire
 {
    traduction de l'instruction_1;
    traduction de l'instruction_2;
    ...
 }
 tant que (condition) faire   
    instruction_1;
    instruction_2;
    ...
 fintantque
 
 while (condition)              Attention : on ne traduit pas le faire
 {
    traduction de l'instruction_1;
    traduction de l'instruction_2;
    ...
 }
Fonctions
 fonction avec retour type nomFonction(paramètres)   
 déclaration des variables
 début
    instructions
    retourne valeur ;
 fin
 
 public static type nomFonction(paramètres)
 {
    traduction des déclarations de variable;
    traduction des instructions;
    return valeur ;
 }
 fonction sans retour nomFonction(paramètres)   
 déclaration des variables
 début
    instructions
 fin
 
 public static void nomFonction(paramètres)
 {
    traduction des déclarations de variable;
    traduction des instructions;
 }
Fonctions prédéfinies
 racineCarrée(x)   
 
 Math.sqrt(x)
Tableaux
 type[nbrCases] nomTab ;    
 
type[ ] nomTab = new type[nbrCases] ;