30/12/2014 1 Exercices simples sur l'affectation (1) Donnez les valeurs des var

30/12/2014 1 Exercices simples sur l'affectation (1) Donnez les valeurs des variables A, B et C après exécution des instructions suivantes ? Variables A, B, C: Entier Début A ← 3 B ← 7 A ← B B ← A+5 C ← A + B C ← B – A Fin 30/12/2014 2 Exercices simples sur l'affectation (2) Donnez les valeurs des variables A et B après exécution des instructions suivantes ? Variables A, B : Entier Début A ← 1 B ← 2 A ← B B ← A Fin Les deux dernières instructions permettent-elles d’échanger les valeurs de A et B ? 30/12/2014 3 Exercices simples sur l'affectation (3) Ecrire un algorithme permettant d’échanger les valeurs de deux variables A et B 30/12/2014 4 Exercice (lecture et écriture) Ecrire un algorithme qui demande un nombre entier à l'utilisateur, puis qui calcule et affiche le double de ce nombre Algorithme Calcul_double variables A, B : entier Début écrire("entrer le nombre ") lire(A) B ← 2*A écrire("le double de ", A, "est :", B) Fin 30/12/2014 5 Exercice (lecture et écriture) Ecrire un algorithme qui vous demande de saisir votre nom puis votre prénom et qui affiche ensuite votre nom complet Algorithme AffichageNomComplet variables Nom, Prenom, Nom_Complet : chaîne de caractères Début écrire("entrez votre nom") lire(Nom) écrire("entrez votre prénom") lire(Prenom) Nom_Complet ← Nom & Prenom écrire("Votre nom complet est : ", Nom_Complet) Fin 30/12/2014 6 Exercice (Si…Alors…Sinon) Algorithme AffichageValeurAbsolue (version1) Variable x : réel Début Ecrire (" Entrez un réel : “) Lire (x) Si (x < 0) alors Ecrire ("la valeur absolue de ", x, "est:",-x) Sinon Ecrire ("la valeur absolue de ", x, "est:",x) Finsi Fin 30/12/2014 7 Exercice (Si…Alors) Algorithme AffichageValeurAbsolue (version2) Variable x,y : réel Début Ecrire (" Entrez un réel : “) Lire (x) y← x Si (x < 0) alors y ← -x Finsi Ecrire ("la valeur absolue de ", x, "est:",y) Fin 30/12/2014 8 Exercice (tests) Ecrire un algorithme qui demande un nombre entier à l'utilisateur, puis qui teste et affiche s'il est divisible par 3 Algorithme Divsible_par3 Variable n : entier Début Ecrire " Entrez un entier : " Lire (n) Si (n%3=0) alors Ecrire (n," est divisible par 3") Sinon Ecrire (n," n'est pas divisible par 3") Finsi Fin 30/12/2014 9 Tests imbriqués: exercice Le prix de photocopies dans une reprographie varie selon le nombre demandé: 0,5 DH la copie pour un nombre de copies inférieur à 10, 0,4DH pour un nombre compris entre 10 et 20 et 0,3DH au-delà. Ecrivez un algorithme qui demande à l’utilisateur le nombre de photocopies effectuées, qui calcule et affiche le prix à payer 30/12/2014 10 Tests imbriqués: corrigé de l'exercice Variables copies : entier prix : réel Début Ecrire ("Nombre de photocopies : ") Lire (copies) Si (copies < 10) Alors prix ← copies*0.5 Sinon Si (copies) < 20 prix ← copies*0.4 Sinon prix ← copies*0.3 Finsi Finsi Ecrire (“Le prix à payer est : ”, prix) Fin 30/12/2014 11 Tests imbriqués: exercice Ecrivez un algorithme pour résoudre une équation de 2ième degré, les coefficients a, b et c sont donnés par l’utilisateur au moment de l’éxecution, 30/12/2014 12 Exercice : Boucle Tant que Un algorithme qui détermine le premier nombre entier N tel que la somme de 1 à N dépasse strictement 100 version 1 Variables som, i : entier Debut i ← 0 som← 0 TantQue (som <=100) i ← i+1 som ← som+i FinTantQue Ecrire (" La valeur cherchée est N= ", i) Fin 30/12/2014 13 Boucle Pour : exercice1 Calcul de x à la puissance n où x est un réel non nul et n un entier positif ou nul Variables x, puiss : réel n, i : entier Debut Ecrire (" Entrez la valeur de x ") Lire (x) Ecrire (" Entrez la valeur de n ") Lire (n) puiss ← 1 Pour i allant de 1 à n puiss← puiss*x FinPour Ecrire (x, " à la puissance ", n, " est égal à ", puiss) Fin 30/12/2014 14 Lien entre Pour et TantQue Calcul de x à la puissance n où x est un réel non nul et n un entier positif ou nul (version avec TantQue) Variables x, puiss : réel n, i : entier Debut Ecrire (" Entrez la valeur de x ") Lire (x) Ecrire (" Entrez la valeur de n ") Lire (n) puiss ← 1 i ← 1 TantQue (i<=n) puiss← puiss*x i ← i+1 FinTantQue Ecrire (x, " à la puissance ", n, " est égal à ", puiss) Fin 30/12/2014 15 Boucle Répéter jusqu’à : exemple Un algorithme qui détermine le premier nombre entier N tel que la somme de 1 à N dépasse strictement 100 (version avec répéter jusqu'à) Variables som, i : entier Debut som ← 0 i ← 0 Répéter i ← i+1 som ← som+i Jusqu'à ( som > 100) Ecrire (" La valeur cherchée est N= ", i) Fin 30/12/2014 16 Opérations sur les tableaux  Écrivez un programme qui comporte la déclaration d’un tableau de 25 réels (les notes d’une classe), on commence par effectuer la saisie des notes, et en suite on calcul la moyenne des 25 notes et on affiche la moyenne, 30/12/2014 17 Opérations sur les tableaux variables tableau Note[25], somme, moyenne : réel i : entier début pour i allant de 0 à 24 faire /* saisir les notes */ ecrire("entrer une note :") lire(Note[i]) finpour Somme 0 /* effectuer la moyenne des notes */ pour i allant de 0 à 24 faire somme somme + Note[i] finPour moyenne = somme / 25 ecrire("la moyenne des notes est :",moyenne) / affichage de la moyenne / fin 30/12/2014 18 Opérations sur les tableaux  Écrivez un algorithme qui lit un tableau d’entiers de n éléments et donne la plus grande et la plus petite valeur de ce tableau. Solution 30/12/2014 19 variables Tableau Tab[100], i, min, max : Entier debut ecrire("donner les éléments du tableaux :") Pour i allant de 1 à 100 faire lire(Tab(i)) FinPour min Tab[1] max Tab[1] Pour i allant de 2 à n faire si (min > Tab[i]) alors min Tab[i] finsi si (max < Tab[i]) alors max Tab[i] finsi FinPour Ecrire("le minimum est ",min) Ecrire("le maximum est ",max) fin 30/12/2014 20 exercices sur les tableaux  Écrivez un algorithme qui permet de déterminer si les éléments d'un tableau d'entiers sont tous consécutifs ou non. (Par exemple, si le tableau est : 7; 8; 9; 10, ses éléments sont tous consécutifs. Si le tableau est : 7; 9 ; 10; 11, ses éléments ne sont pas tous consécutifs). 30/12/2014 21 exercices sur les tableaux  Écrivez un algorithme qui permet de déterminer si les éléments d'un tableau d'entiers sont tous consécutifs ou non. (Par exemple, si le tableau est : 7; 8; 9; 10, ses éléments sont tous consécutifs. Si le tableau est : 7; 9 ; 10; 11, ses éléments ne sont pas tous consécutifs). 30/12/2014 22 Écrivez une fonction fact(), qui prend pour argument un entier n et retourne le factoriel de n. 30/12/2014 23 Écrivez une procédure qui lit un entier n (la taille du tableau), le tableau d’entiers T de n éléments, l’entier x et indique le nombre de fois que x figure dans le tableau T. Fonctions récursives : exercice Ecrivez une fonction récursive qui calcule le terme n de la suite de Fibonacci définie par: U(0)=U(1)=1 U(n)=U(n-1)+U(n-2) Fonction Fib (n : entier ) : entier Variable res : entier Si (n=1 OU n=0) alors res ←1 Sinon res ←Fib(n-1)+Fib(n-2) Finsi retourne (res) FinFonction 30/12/2014 Pr. R. EL ALAMI 24 25 Pseudo-Code Algorithme maximum: Retourne le maximum de 3 entiers  Entrée: Trois entiers a, b, c;  Sortie: x contenant la valeur maximale  Procédure max(a:entier,b:entier,c:entier)  x:entier 1. début 2. x := a; 3. Si b>x alors //Si b plus grand que x, mettre x à jour 4. x := b; FinSi 5. Si c>x alors // Si c plus grand que x, mettre x à jour 6. x := c; FinSi 7. écrire (x); 8. Fin Trace de l’algorithme pour: a=1; b=5; c=3 x = 1 x = 5 G.KHAISSIDI uploads/Litterature/ td-ensaf-corrige.pdf

  • 25
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager