Vous êtes sur la page 1sur 9

Exercices de révision Enseignant : Mr TEKA Akram

Exercices de révision
Exercice 1 :

Soient T un tableau de N entiers positifs (5<=N<=30) et K un entier tel que (1<K<N).

On se propose de former un tableau TS par les sommes de K éléments consécutifs du tableau


T , de telle façon que TS[i] contiendra la somme de K éléments consécutifs du tableau T
comptés à partir du ième élément du tableau T.

Ecrire un programme Pascal permettant de remplir un tableau T par N entiers positifs, de


saisir un entier K puis de former et d’afficher le tableau TS.

Exemple :

Si N= 6 , K= 4 et le tableau T contient les éléments suivants :

T 12 42 33 8 22 15

95

105

78

Le programme affichera :

TS 95 105 78

Exercice 2 :

Soit un tableau de N chaînes de caractères non vides dont la taille maximale est de 5
caractères.

On se propose d’écrire un programme Pascal permettant de réaliser le traitement suivant :

1. Remplir le tableau T par N chaînes (2<=N<=30).


2. Eliminer de chaque élément de T tous les caractères non alphabétiques.
3. Convertir toutes les chaînes non vides obtenues en majuscule.
4. Afficher toutes les chaînes non vides palindromes.
N.B : Une chaîne est dite palindrome si elle se lit de la même façon de dauche à droite que de
droite à gauche. Exemples : AZZA , RADAR, AA, Z…

Exemple :

T= A54a 15aZ Ra8d9ar 2009 h?


Le programme affichera : AA RADAR H

1
Exercices de révision Enseignant : Mr TEKA Akram

Exercice 3 :

Exercice 4 :

Ecrire un programme en Pascal qui permet de remplir deux tableaux « T1 » avec


« N1 » entiers (3<=N1<=20) et « T2 » avec « N2 » entiers (3<=N2<=20) puis de calculer et
afficher le schtroumpf des deux tableaux sachant que pour calculer le schtroumpf, il faut
multiplier chaque élément du tableau « T1 » par chaque élément du tableau « T2 », et
additionner le tout.

Exemple :
4 8 7 12
T1 :
3 6
T2 :

Le Schtroumpf sera :

3 * 4 + 3 * 8 + 3 * 7 + 3 * 12 + 6 * 4 + 6 * 8 + 6 * 7 + 6 * 12 = 279

Exercice 5
Ecrire un programme en Pascal qui permet de saisir un entier A (3<A<200) puis de
remplir un tableau T avec les valeurs de la décomposition en facteurs premiers de A et de
l’afficher.
N.B : On rappelle qu’un nombre premier ne peut être divisé que par lui-même ou par 1 et que
la décomposition en facteurs premiers consiste à diviser le nombre par le plus petit facteur

2
Exercices de révision Enseignant : Mr TEKA Akram

premier, puis de refaire le même traitement avec le résultat de la division,… ainsi de suite
jusqu’à ce que le résultat obtenu soit = à 1.
Exemple :
Pour A= 98 le programme affiche :

T= 2 7 7
Car 98/2 = 49 49/7= 7 et 7/7= 1.
Exercice 6 :
Enoncé :
On se propose d’écrire un programme modulaire qui permet de remplir un tableau
intitulé « T» avec n entiers naturels aléatoires compris entre 2 et 300 inclus, (n introduit au
clavier et compris entre 2 et 50 inclus) puis de remplir 3 autres tableaux nommés« D », « A»
et « P » respectivement, avec les entiers déficients, abondants, et parfaits contenus dans le
tableau « T », dans l’ordre croissant.
Remarques :
 Un nombre déficient est un entier naturel qui est strictement supérieur à la
somme de ses diviseurs stricts contrairement au nombre abondant qui est un entier naturel
strictement inférieur à la somme de ses diviseurs stricts.
 Un nombre est parfait s’il est égal à la somme de ses diviseurs stricts.
Travail à faire :
1) Quels sont les structures de données à utiliser ?
2) Analyser ce problème en le décomposant en modules.
3) Analyser chacun des modules.
4) En déduire l’algorithme de chaque module, ainsi que celui du programme
principal.
Exercice 7:

Enoncé :

On se propose de stocker les coordonnées x et y de n points du plan (avec 3<=n<=10)


dans deux tableaux T1 et T2. Ces points sont nommés A, B, C, D… Les noms des points
constituent les indices des cases des tableaux T1 et T2, les abscisses sont rangés dans le
tableau T1 et les ordonnées dans le tableau T2.

Exemple :

Pour n= 4, si on donne les points A(-2,3), B(3,-2), C(3,3), D(5,-2), alors les tableaux T1 et T2
seront remplis comme suit :

T1 -2 3 3 5
T2 3 -2 3 -2
A B C D
On se propose par la suite, de saisie les noms de 2 points parmi les points renseignés et
d’afficher la distance entre eux.

On rappelle que la distance d entre 2 points du plan de coordonnées respectives


(x1,y1) et (x2,y2) est calculée comme suit :

√( ) ( )

3
Exercices de révision Enseignant : Mr TEKA Akram

Travail à faire :

Ecrire un programme en Pascal et l’enregistrer sous le nom distance.pas qui permet de :

 Saisir n, avec 3 ≤ n ≤ 10.


 Remplir les tableaux T1 et T2 avec les coordonnées de n points .
 Saisir 2 points puis afficher la distance entre eux.

Exercice 8 :

Ecrire un algorithme d’une procedure « suppesp(ch) » qui permet de supprimer tous les
espaces de la chaîne ch.

Ecrire une fonction qui renvoie le même résultat.

Exercice 9:

Soit deux tableaux T1 et T2 contenant chacun n éléments distincts deux à deux


(2<n<100). On appelle intersection de T1 et T2, l’ensemble des éléments communs à ces deux
tableaux.

Ecrire une analyse qui range les éléments de l’intersection des deux tableaux dans un tableau
INTER puis affiche les trois tableaux T1, T2 et INTER.

Exercice 10 :

Enoncé :

On désire écrire un programme en Pascal permettant de convertir un nombre décimal


positif en un nombre binaire. Le principe est le suivant :

 On divise le nombre par 2 et on insère le reste (0 ou 1) au début d’une chaîne de


caractères.
 Si le résultat de la division est non nul, on le divise par 2 et on ajoute le reste de la
division au début de la même chaîne de caractères.
 On répète le même traitement à chaque fois qu’on a un résultat de division non nul (la
chaîne de caractères formée n’est autre que la conversion en binaire de ce nombre).
Exemple :

(6)10= (110)2
4
Exercices de révision Enseignant : Mr TEKA Akram

Exercice 11 :

Ecrire un algorithme d’une fonction qui permet de supprimer les parenthèses d’une chaine
CH, si elles existent, ainsi que leurs contenus.

Exemple :

Pour une chaîne Ch = "Lire un entier strictement positif (N>0) et l'afficher", la fonction retourne la
chaîne "Lire un entier strictement positif et l'afficher ".

Exercice 12 :

Enoncé :

On se propose d’écrire un programme intitulé « captcha » qui permet de remplir puis


d’afficher un tableau T de n mots (3<= n <= 10) générés automatiquement. Chaque mot doit être
composé de 4 caractères formés par des chiffres et/ou des lettres majuscules.

Travail à faire :

1) Analyser ce problème en le décomposant en modules.

2) Analyser chacun des modules envisagés.

3) En déduire l’algorithme de chaque module ainsi que celui du programme principal.

4) Ecrire le programme en Pascal.

Exercice 13 :

Enoncé :

On se propose d’écrire un programme en Pascal intitulé « billes » qui se déroule comme suit :

 L’utilisateur choisit un nombre de billes compris entre 5 et 20.


 Chacun de l’utilisateur et l’ordinateur retire à son tour un nombre de billes <=4.
 Le joueur qui retire la dernière bille a perdu.
Travail à faire :

1) Analyser ce problème en le décomposant en modules.


2) En déduire l’algorithme du programme principal.
3) Analyser chacun des modules envisagés.

Exercice 14 :
Ecrire un algorithme d’une fonction qui permet de calculer le Plus Grand Commun diviseur de
deux entiers strictement positifs.

Exercice 15 :

Ecrire une analyse d’une fonction intitulée « Catalan » qui permet de calculer une valeur
approchée de la constante K de Catalan en utilisant la formule suivante :

5
Exercices de révision Enseignant : Mr TEKA Akram

Le calcul s’arrête lorsque la différence entre 2 termes successifs devienne inférieure ou égale à une
valeur epsilon donnée en paramètre.

Exercice 16 :

Enoncé :

On se propose de créer un programme intitulé « cryptage » qui permet de remplir un tableau


« T » avec n chaines de caractères saisies au clavier (3<=n<=20), puis de crypter le contenu du
tableau comme suit :

Pour chaque caractère de chaque élément de « T », on applique la formule suivante :

 Si 10<=X<=50 alors on remplace le caractère par celui qui a un code ASCII= x+1
 Si 50<X<=70 alors on remplace le caractère par celui qui a un code ASCII = x+2
 Si 70<X<=100 alors on remplace le caractère par celui qui a un code ASCII = x+3
 Si 100<X<700 alors on remplace le caractère par celui qui a un code ASCII = x+4
 Sinon le caractère ne change pas.

Avec X le code ASCII du caractère.

Travail à faire:

1) Quels sont les structures de données à utiliser.


2) Analyser ce problème en le décomposant en modules.
3) Analyser chacun des modules proposés.
4) En déduire l’algorithme de chaque module ainsi que celui du programme principal.
5) Traduire cet algorithme en Pascal.

Exercice 17 :

Enoncé :

On se propose d’écrire un programme modulaire qui permet de remplir un tableau « T » avec


N entiers non nuls (2<=N<=25), puis de calculer et afficher les entiers positifs dont l'opposé est aussi
dans le tableau, ainsi que leur nombre.

Remarque :

On suppose que les nombres introduits par l’utilisateur sont distincts 2 à 2.

Exemple :
18 7 -2 3 2 -7 19 10 12 5
T:

Le programme doit afficher : « Les nombres recherchés sont : 7 et 2, et leur nombre est : 2 ».

6
Exercices de révision Enseignant : Mr TEKA Akram

Exercice 18 :

Un système de cryptographie beaucoup plus difficile à briser que les précédents fut
inventé au XVIe siècle par le français Vigenère.
On peut en effet écrire 25 alphabets décalés par rapport à l’alphabet normal :

 l’alphabet qui commence par B et finit par …ZA


 l’alphabet qui commence par C et finit par …AB
 etc.

Ecrire une analyse modulaire, un algorithme puis le programme en Pascal, qui permet de
saisir une chaîne de caractères « ch » non vide de longueur maximale 30 caractères formée
uniquement par des caractères alphabétiques puis de saisir une clé de longueur comprise
entre 3 et 10 caractères formée uniquement par des caractères alphabétiques et de crypter la
chaîne « ch » de la manière suivante :
 Remplir un tableau T avec l’occurrence de la clé (chaque caractère dans une case). Le
tableau T doit contenir un nombre de cases égale au nombre de caractères de « ch ».
 Modifier chaque lettre de « ch » avec le caractère de l’alphabet qui commence par le
caractère respectif dans le tableau.
Exemple :
Ch= "CHIFFRE DE VIGENERE" et cle= "BACHELIER"
ch C H I F F R E D E V I G E N E R E
T B A C H E L I E R B A C H E L I E
Décalage 1 0 2 7 4 11 8 4 17 1 0 2 7 4 11 8 4
Ch après cryptage : D H K M J C M H V W I I L R P Z I

Exercice 19 :

7
Exercices de révision Enseignant : Mr TEKA Akram

Exercice 19 :

Exercice 20:

Enoncé :

On se propose d’écrire un programme intitulé conversion permettant de saisir un nombre


binaire de longueur minimale 2 puis de le convertir en décimal.

Pour ce faire, on multiplie la valeur de chaque bit* 2 puissance «le poids du bits (ordre-1) ».

N.B : On rappelle qu’un nombre binaire est composé uniquement par des 0 et des 1.

Exemple :

(1001101)2= (1*26+0*25+0*24+1*23+1*22+0*21+1*20)10= (64+8+4+1) 10= (77) 10.

Travail à faire :

1. Quelle est la structure de données à utiliser ?

2. Analyser ce problème en le décomposant en modules.

3. Analyser chacun des modules envisagés.

4. En déduire l’algorithme de chaque module ainsi que celui du programme principal.

8
Exercices de révision Enseignant : Mr TEKA Akram

Exercice 21 :

Enoncé :
On se propose d’écrire un programme qui permet de remplir un tableau T1 avec n entiers
positifs de 3 chiffres (3<=n<=20) puis de remplir un deuxième tableau T2 avec les nombres premiers
absolus trouvés dans T1.

N.B :
Un nombre premier absolu est un nombre premier dont toutes les permutations des chiffres
forment aussi des nombres premiers. Le nombre 337 est premier absolu car 337, 373 et 733 sont
premiers.

Travail à faire :
1) Analyser ce problème en le décomposant en modules.
2) En déduire l’algorithme du programme principal.
3) Analyser chacun des modules envisagés.

Exercice 22 :

Un Nombre anti-palindrome est un nombre composé d'un nombre pair de chiffres, pour lequel
les chiffres correspondants de même rang à partir de la droite et de la gauche sont différents deux à
deux. Le nombre suivant est anti-palindrome :

Ecrire un algorithme d’une fonction qui permet de tester si un entier long est anti-palindrome ou pas.

Exercice 23 :

Un nombre colombien est un entier naturel qui ne peut pas être décomposé en la somme
d'un autre entier et des chiffres de ce dernier. Par exemple, 36 n'est pas un nombre colombien, car il
peut être décomposé en 27 + 2 + 7 = 36. Le nombre 64 est colombien, car il n'existe pas d'entier tel
que la somme de cet entier et de ses chiffres soit égale à 64.
Ecrire un algorithme d’une fonction qui permet de vérifier si un nombre n est colombien ou pas.

Vous aimerez peut-être aussi