UNIVERSITE IBN ZOHR CUAM 2016/2017 SERIE 1 : ALGORITHMIQUE SMC4 Exercice 1 Quelles seront les valeurs des variables A, B et C après exécution des instructions suivantes ? Début Variables A, B, C : Entier A← 3 B ← 10 C ←A+ B B←A* C A← C % 4 C ← A - B/A Fin Solution : A=1 B=39 C=-38 Exercice 2 Quel résultat produit le programme suivant ? Variables val, Double : réels Début Val ← 231 Double ← Val * 2 Écrire (Val) Écrire (Double) Fin Solution : 231 461 Exercice 3 Quelles sont les valeurs des variables A, B et C après exécution des instructions suivantes ? Algorithme valeur_variables_1 Variables A, B, C : Entier Début A← 2 B ←A+5 A ← 10 Fin Algorithme valeur_variables_2 Variables A, B, C : Entier Début A← 3 B ← 10 C ←A+ B A← 1 B←A- B A← C Fin Algorithme valeur_variables_3 Variables A, B, C : Entier Début A← 7 B←6 C ←A+ B A ← A+5 B←A+ B Fin Algorithme valeur_variables_4 Variables A, B, C : Entier Début A← 3 B ← 10 C ←A+ B B←A+ B A ← C-4 Fin Solution B =7 A=10 A= 13 B= 0 C= 13 A= 12 B= 18 C= 13 A= 9 B= 13 C= 13 Exercice 4 Écrire un programme qui échange la valeur de deux variables. Exemple, si a = 1 et b = 3, le programme donnera a = 3 et b = 1. Algorithme Echange Variables a, b, ech : entier Début afficher("saisir 2 entiers :") saisir(a,b) afficher(" avant échange : a = ", a, "b= ", b) ech ← a a←b b ← ech afficher(" après échange : a = ", a, "b= ", b) Fin ou bien Écrire("saisir 2 entiers :") Lire(a,b) Exercice 5 Écrire un programme qui demande un nombre à l’utilisateur, puis qui calcule et affiche le carré de ce nombre. Algorithme CarreNombre Variables a, cr_a : entiers Début afficher("saisir 1 entier :") saisir(a) cr_a ← a*a afficher(" le carré de : ", a, " est :", cr_a) Fin Exercice 6 Quel est le résultat des algorithmes suivants ? Variables A, B, C : Chaine de caractères Début A ← "1234" B ← "56" C ←A+ B Fin Variables A, B, C : Chaine de caractères Début A ← "1234" B ← "56" C ←A&B Fin Solution 1- Erreur d’exécution 2- "123456" Exercice 7 Donner le contenu de la variable X après la série des actions suivantes : variables X : Entier Début X←5 { X + 1 ← X%3 } X + 1 ← X mod(3) Fin Solution Erreur d’affectation Exercice 8 Ecrire l'algorithme qui lit un entier n, puis calcule et affiche son double et son carré. Algorithme CarreDouble Variables n, double, carre : entier Début Ecrire ("Entrez un nombre :") Lire (n) double ← n+n carre ← n * n Ecrire ("Son double est : ", double) Ecrire ("Son carré est : ", carre) Fin Exercice 9 Ecrire un algorithme qui lit le prix hors taxe d’un produit, le nombre de produit achetés, le taux de TVA et calcule le prix total TTC. Algorithme prix_ttc Variable nb : entier PHT, PTTC, TVA : réel Début Ecrire ( " donner le prix hors taxe") Lire PHT Ecrire (" donner le nombre d’articles") Lire (nb) Ecrire (" donner la tva") Lire (TVA) PTTC ← nb*PHT*(1+TVA) Ecrire(" le prix total TTC : ", PTTC) Fin Exercice 10 Ecrire un algorithme qui permet de calculer le nombre de radiateurs dont on a besoin pour chauffer une pièce. Notons qu’un radiateur est capable de chauffer 8m3. L’utilisateur donnera la longueur, la largeur et la hauteur de la pièce en mètres. Algorithme nombre_radiateur Variables longueur, largeur, hauteur, volume : réel nombre : entier Constante (capacite : entier) 8 Début Ecrire ("Saisir la longueur, la largeur et la hauteur") Lire( longueur, largeur, hauteur) volume ← longueur × largeur × hauteur nombre ← volume/capacité Ecrire("pour le volume ", volume) Ecrire("nous avons besoin de : ", nombre) Fin Exercice 11 Ecrire un algorithme qui calcule : - le périmètre et la surface d’un rectangle. - le périmètre et la surface d’un cercle. - la surface latérale et le volume d’un cylindre. - la surface s et le volume v d’une sphère. Algorithme SurfacePerimetre Variables longueur, largeur, rayon, hauteur : Réel Constante (pi :Reel) 3,14 Debut Ecrire (" Saisir la longueur et la largeur du rectangle") Lire( longueur, largeur) Ecrire (" Le périmètre est : ", (longueur + largeur)*2) Ecrire( " La surface est : ", longueur*largeur) Ecrire (" Saisir le rayon du cercle") Lire( rayon) Ecrire( " Le périmètre est : ", 2 * pi * rayon) Ecrire( " La surface est : ", pi* (rayon ^ 2)) Ecrire (" Saisir la hauteur et le rayon du cylindre") Lire(rayon, hauteur) Ecrire (" La surface latérale est : ", 2 * pi * rayon* hauteur) Ecrire( " Le volume est : ", pi* (rayon ^ 2) * hauteur) Ecrire (" Saisir le rayon de la sphère") Lire (rayon) Ecrire( " La surface est : ", 4 * pi* (rayon ^ 2)) Ecrire (" Le volume est : ", 4 * pi* (rayon ^ 3) /3) Fin