Genie logiciel igl234
Thème :
Junior
1 vues ·3/19 leçons

Voici d’abord la correction des énoncés (orthographe et présentation), suivie des solutions algorithmiques avec les points-virgules à chaque instruction, comme demandé.

Partie 1 : Énoncés corrigés

Exercice 1 Écrire une procédure puissance qui calcule c = a^b = a \times a \times a \times \dots \times a (b fois), a et b étant des entiers positifs. Tester cette procédure.

Exercice 2 Écrire une procédure permut qui permet d’échanger les valeurs de 2 entiers a et b. Tester cette procédure.

Exercice 3 Écrire une fonction minimum qui retourne le minimum de 2 entiers a et b. Tester cette fonction.

Exercice 4 On appelle bigramme une suite de deux lettres. Écrire une procédure qui calcule le nombre d’occurrences d’un bigramme dans une chaîne de caractères. Peut-on transformer cette procédure en fonction ? Si oui, écrire cette fonction.

Exercice 5 Écrire une fonction Triangle qui permet de vérifier si les 3 nombres a, b et c peuvent être les mesures des côtés d’un triangle rectangle. Remarque : D’après le théorème de Pythagore, si a, b et c sont les mesures des côtés d’un triangle rectangle, alors a^2 = b^2 + c^2 ou b^2 = a^2 + c^2 ou c^2 = a^2 + b^2.

Exercice 6 Écrire une procédure ou une fonction permettant de saisir deux nombres puis qui affiche la valeur absolue de leur différence.

Exercice 7 Écrire une procédure ou une fonction qui récupère un réel x puis affiche la valeur de la fonction suivante : f(x) = \frac{x^2 + x + 1}{x + 1} si x \neq -1 ; f(x) = -30 sinon.

Exercice 8 Développer une procédure ou une fonction qui calcule la suite numérique suivante : u_0 = 1 u_{n+1} = u_n + 7 si n \in \mathbb{N}

Exercice 9 (Exercice 8 bis dans le texte original) Développer une fonction qui prend trois paramètres de type entier puis qui retourne le plus grand.

Exercice 10 (Exercice 9 dans le texte original) Développer une procédure ou une fonction qui calcule la fonction suivante : f(x) = \frac{x^2 - 2x - 1}{x^2 + 1} si x \ge 0, sinon f(x) = |15x + 20|.

Exercice 11 (Exercice 10 dans le texte original) Développer une procédure qui résout une équation de premier degré.


Partie 2 : Solutions Algorithmiques (avec points-virgules)

Voici les algorithmes corrigés et formatés avec un point-virgule à la fin de chaque instruction.

Exercice 1 : Procédure Puissance

Procédure Puissance(a : entier, b : entier, Var c : entier);
Var i : entier;
Début
    c <- 1;
    Pour i <- 1 à b faire
        c <- c * a;
    FinPour;
Fin;

Exercice 2 : Procédure Permut (Échange)

Procédure Permut(Var a : entier, Var b : entier);
Var temp : entier;
Début
    temp <- a;
    a <- b;
    b <- temp;
Fin;

Exercice 3 : Fonction Minimum

Fonction minimum(a : entier, b : entier) : entier;
Début
    Si a < b alors
        Retourne a;
    Sinon
        Retourne b;
    FinSi;
Fin;

Exercice 4 : Procédure Bigramme (Note : Oui, c’est transformable en fonction qui retourne le nombre d’occurrences)

Procédure CompteBigramme(chaine : chaîne, bigramme : chaîne, Var nb : entier);
Var i : entier;
Début
    nb <- 0;
    Pour i <- 1 à Longueur(chaine) - 1 faire
        Si SousChaine(chaine, i, 2) = bigramme alors
            nb <- nb + 1;
        FinSi;
    FinPour;
Fin;

Exercice 5 : Fonction Triangle

Fonction Triangle(a : entier, b : entier, c : entier) : booléen;
Début
    Si (a*a = b*b + c*c) OU (b*b = a*a + c*c) OU (c*c = a*a + b*b) alors
        Retourne Vrai;
    Sinon
        Retourne Faux;
    FinSi;
Fin;

Exercice 6 : Valeur absolue de la différence

Procédure DiffAbsolue();
Var a, b, diff : entier;
Début
    Ecrire("Entrer a : ");
    Lire(a);
    Ecrire("Entrer b : ");
    Lire(b);
    diff <- a - b;
    Si diff < 0 alors
        diff <- diff * (-1);
    FinSi;
    Ecrire("La valeur absolue de la différence est : ", diff);
Fin;

Exercice 7 : Fonction f(x)

Fonction CalculF(x : réel) : réel;
Début
    Si x = -1 alors
        Retourne -30;
    Sinon
        Retourne (x*x + x + 1) / (x + 1);
    FinSi;
Fin;

Exercice 8 : Suite numérique (Calcul du n-ième terme)

Fonction Suite(n : entier) : entier;
Début
    Retourne 1 + 7 * n;
Fin;

Exercice 9 : Maximum de 3 entiers

Fonction MaxTrois(a : entier, b : entier, c : entier) : entier;
Var max : entier;
Début
    max <- a;
    Si b > max alors
        max <- b;
    FinSi;
    Si c > max alors
        max <- c;
    FinSi;
    Retourne max;
Fin;

Exercice 10 : Fonction par morceaux

Fonction Fx(x : réel) : réel;
Début
    Si x >= 0 alors
        Retourne (x*x - 2*x - 1) / (x*x + 1);
    Sinon
        Retourne Abs(15*x + 20);
    FinSi;
Fin;

Exercice 11 : Équation du premier degré (ax + b = 0)

Procédure ResoudreEq();
Var a, b : réel;
Début
    Ecrire("Entrez le coefficient a : ");
    Lire(a);
    Ecrire("Entrez le coefficient b : ");
    Lire(b);

    Si a = 0 alors
        Si b = 0 alors
            Ecrire("Solution : Infinité de solutions");
        Sinon
            Ecrire("Solution : Pas de solution");
        FinSi;
    Sinon
        Ecrire("La solution est x = ", -b/a);
    FinSi;
Fin;

Prêt à passer à la suite ?

Vous avez terminé cette leçon sur Parametres et sous proceduresz exo solution. Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.