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.