Guide d'Algorithmes en AlgoFX

Structure de Base d'un Algorithme

Tout algorithme suit une structure standard composée de trois parties principales :

Algorithme NomAlgorithme;
Var
    // Déclarations de variables
    nom: Type;
    a, b, c: entier;  // Déclaration multiple
Const
    p=3.1415; // Déclaration des constantes
Debut
    // Instructions
Fin

Types de Données

Type Description Exemples
entier Nombres entiers 42, -10, 0
reel Nombres à virgule flottante 3.14, -0.5, 2.0
chaine de caractere Texte entre guillemets "Bonjour", "2023", ""
caractere Un seul caractère "a", "5", "!"
booleen Valeur logique vrai, faux

Variables et Constantes

Déclaration de Variables

var
    age: entier;
    nom: chaine de caractere;
    a, b, c: entier;  // Déclaration multiple
    estValide: booleen;

Déclaration de Constantes

const
    PI = 3.14159;
    TAUX_TVA = 20.0;
    MESSAGE_BIENVENUE = "Bonjour !";

Opérations et Expressions

Opérateurs Arithmétiques

Opérateur Description Exemple
+ Addition a + b
- Soustraction a - b
* Multiplication a * b
/ Division a / b
mod Modulo (reste de division) a mod b
div Division entière a div b
Puissance puissance a puissance b

Opérateurs Relationnels

Opérateur Description Exemple
= Égal à a = b
<> ou != Différent de a <> b
< Inférieur à a < b
> Supérieur à a > b
<= Inférieur ou égal à a <= b
>= Supérieur ou égal à a >= b

Opérateurs Logiques

Opérateur Description Exemple
et ET logique (a > 0) et (b < 10)
ou OU logique (a = 0) ou (b = 0)
non NON logique non(a = b)
Note sur la priorité des opérations : parenthèses, puis puissance, puis multiplication/division, puis addition/soustraction.

Instructions de Base

Affectation

variable <- valeur;

Exemple : somme <- a + b;

Lecture (Entrée)

lire(variable);
lire(a, b, c);  // Lecture multiple

Écriture (Sortie)

ecrire("Texte");
ecrire(a, b, "Résultat:", resultat);  // Sortie multiple

Structures de Contrôle

Condition Simple

si condition alors
    instructions
finsi

Condition avec Alternative

si condition alors
    instructions1
sinon
    instructions2
finsi

Conditions Imbriquées

si condition1 alors
    instructions1
sinon
    si condition2 alors
        instructions2
    sinon
        instructions3
    finsi
finsi

Boucle TANT QUE

tantque condition faire
    instructions
fintantque

Boucle POUR

pour variable de valeur1 a valeur2 faire
    instructions
finpour

// Avec un pas spécifique
pour variable de valeur1 a valeur2 pas n faire
    instructions
finpour

Instruction SORTIR

Permet de sortir d'une boucle prématurément :

tantque condition faire
    si autreCondition alors
        sortir;  // Quitte la boucle
    finsi
    instructions
fintantque

Fonctions Mathématiques

Exemples Complets

Exemple 1 : Calcul de factorielle

Algorithme Factoriel;
Var
    n, fact, i: entier;
Debut
    ecrire("Entrez un nombre pour calculer sa factorielle:");
    lire(n);
    
    fact <- 1;
    
    pour i de 1 a n faire
        fact <- fact * i;
    finpour
    
    ecrire("La factorielle de", n, "est", fact);
Fin

Exemple 2 : Vérification d'un palindrome

Algorithme VerificationPalindrome;
Var
    nombre, copie, inverse, chiffre: entier;
Debut
    ecrire("Entrez un nombre:");
    lire(nombre);
    
    copie <- nombre;
    inverse <- 0;
    
    tantque copie > 0 faire
        chiffre <- copie mod 10;
        inverse <- inverse * 10 + chiffre;
        copie <- copie div 10;
    fintantque
    
    si nombre = inverse alors
        ecrire(nombre, "est un palindrome");
    sinon
        ecrire(nombre, "n'est pas un palindrome");
    finsi
Fin

Exemple 3 : Conversion de température

Algorithme ConversionTemperature;
Var
    choix: entier;
    celsius, fahrenheit: reel;
Debut
    ecrire("Conversion de température");
    ecrire("1- Celsius vers Fahrenheit");
    ecrire("2- Fahrenheit vers Celsius");
    ecrire("Entrez votre choix (1 ou 2):");
    
    lire(choix);
    
    si choix = 1 alors
        ecrire("Entrez la température en Celsius:");
        lire(celsius);
        fahrenheit <- (celsius * 9/5) + 32;
        ecrire(celsius, "°C équivaut à", fahrenheit, "°F");
    sinon
        si choix = 2 alors
            ecrire("Entrez la température en Fahrenheit:");
            lire(fahrenheit);
            celsius <- (fahrenheit - 32) * 5/9;
            ecrire(fahrenheit, "°F équivaut à", celsius, "°C");
        sinon
            ecrire("Choix invalide");
        finsi
    finsi
Fin

Exemple 4 : Suite de Fibonacci

Algorithme SuiteFibonacci;
Var
    n, i, a, b, c: entier;
Debut
    ecrire("Combien de termes de la suite de Fibonacci voulez-vous?");
    lire(n);
    
    ecrire("Suite de Fibonacci:");
    
    si n >= 1 alors
        ecrire(0);
    finsi
    
    si n >= 2 alors
        ecrire(1);
    finsi
    
    a <- 0;
    b <- 1;
    
    pour i de 3 a n faire
        c <- a + b;
        ecrire(c);
        a <- b;
        b <- c;
    finpour
Fin

Exemple 5 : Nombres premiers

Algorithme NombresPremiers;
var
    n, i, j, temp: entier;
    estPremier: booleen;
debut
    ecrire("Entrez la limite N:");
    lire(n);
    
    ecrire("Nombres premiers jusqu'à", n, ":");
    
    pour i de 2 a n faire
        estPremier <- vrai;
        
        pour j de 2 a i-1 faire
            temp <- i mod j;
            si temp = 0 alors
                estPremier <- faux;
                sortir;
            finsi
        finpour
        
        si estPremier = vrai alors
            ecrire(i);
        finsi
    finpour
Fin

Bonnes Pratiques

Note importante : Cette syntaxe d'algorithme est un pseudocode en français utilisé principalement à des fins pédagogiques. Elle n'est pas directement exécutable sur un ordinateur sans être traduite dans un langage de programmation comme Python, Java, C++, etc. Toutefois, vous pouvez utiliser AlgoFX pour exécuter ces algorithmes à des fins d’apprentissage uniquement.