Exercices en algorithmique
Exercice
1 :
Pour
un entier n strictement positif on associe n/2 si n est pair
et 3n+1 si n est impair. En réappliquant cette transformation
à l’entier obtenu, on définit un algorithme dit de Syracuse. On admettra que
pour tout entier n strictement positif de départ on finisse toujours par arriver
à 1.
Ecrire
un algorithme qui permet de saisir un entier n et d’afficher la liste des
entiers obtenus jusqu’à 1, ainsi que le nombre de fois qu’il est nécessaire
d’appliquer la transformation pour y arriver.
Voici
un exemple de déroulement de l’algorithme :
Exemple
d’exécution :
Entrer un entier > 0 : 10
5 16
8 4 2 1
Le nombre de transformation nécessaire
avant d’arriver à 1 est : 6
|
Exercice
2 :
1. Ecrire une fonction qui reçoit en
paramètre un tableau de taille n et un entier x, qui vérifie qui cet entier x
possède son carré dans le tableau (t(i) * t(i)) en retournant un booléen et en
arrêtant le parcours une fois trouvée.
2. Ecrire un programme qui affiches les
éléments du tableau qui possède leur carrée dans le même tableau.
Exemple
1
|
2
|
4
|
7
|
11
|
5
|
16
|
25
|
8
|
Les éléments dans le carrés sont présent : 2, 4, 5
Exercice
3 :
Soit
T1 un tableau de 100 valeurs ordonnées de manière croissante.
1. Ecrire un algorithme permettant de
construire deux nouveaux tableaux ordonnés de manière décroissante contenant
l’un les valeurs paires, l’autre les valeurs impaires.
Tableau
Initial T1:
1
|
4
|
13
|
28
|
31
|
33
|
40
|
Tableau
des valeurs paires T2 :
40
|
28
|
4
|
Tableau
des valeurs impaires T3 :
33
|
31
|
13
|
1
|
2. Ecrire un algorithme qui permet
d’insérer une valeur X dans le tableau T1, supposé triée, de façon à respecter
l’ordre des éléments de T1.
Exemple :
Si
N=5 et T1:
6
|
8
|
13
|
15
|
17
|
Si
X=9 alors T1 devient:
6
|
8
|
9
|
13
|
15
|
17
|
3. Ecrire un algorithme qui permet de faire
le décalage à droite des éléments du tableau T1, un certain nombre de
fois.
Exemple :
Si
T1=
1
|
4
|
13
|
28
|
31
|
33
|
40
|
Nombre
de décalage à droite est : 2
T1=
33
|
40
|
1
|
4
|
13
|
28
|
31
|
4. Ecrire un algorithme qui élimine toutes
les occurrences d’un entier X saisit au clavier.
Exercice
4 :
Soit
A une matrice carrée à deux dimensions
1. Ecrire un algorithme qui calcul la trace
de cette matrice.
Trace(A)=la somme des éléments diagonaux
2. Ecrire l’algorithme qui vérifie si la
matrice est triée en ordre croissant ou non.
3.
Ecrire l’algorithme qui transfère cette matrice A à
deux dimensions dans un tableau B à une seule dimension.
2. Exercice 5 :
Ecrire un algorithme qui demande un entier N à
l’utilisateur et calcule la somme suivante :
Sn=1+1/2!+1/3!+….+1/N! avec X! =1*2*3*…*X
Exercice 6 :
Ecrire un algorithme qui demande la saisie d’un
tableau des entiers T, de mettre les éléments pairs dans un tableau T1 et les
éléments impairs dans un tableau T2.
Exercice 7 :
Ecrire un algorithme qui demande la saisie d’un
tableau des réels, de le trier par ordre croissant, ensuite demander à
l’utilisateur un entier X et l’insérer dans le tableau en gardant ce dernier
trié par ordre croissant.
Exercice 8 :
1. Ecrire une fonction qui prend un entier
en paramètre et retourne 1 si cet entier et parfait et 0 sinon.
(Remarque :
Un nombre parfait et un entier qui est égal à la somme de ses diviseurs
(Exemple : le nombre 6 est parfait car 6=1+2+3)).
2. Ecrire une fonction qui retourne le
nombre des entiers parfaits entre deux entiers passés en paramètres en utilisant
la fonction précédente.
Exercice 9 :
1. Définir une structure Produit caractérisée
par les champs Code(numérique), Nom et PrixUnitaire.
2. Créer une fonction LireProduit qui
demande à l’utilisateur les informations d’un enregistrement de type produit
pour le lire et le retourner.
3. Créer une procédure AfficherProduit qui
prend un tableau de produits en paramètre et l’affiche à l’écran.
4. Ecrire un algorithme qui affiche à
l’utilisateur le menu suivant :
1: Lire les produits
2: Afficher la liste des produits
3: Quitter le programme
|
ConversionConversion EmoticonEmoticon