Série algorithmique II

print this page
send email
____________________________________________________________________________________________________________
Énoncés
____________________________________________________________________________________________________________
Exercice 1:
Ecrire un programme qui échange la valeur de deux variables. Exemple, si a = 2 et b = 5, le programme donnera a = 5 et b = 2.
1.On utilisant un variable.
2.On n'utilisant aucun autre variable.
____________________________________________________________________________________________________________
Exercice 2:
Ecrire un programme qui demande un nombre à l’utilisateur, puis qui calcule et affiche le carré de ce nombre.
____________________________________________________________________________________________________________

Exercice 3:
Ecrire un programme qui lit le prix HT d’un article, le nombre d’articles et le taux de TVA, et qui fournit le prix total TTC correspondant. Faire en sorte que des libellés apparaissent clairement.
____________________________________________________________________________________________________________
Exercice 4:
Ecrire un algorithme qui demande deux nombres à l’utilisateur et l’informe ensuite si leur produit est négatif ou positif (on laisse de côté le cas où le produit est nul). Attention toutefois : on ne doit pascalculer le produit des deux nombres.
____________________________________________________________________________________________________________
Exercice 5:
Ecrire un algorithme qui demande l’âge d’un enfant à l’utilisateur. Ensuite, il l’informe de sa catégorie :
”Poussin” de 6 à 7 ans
”Pupille” de 8 à 9 ans
”Minime” de 10 à 11 ans
”Cadet” après 12 ans
Peut-on concevoir plusieurs algorithmes équivalents menant à ce résultat ?
____________________________________________________________________________________________________________
Exercice 6:
Ecrire un algorithme qui demande un nombre compris entre 10 et 20, jusqu’à ce que la réponse convienne. En cas de réponse supérieure à 20, on fera apparaître un message : Plus petit ! , et inversement, Plus grand ! si le nombre est inférieur à 10.
____________________________________________________________________________________________________________
Exercice 7:
Ecrire un algorithme qui demande un nombre de départ, et qui calcule la somme des entiers jusqu’à ce nombre. Par exemple, si l’on entre 5, le programme doit calculer : 1 + 2 + 3 + 4 + 5 = 15 NB : on souhaite afficher uniquement le résultat, pas la décomposition du calcul.
____________________________________________________________________________________________________________
Exercice 8:
Ecrire un algorithme qui demande un nombre de départ, et qui calcule sa factorielle.
NB : la factorielle de 8, notée 8 !, vaut 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 Variables N, i, F en Entier
____________________________________________________________________________________________________________
Exercice 9:
Que produit l’algorithme suivant ?

    Var
    Nb(5) : tableau d'entiers;
    i : entier;
    Début
        Pour i <-- 0 à 5
              Nb(i) <-- i * i;
              i<--i+1;
       Fin pour
       Pour i <-- 0 à 5
             Ecrire (Nb(i));
              i<--i+1;
    Fin

    Peut-on simplifier cet algorithme avec le même résultat ?
____________________________________________________________________________________________________________
Exercice 10:
Ecrivez un algorithme permettant, à l’utilisateur de saisir les notes d’une classe. Le programme, une fois la saisie terminée, renvoie le nombre de ces notes supérieures à la moyenne de la classe.
____________________________________________________________________________________________________________
Solutions
____________________________________________________________________________________________________________
Solution exercice 1:

1.Algorithme Permutation;
   Var
    a, b, t : entier;
   Début
            a=2;
            b=5;
            t <-- a;
            a <-- b;
            b <-- t;
   Fin
2.Algorithme Permutation2;
   Var
    a, b: entier;
   Début
            a=2;
            b=5;
            a <-- a+b;
            b <-- a-b;
            a <-- a-b;
   Fin
____________________________________________________________________________________________________________
Solution exercice 2:
Algorithme carré;
    Var
    nb, carr : entier;
   Début
            Ecrire ('Entrez un nombre :');
         Lire (nb);
         carr <-- nb * nb;
         Ecrire ('Son carré est : ', carr);
    Fin

En fait, on pourrait tout aussi bien économiser la variable carr en remplaçant les deux avant-dernières lignes par :
        Ecrire ('Son carré est : ', nb*nb);

C’est une question de style ; dans un cas, on privilégie la lisibilité de l’algorithme, dans l’autre, on privilégie l’économie d’une variable.
____________________________________________________________________________________________________________
Solution exercice 3:
Algorithme prix;
   Var
    nb, pht, ttva, pttc : réel;
    Début
         Ecrire ('Entrez le prix hors taxes :');
         Lire (pht);
         Ecrire ('Entrez le nombre d’articles :');
         Lire (nb);
         Ecrire ('Entrez le taux de TVA :');
         Lire (ttva);
         pttc <-- nb * pht * (1 + ttva);
         Ecrire ('Le prix toutes taxes est : ', pttc);
    Fin

ou
Ecrire ('Le prix toutes taxes est : ', nb * pht * (1 + ttva));
____________________________________________________________________________________________________________
Solution exercice 4:
Algorithme Signe;
    Var
    m, n : entier;
    Début
        Ecrire ('Entrez deux nombres : ');
        Lire (m, n);
        Si (m > 0 ET n > 0) OU (m < 0 ET n < 0) Alors
                   Ecrire ('Leur produit est positif');
        Sinon
                   Ecrire ('Leur produit est négatif');
        Finsi
Fin
____________________________________________________________________________________________________________
Solution exercice 5:
Algorithme Age;
    Var
    age : entier;
    Début
        Ecrire ('Entrez l’âge de l’enfant : ');
        Lire (age);
        Si age >= 12 Alors
            Ecrire ('Catégorie Cadet');
           Sinon Si age >= 10 Alors
                 Ecrire ('Catégorie Minime');
                Sinon Si age >= 8 Alors
                   Ecrire ('Catégorie Pupille');
                 Sinon Si age >= 6 Alors
                     Ecrire ('Catégorie Poussin');
                 Finsi
              Finsi
           Finsi
        Finsi
    Fin

On peut évidemment écrire cet algorithme de différentes façons, ne serait-ce qu’en commençant par la catégorie la plus jeune.
____________________________________________________________________________________________________________
Solution exercice 6:
Algorithme ContrôleDeNombreSaisie;
    Var
    N : entier;
    Début
        N <-- 0;
        Ecrire ('Entrez un nombre entre 10 et 20');
        Lire (N);
        Tant que (N < 10 ou N > 20)
            Si N < 10 Alors
                    Ecrire ('Plus grand !');
            Sinon Si N > 20 Alors
                    Ecrire ('Plus petit !');
             FinSi
         FinTantQue
    Fin
____________________________________________________________________________________________________________
Solution exercice 7:
Algorithme CalculSomme;
    Var
    N, i, Som : entier;
    Début
        Ecrire ('Entrez un nombre : ');
        Lire (N);
        Som <-- 0;
        Pour i <-- 1 à N
                Som <-- Som + i;
                i <--i+1;
         Fin pour
         Ecrire ('La somme est : ', Som);
Fin
____________________________________________________________________________________________________________
Solution exercice 8:
Algorithme CalculSomme;
    Var
     N, i, F : entier;
    Début
        Ecrire ('Entrez un nombre : ');
        Lire (N);
        F <-- 1;
        Pour i <-- 2 à N
                F <-- F * i;
                i <--i+1;
        Fin pour
        Ecrire ('La factorielle est : ', F);
    Fin
____________________________________________________________________________________________________________
Solution exercice 9:

Cet algorithme remplit un tableau avec six valeurs : 0, 1, 4, 9, 16, 25.
Il les écrit ensuite à l’écran. Simplification :

    Var
     i : entier;
     Nb(5) :tableau d'entiers; 
     Début
           Pour i <-- 0 à 5
                Nb(i) <-- i * i;
                Ecrire (Nb(i));
                i<--i+1;
           Fin pour
    Fin
____________________________________________________________________________________________________________
Solution exercice 10:
Algorithme Note-Moyenne;
    Var
    Nb, i, Som, Moy, Nbsup : entier;
    T() :Tableau de réels;
    Début
        Ecrire ('Entrez le nombre de notes à saisir : ');
        Lire (Nb);
        Pour i <-- 1 à Nb
                Ecrire ('Entrez le nombre numero', i);
                Lire (T(i));
                i <-- i+1;
        Fin pour
        Som <-- 0;
        Pour i <-- 1à Nb
                Som <-- Som + T(i);
                i <-- i+1;
        Fin pour
        Moy <-- Som / Nb;
        NbSup <-- 0;
        Pour i <-- 1 à Nb
                Si T(i) > Moy Alors
                        NbSup <-- NbSup + 1;
                FinSi
                i <-- i+1;
        Fin pour
        Ecrire (NbSup, ' élèves dépassent la moyenne de la classe');
Fin

____________________________________________________________________________________________________________

0 commentaires:

Enregistrer un commentaire