Algorithmes

EXERCICE 1

Quelles seront les valeurs des variables A et B après exécution des instructions suivantes ?

\(\left| \begin{array}{l} \left. A\leftarrow 1 \right. \\ \left. B\leftarrow A\ + \ 3 \right. \\ \left. A\leftarrow 3 \right. \\ \end{array} \right.\)

EXERCICE 2

Quelles seront les valeurs des variables A, B et C après exécution des instructions suivantes ?

\(\left| \begin{array}{l} \left. A\leftarrow 5 \right. \\ \left. B\leftarrow 3 \right. \\ \left. C\leftarrow A + B\ \right. \\ \left. A\leftarrow 2 \right. \\ \left. C\leftarrow B\ -\ A \right. \\ \end{array} \right.\)

EXERCICE 3

Quelles seront les valeurs des variables A et B après exécution des instructions suivantes ?

\(\left| \begin{array}{l} \left. A\leftarrow 5 \right. \\ \left. B\leftarrow A\ + \ 4 \right. \\ \left. A\leftarrow A\ + \ 1 \right. \\ \left. B\leftarrow A\ -\ 4 \right. \\ \end{array} \right.\)

EXERCICE 4

 Quelles seront les valeurs des variables A, B et C après exécution des instructions suivantes ?

\(\left| \begin{array}{l} \left. A\leftarrow 3 \right. \\ \left. B\leftarrow\ 110 \right. \\ \left. C\leftarrow A\ + \ B \right. \\ \left. B\leftarrow A\ + \ B \right. \\ \left. A\leftarrow C \right. \\ \end{array} \right.\)

EXERCICE 5

Quelles seront les valeurs des variables A et B après exécution des instructions suivantes ?

\(\begin{array}{l} \begin{array}{l} \left. A\leftarrow 5\ \right. \\ \left. B\leftarrow 2 \right. \\ \end{array} \\ \left. A\leftarrow B \right. \\ \left. B\leftarrow A \right. \\ \end{array}\)

EXERCICE 6

Algorithme permutation :

\(\begin{array}{l} \left. C~~\leftarrow\ A \right. \\ \left. A\ \leftarrow\ B \right. \\ \left. B\ \leftarrow\ C \right. \\ \end{array}\)

Quelle est la valeur de A et B en sortie ?

EXERCICE 7

Algorithme permutation :

\(\begin{array}{l} \left. D\ \leftarrow\ C \right. \\ \left. C\leftarrow\ B \right. \\ \left. B\ \leftarrow\ A \right. \\ \left. A\ \leftarrow\ D \right. \\ \end{array}\)

Quelle est la valeur de A, B, C et D en sortie ?

EXERCICE 8

Que produit l’algorithme suivant ?

\(\begin{array}{l} \left. A~~~~~\leftarrow\ "423"\ \right. \\ \left. B~~~~~~\leftarrow\ "12"\ \right. \\ \left. C~~~~~~\leftarrow\ A\ + \ B \right. \\ \end{array}\)

EXERCICE 9

Que produit l’algorithme suivant ?

\(\begin{array}{l} \left. A~~~~~\leftarrow\ 423\ \right. \\ \left. B~~~~~~\leftarrow\ 12\text{~~} \right. \\ \left. C~~~~~~\leftarrow\ A\text{~+~}B \right. \\ \end{array}\)

EXERCICE 10

Quel résultat produit le programme suivant ?

Algorithme remarquable :

\(\begin{array}{l} \left. ~V\ \leftarrow\ 231 \right. \\ \left. W\,\,\,\leftarrow\,\,\, V - 1 \right. \\ \left. D\ \leftarrow\ W\ \times \ 2 \right. \\ \left. W\,\,\,\leftarrow\,\,\, W \times W + D + 1 \right. \\ \left. V\,\,\,\,\leftarrow W - V \times V \right. \\ \end{array}\)

EXERCICE 11

Ecrire un algorithme avec \(n\)  un nombre entier de départ, et qui ensuite retourne les dix nombres entiers suivants.

(Avec une liste)

EXERCICE 12

Ecrire un algorithme avec \(n\)  un nombre entier de départ, pour calculer la somme des dix entiers suivants.

EXERCICE 13

La factorielle de \(n\) se note \(n!\)

Rappel : \(n! = 1 \times 2 \times ... \times \left( {n - 1} \right) \times n\)

Ecrire l’algorithme qui calcule la factorielle d’un nombre entier naturel.

EXERCICE 14

Voici un algorithme

\(\begin{array}{l} {fonction(x)}\\ \left. \,\,\,\,\,\,\,\, a\,\,\,\leftarrow\,\,\, x \times x \right. \\ \left. \,\,\,\,\,\,\,\, b\,\,\,\leftarrow\,\,\, 2 \times x \right. \\ \left. \,\,\,\,\,\,\,\, c\,\,\,\leftarrow\,\,\, 1 \right. \\ \left. \,\,\,\,\,\,\,\, fonction\,\,\leftarrow a + b + c \right. \\ \\ \left. R\,\,\,\leftarrow fonction(4) - \, fonction(3) \right. \\ \end{array}\)

Quelle est la valeur de \(R\) ? Trouvez la valeur de \(x\) tel que  \(R = fonction(x)\)

Trouvez les valeurs qu’il faut rentrer dans la fonction pour trouver

\(R = 30\)

EXERCICE 15

Ecrire l’algorithme qui fabrique un triangle de \(~n~\) lignes et de \(n~\) colonnes comme donné par l’exemple suivant( \(n\) est un entier naturel)

\(\begin{array}{l} 1 \\ 22 \\ 333 \\ 4444 \\ 55555 \\ 666666 \\ .................... \\ \underset{Le\,\, nombre\,\, n\,\, est\,\, ecrit\,\, n\,\, fois}{\underset{\}\ }{nn.................nn}} \\ \end{array}\)

Boucle itérative

Pour \(i\) allant de \(N_{debut}\) à \(N_{fin}\)

Pour \(i\) allant de \(1\) à \(n\)

Lorsque on doit répéter la même action un nombre de fois déterminé par l’utilisateur, on utilise une boucle itérative. Il faut connaître la valeur et le numéro de départ, on en déduit le numéro de la fin de la boucle.

On peut utiliser les variables \(i\) , \(j\) ou \(k\) qui se déplacent du \(N_{d}\) à \(N_{fin}\)

Exemple 1 :

\(\left\{ \begin{matrix} {u_{15} = 5\,\,\,\,\,\,\,\,\,} \\ {u_{n + 1} = u_{n} + 3} \\ \end{matrix} \right.\) ;

Question :

 Calculer  \(u_{26}\) .

Réponse :

On connaît la valeur de départ \(5\) et le numéro de départ \(15\) , il faut donc exécuter cette opération dix fois \(u_{n + 1} = u_{n} + 3\)

\(\begin{array}{l} \left. U\leftarrow 5 \right. \\ \left. n\,\,\,\leftarrow 15 \right. \\ {Pour\,\, k\,\, allant\,\,\, de\,\,\, 0\,\,\, a\,\,\, 9\,\, faire} \\ \left. \,\,\,\,\,\, U\leftarrow U + 5 \right. \\ \left. \,\,\,\,\, n\,\,\,\,\leftarrow n + 1 \right. \\ \end{array}\)

\(\begin{array}{l} {S_{0} = 0} \\ \left\{ \begin{array}{l} {u_{n} = 2 \times n} \\ {S_{n + 1} = S_{n} + u_{n}} \\ \end{array} \right. \\ \end{array}\) ;

Question :

 Calculer  \(S_{10}\) .

Réponse :

On connaît la valeur de départ \(0\)  , il faut donc exécuter dix fois, cela donne comme algorithme deux possibilités.

\(\left\{ \begin{matrix} {u_{n} = 2 \times n} \\ {S_{n + 1} = S_{n} + u_{n}} \\ \end{matrix} \right.\)

\(\begin{array}{l} \left. S\leftarrow 0 \right. \\ {Pour\,\, k\,\, allant\,\,\, de\,\,\, 0\,\,\, a\,\,\, 10\,\, faire} \\ \left. \,\,\,\,\,\,\,\, U\,\,\,\,\leftarrow 2 \times k \right. \\ \left. \,\,\,\,\,\,\,\, S\leftarrow S + U \right. \\ \end{array}\)

\(\begin{array}{l} \left. S\leftarrow 0 \right. \\ {Pour\,\, k\,\, allant\,\,\, de\,\,\, 1\,\,\, a\,\,\, 10\,\, faire} \\ \left. \,\,\,\,\,\,\,\, U\,\,\,\,\leftarrow 2 \times k \right. \\ \left. \,\,\,\,\,\,\,\, S\leftarrow S + U \right. \\ \end{array}\)