Compilateur de Pseudo-code Algorithmique en Français

Écrivez, compilez et exécutez vos algorithmes en pseudo-code français avec 40 fonctions intégrées

40 Fonctions intégrées
5 Types de données
30+ Exemples fournis
algorithme HelloWorld

variables
    nom : chaine
    age : entier

debut
    ecrire("Entrez votre nom: ")
    lire(nom)

    ecrire("Entrez votre âge: ")
    lire(age)

    ecrireln("Bonjour ", nom, " !")
    ecrireln("Vous avez ", age, " ans")
fin

Fonctionnalités Principales

🔤

Type Caractère

Support complet du type caractere avec littéraux, échappements (\n, \t) et fonctions dédiées.

🧮

40 Fonctions Intégrées

Mathématiques, chaînes, caractères, conversions et aléatoires - tout ce dont vous avez besoin.

📝

Syntaxe Flexible

Accents optionnels, casse insensible, plusieurs formats de commentaires (//, #, /* */).

🔄

Conversions de Types

Fonctions versEntier(), versReel(), versChaine() pour convertir facilement.

🎲

Génération Aléatoire

Fonction aleatoire() avec plusieurs variantes pour vos simulations.

🛠️

Extension VS Code

Coloration syntaxique, snippets, exécution directe avec Ctrl+Shift+R.

40 Fonctions Intégrées

abs(x) - Valeur absolue
min(a, b) - Minimum de deux valeurs
max(a, b) - Maximum de deux valeurs
racine(x) - Racine carrée
puissance(x, y) - x à la puissance y
arrondi(x) - Arrondi au plus proche
plancher(x) - Arrondi inférieur
plafond(x) - Arrondi supérieur
reste(a, b) - Reste de division
quotient(a, b) - Quotient division entière
sin(x), cos(x), tan(x) - Trigonométrie
log(x) - Logarithme naturel
exp(x) - Exponentielle
longueur(s) - Longueur d'une chaîne
majuscule(s) - Convertir en majuscules
minuscule(s) - Convertir en minuscules
sousChaine(s, debut, fin) - Extraire sous-chaîne
estVide(s) - Vérifie si chaîne vide
contient(s, sous_chaine) - Recherche dans chaîne
commence(s, prefixe) - Vérifie le début
termine(s, suffixe) - Vérifie la fin
position(s, sous_chaine) - Trouve la position
ord(c) - Caractère → Code ASCII
chr(code) - Code ASCII → Caractère
estLettre(c) - Teste si c'est une lettre
estChiffre(c) - Teste si c'est un chiffre
estMajuscule(c) - Teste si majuscule
estMinuscule(c) - Teste si minuscule
versMajuscule(c) - Convertir en majuscule
versMinuscule(c) - Convertir en minuscule
versEntier(x) - Convertit en entier
versReel(x) - Convertit en réel
versChaine(x) - Convertit en chaîne
aleatoire() - Nombre entre 0.0 et 1.0
aleatoire(max) - Entier entre 0 et max-1
aleatoire(min, max) - Entier entre min et max-1

Installation

1

Prérequis

Installer Java 21+

java -version
2

Télécharger

Cloner le dépôt GitHub

git clone https://github.com/algo-compiler/algo-compiler.git
cd algo-compiler
3

Compiler

Construire le projet

./gradlew build
4

Exécuter

Lancer votre premier algorithme

java -jar build/libs/algo-compiler-1.0.0.jar examples/hello.algo

📦 Extension VS Code

Installez l'extension pour une expérience complète :

cd algo-compiler-vscode
.\install.ps1

Ou installez manuellement le fichier algo-compiler-1.3.0.vsix dans VS Code

Exemples de Code

🎯 Factorielle

algorithme Factorielle

variables
    n, i, resultat : entier

debut
    ecrire("Entrez un nombre: ")
    lire(n)

    resultat = 1
    pour i de 1 à n faire
        resultat = resultat * i
    finpour

    ecrireln("Factorielle: ", resultat)
fin

🔤 Manipulation de Caractères

algorithme TestCaracteres

variables
    c : caractere
    code : entier

debut
    c = 'A'
    code = ord(c)

    ecrireln("Code ASCII: ", code)

    si estMajuscule(c) alors
        ecrireln("C'est une majuscule")
    finsi

    c = versMinuscule(c)
    ecrireln("En minuscule: ", c)
fin

📊 Recherche dans Chaîne

algorithme RechercheTexte

variables
    texte, mot : chaine
    pos : entier

debut
    texte = "Bonjour le monde"
    mot = "monde"

    si contient(texte, mot) alors
        pos = position(texte, mot)
        ecrireln("Trouvé à: ", pos)
    sinon
        ecrireln("Non trouvé")
    finsi
fin

🎲 Jeu de Devinette

algorithme DevineNombre

variables
    secret, essai : entier

debut
    secret = aleatoire(1, 101)

    repeter
        ecrire("Devinez (1-100): ")
        lire(essai)

        si essai < secret alors
            ecrireln("Plus grand!")
        sinon si essai > secret alors
            ecrireln("Plus petit!")
        finsi
    jusqua essai == secret

    ecrireln("Bravo!")
fin

Documentation