samedi 4 octobre 2014

Exercice d'algorithme (Les tableaux à une seule dimension)

Enoncé :

1. Ecrire un algorithme qui renverse un tableau (Si le tableau est trié en ordre croissant, il devient trié par ordre décroissant).

2. Ecrire un algorithme qui insère un élément donné X à la position K d'un tableau.

3. Soit T un tableau rangés dans l'ordre croissant. Ecrire un algorithme qui insère un élément donné X dans le tableau T en respectant l'ordre croissant?

4. Donner un algorithme pour supprimer un élément donné d'un tableau d'entiers.

5. On demande l'écriture d'un algorithme qui permet la représentation du triangle de Pascal.
NB : utilisez un tableau à une seule dimension.
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

6. Donner un algorithme qui prend en argument un tableau d'entiers de taille n et qui le modifie de tels sorts que tous les entiers pairs se retrouvent avant les entiers impairs.
Exemple :
Au départ : T = 7 4 7 8 4 6 3 9 4.
Après modification : T = 4 8 4 6 6 7 7 3 9.

7. Faire un programme qui calcule le produit scalaire de deux vecteurs d'entiers U et V (de même dimension).
Exemple :
/ \ / \
| 3 2 -4 | * | 2 -3 5| = 3 * 2 + 2 * (-3) + (-4) * 5 = -20
\ / \ /

8. Soit T un tableau d'entiers de taille n. Un plateau dans T est une suite d'éléments consécutifs et égaux de T. Le problème consiste à trouver le plus long plateau dans letableau T.
Exemple :
Pour le tableau contenant les valeurs (2; 2; 6; 6; 6; 6; 3; 3; 6; 3; 3; 3; 2; 3; 3),
le plus long plateau commence à l'indice 3 et il est de longueur 4.
Ecrire un algorithme qui permet de résoudre le problème énoncé.

9. Trier les éléments d'un tableau par les méthodes suivantes :
a. Tri à bulles.
b. Tri par sélection.
c. Tri par insertion.

10. On considère une séquence d'entiers représentée dans un tableau. Ecrire un algorithme qui affiche la valeur du dernier entier de la séquence.

11. On considère une séquence de durées représentée dans un tableau. Ecrire un algorithme qui lit une durée D, et qui affiche la petite durée supérieur à D, présente dans la séquence. L'algorithme est décomposé en deux étapes : recherche de la première durée supérieure à D,puis calcul du résultat par un parcours de la fin de séquence.

12. On considère une séquence d'entiers représentée dans un tableau. Ecrire un algorithme qui affiche un message indiquant si la séquence comporte que des entiers positifs.

13. On considère deux séquences d'entiers positifs en ordre croissant représenté dans un tableau. Ecrire un algorithme qui réalise l'inter classement des deux séquences : le résultat est un tableau contenant une troisième séquence en ordre croissant comportant tous les éléments présents dans les deux séquences lues. Si un même élément apparaître x fois dans la première séquence et y fois dans la deuxième, il doit apparaître x+y fois dans la séquencerésultat. Les séquences lues peuvent être vides.
Exemple :
séquence 1 : 1 1 3 4 11 11 25 28 30 30 32 40
Séquence 2 : 1 2 3 5 5 11 24 25 29
Séquence résultat : 1 1 1 2 3 3 4 5 5 11 11 11 24 25 25 28 29 30 30 32 40

14. On considère un tableau comportant une séquence de chaîne de caractères. Ecrire un algorithme qui affiche et compte toutes les chaînes qui contiennent au moins trois occurrences de caractère 'A'
Exemple :
contenu du tableau : "Marouan" "Peace" " HAHAHA "
Résultat affiché : HAHAHA

15. On considère un tableau de caractères comportant un texte formé de lettres et d'espaces. Un mot est une suite de lettres délimitée par des espaces ou par les extrémités du texte. Ecrire un algorithme qui affiche un message indiquant si le texte est un tautogramme, c'est à dire si tous les mots du texte commencent par la même lettre. Exemple : le lion lape le lait lentement.

16. On considère deux ensembles d'entiers représentés dans les tableaux, Chaque entier n'apparaît qu'en un exemplaire dans une séquence. Ecrire un algorithme qui produit un tableau contenant l'intersection des deux ensembles.
Exemple : 
Tableau 1 : 10 5 12 7 19 286.
Tableau 2 : 5 14 19 2 10 6 29 3 7.
Tableau résultat : 10 5 7 19 6

17. Ecrire un algorithme qui permet de calculer le PGDC (le plus grand diviseur commun) de deux entiers.
Exemple : le PGDC de 144 et 96 est : 48

Corrigé

9 commentaires: