Vous êtes sur la page 1sur 9

Exercices de rvision

Enseignant : Mr TEKA Akram

Exercices de rvision
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 lments conscutifs du tableau T , de telle faon que TS[i] contiendra la somme de K lments conscutifs du tableau T compts partir du ime lment 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 dafficher le tableau TS. Exemple : Si N= 6 , K= 4 et le tableau T contient les lments suivants :

12

42 95

33

22

15

105 78 Le programme affichera : TS Exercice 2 : Soit un tableau de N chanes de caractres non vides dont la taille maximale est de 5 caractres. On se propose dcrire un programme Pascal permettant de raliser le traitement suivant : 1. Remplir le tableau T par N chanes (2<=N<=30). 2. Eliminer de chaque lment de T tous les caractres non alphabtiques. 3. Convertir toutes les chanes non vides obtenues en majuscule. 4. Afficher toutes les chanes non vides palindromes. N.B : Une chane est dite palindrome si elle se lit de la mme faon de dauche droite que de droite gauche. Exemples : AZZA , RADAR, AA, Z Exemple : T= A54a 15aZ Ra8d9ar 2009 h? RADAR H 95 105 78

Le programme affichera : AA

Exercices de rvision

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 lment du tableau T1 par chaque lment du tableau T2 , et additionner le tout. Exemple : T1 : 3 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 dcomposition en facteurs premiers de A et de lafficher. N.B : On rappelle quun nombre premier ne peut tre divis que par lui-mme ou par 1 et que la dcomposition en facteurs premiers consiste diviser le nombre par le plus petit facteur
2

7 6

12

Exercices de rvision

Enseignant : Mr TEKA Akram

premier, puis de refaire le mme traitement avec le rsultat de la division, ainsi de suite jusqu ce que le rsultat obtenu soit = 1. Exemple : Pour A= 98 le programme affiche : 2 7 7 T= Car 98/2 = 49 49/7= 7 et 7/7= 1. Exercice 6 : Enonc : On se propose dcrire un programme modulaire qui permet de remplir un tableau intitul T avec n entiers naturels alatoires compris entre 2 et 300 inclus, (n introduit au clavier et compris entre 2 et 50 inclus) puis de remplir 3 autres tableaux nomms D , A et P respectivement, avec les entiers dficients, abondants, et parfaits contenus dans le tableau T , dans lordre croissant. Remarques : Un nombre dficient est un entier naturel qui est strictement suprieur la somme de ses diviseurs stricts contrairement au nombre abondant qui est un entier naturel strictement infrieur la somme de ses diviseurs stricts. Un nombre est parfait sil est gal la somme de ses diviseurs stricts. Travail faire : 1) Quels sont les structures de donnes utiliser ? 2) Analyser ce problme en le dcomposant en modules. 3) Analyser chacun des modules. 4) En dduire lalgorithme de chaque module, ainsi que celui du programme principal. Exercice 7: Enonc : On se propose de stocker les coordonnes x et y de n points du plan (avec 3<=n<=10) dans deux tableaux T1 et T2. Ces points sont nomms A, B, C, D Les noms des points constituent les indices des cases des tableaux T1 et T2, les abscisses sont rangs dans le tableau T1 et les ordonnes 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 : -2 3 3 5 3 -2 3 -2 A B C D On se propose par la suite, de saisie les noms de 2 points parmi les points renseigns et dafficher la distance entre eux. On rappelle que la distance d entre 2 points du plan de coordonnes respectives (x1,y1) et (x2,y2) est calcule comme suit : ( ) ( )
3

T1 T2

Exercices de rvision

Enseignant : Mr TEKA Akram

Travail faire : Ecrire un programme en Pascal et lenregistrer sous le nom distance.pas qui permet de : Saisir n, avec 3 n 10. Remplir les tableaux T1 et T2 avec les coordonnes de n points . Saisir 2 points puis afficher la distance entre eux. Exercice 8 : Ecrire un algorithme dune procedure suppesp(ch) qui permet de supprimer tous les espaces de la chane ch. Ecrire une fonction qui renvoie le mme rsultat. Exercice 9: Soit deux tableaux T1 et T2 contenant chacun n lments distincts deux deux (2<n<100). On appelle intersection de T1 et T2, lensemble des lments communs ces deux tableaux. Ecrire une analyse qui range les lments de lintersection des deux tableaux dans un tableau INTER puis affiche les trois tableaux T1, T2 et INTER. Exercice 10 : Enonc : On dsire crire un programme en Pascal permettant de convertir un nombre dcimal positif en un nombre binaire. Le principe est le suivant : On divise le nombre par 2 et on insre le reste (0 ou 1) au dbut dune chane de caractres. Si le rsultat de la division est non nul, on le divise par 2 et on ajoute le reste de la division au dbut de la mme chane de caractres. On rpte le mme traitement chaque fois quon a un rsultat de division non nul (la chane de caractres forme nest autre que la conversion en binaire de ce nombre). Exemple :

(6)10= (110)2
4

Exercices de rvision Exercice 11 :

Enseignant : Mr TEKA Akram

Ecrire un algorithme dune fonction qui permet de supprimer les parenthses dune chaine CH, si elles existent, ainsi que leurs contenus. Exemple : Pour une chane Ch = "Lire un entier strictement positif (N>0) et l'afficher", la fonction retourne la chane "Lire un entier strictement positif et l'afficher ". Exercice 12 : Enonc : On se propose dcrire un programme intitul captcha qui permet de remplir puis dafficher un tableau T de n mots (3<= n <= 10) gnrs automatiquement. Chaque mot doit tre compos de 4 caractres forms par des chiffres et/ou des lettres majuscules. Travail faire : 1) Analyser ce problme en le dcomposant en modules. 2) Analyser chacun des modules envisags. 3) En dduire lalgorithme de chaque module ainsi que celui du programme principal. 4) Ecrire le programme en Pascal. Exercice 13 : Enonc : On se propose dcrire un programme en Pascal intitul billes qui se droule comme suit : Lutilisateur choisit un nombre de billes compris entre 5 et 20. Chacun de lutilisateur et lordinateur retire son tour un nombre de billes <=4. Le joueur qui retire la dernire bille a perdu. Travail faire : 1) Analyser ce problme en le dcomposant en modules. 2) En dduire lalgorithme du programme principal. 3) Analyser chacun des modules envisags. Exercice 14 : Ecrire un algorithme dune fonction qui permet de calculer le Plus Grand Commun diviseur de deux entiers strictement positifs. Exercice 15 : Ecrire une analyse dune fonction intitule Catalan qui permet de calculer une valeur approche de la constante K de Catalan en utilisant la formule suivante :

Exercices de rvision

Enseignant : Mr TEKA Akram

Le calcul sarrte lorsque la diffrence entre 2 termes successifs devienne infrieure ou gale une valeur epsilon donne en paramtre. Exercice 16 : Enonc : On se propose de crer un programme intitul cryptage qui permet de remplir un tableau T avec n chaines de caractres saisies au clavier (3<=n<=20), puis de crypter le contenu du tableau comme suit : Pour chaque caractre de chaque lment de T , on applique la formule suivante : Si 10<=X<=50 alors on remplace le caractre par celui qui a un code ASCII= x+1 Si 50<X<=70 alors on remplace le caractre par celui qui a un code ASCII = x+2 Si 70<X<=100 alors on remplace le caractre par celui qui a un code ASCII = x+3 Si 100<X<700 alors on remplace le caractre par celui qui a un code ASCII = x+4 Sinon le caractre ne change pas.

Avec X le code ASCII du caractre. Travail faire: 1) 2) 3) 4) 5) Quels sont les structures de donnes utiliser. Analyser ce problme en le dcomposant en modules. Analyser chacun des modules proposs. En dduire lalgorithme de chaque module ainsi que celui du programme principal. Traduire cet algorithme en Pascal.

Exercice 17 : Enonc : On se propose dcrire 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 lutilisateur sont distincts 2 2. Exemple : T: 18 7 -2 3 2 -7 19 10 12 5

Le programme doit afficher : Les nombres recherchs sont : 7 et 2, et leur nombre est : 2 .

Exercices de rvision

Enseignant : Mr TEKA Akram

Exercice 18 : Un systme de cryptographie beaucoup plus difficile briser que les prcdents fut invent au XVIe sicle par le franais Vigenre. On peut en effet crire 25 alphabets dcals par rapport lalphabet normal :

lalphabet qui commence par B et finit par ZA lalphabet 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 chane de caractres ch non vide de longueur maximale 30 caractres forme uniquement par des caractres alphabtiques puis de saisir une cl de longueur comprise entre 3 et 10 caractres forme uniquement par des caractres alphabtiques et de crypter la chane ch de la manire suivante : Remplir un tableau T avec loccurrence de la cl (chaque caractre dans une case). Le tableau T doit contenir un nombre de cases gale au nombre de caractres de ch . Modifier chaque lettre de ch avec le caractre de lalphabet qui commence par le caractre 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 Dcalage 1 0 2 7 4 11 8 4 17 1 0 2 7 4 11 8 4 Ch aprs cryptage : D H K M J C M H V W I I L R P Z I
Exercice 19 :

Exercices de rvision Exercice 19 :

Enseignant : Mr TEKA Akram

Exercice 20: Enonc : On se propose dcrire un programme intitul conversion permettant de saisir un nombre binaire de longueur minimale 2 puis de le convertir en dcimal. Pour ce faire, on multiplie la valeur de chaque bit* 2 puissance le poids du bits (ordre-1) . N.B : On rappelle quun 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 donnes utiliser ? 2. Analyser ce problme en le dcomposant en modules. 3. Analyser chacun des modules envisags. 4. En dduire lalgorithme de chaque module ainsi que celui du programme principal.

Exercices de rvision Exercice 21 :

Enseignant : Mr TEKA Akram

Enonc : On se propose dcrire un programme qui permet de remplir un tableau T1 avec n entiers positifs de 3 chiffres (3<=n<=20) puis de remplir un deuxime tableau T2 avec les nombres premiers absolus trouvs 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 problme en le dcomposant en modules. 2) En dduire lalgorithme du programme principal. 3) Analyser chacun des modules envisags. Exercice 22 : Un Nombre anti-palindrome est un nombre compos d'un nombre pair de chiffres, pour lequel les chiffres correspondants de mme rang partir de la droite et de la gauche sont diffrents deux deux. Le nombre suivant est anti-palindrome :

Ecrire un algorithme dune 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 dcompos 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 dcompos 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 dune fonction qui permet de vrifier si un nombre n est colombien ou pas.