1. Page : ~ 1 ~
PartieI (Tournageà la main)
Exercice N°1
Soitla fonctionPascal suivante :
Questions:
1) Compléterlesvides(lespointillés) de cette fonction.
2) Exécutercette fonctionpour v1 = "bac tp info2014".
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3) Expliquerle rôle de cette fonction.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4) Donnerun exemple d’appel de cette fonction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercice N°2
Exercice N°3
Questions :
1. Détermineretcompléterle type de
cette fonctionainsi que lapartie
déclarationdesvariableslocales.
2. Quelle estlavaleurrenvoyée parla
fonctionTraitementsi d= 2, f = 5 etle
tableauT contientlesélémentssuivants:
-10|5|0|-6|10|13
3. Quel estle rôle de cette fonction
********************************************
Les Sous-Programmes
********************************************
Série des exercices N ° 6
Lycée Pilote Médenine
Enseignant : Hichem Kemali
*********
A.S : 2013/2014
ème
Math01
Questions :
1) Exécuter l’algorithme pour les cas
suivants :
a) ch="123+15+4111"
b) ch="34+15+134"
2) Donner le rôle de l’algorithme.
3) Remplacer la structure Répéter …..
Jusqu'à par une autre structure.
2. Page : ~ 2 ~
Exercice N°4
Soitla fonctionsuivante :
1. Exécuter la fonction pour
les valeurs suivantes de x et y :
a. x=10 et y =2
b. x=6 et y =6
2. Quel est le rôle de cette fonction.
Exercice N°5
Soientlesalgorithmessuivants
1. Trouver le résultatfourni parl’algorithme ci-dessus
2. Que faut-il ajouter àlaprocédure Somcarpour avoirun résultatcorrect ?
3. Remplacerdansce programme laprocédure par une fonction
Exercice N°6
Soitle programme suivant :
0. DEF FN Anonyme (X, Y : Entier) : Entier
1. S0
Tant que Y < > 0 Faire
Si Y Mod 2 < > 0 Alors
SS + X
Fin si
X X * 2
Y Y Div 2
Fin Tant que
2. Anonyme S
3.Fin Anonyme
0) Procédure Somcar(x1,x2,s : entier)
1) X1 x1*x2
2) X2 x2*x2
3) Sx1+x2
4) FinSomcar
0) DébutProgramme Principale
1) X6
2) y 5
3) z0
4) Proc Somcar(x,y,z)
5) Ecrire (x,y,z)
6) FinProgramme Principale
Procedure P1(c:char; ch: string;var p: integer);
var i:integer;
Begin
p:=0;
i:=0;
Repeat
i:=i+1;
iF (ch[i]=c) thenP:=I;
Until (p<>0) or (i=length(ch));
End;
1. Transformercette procédure enune
fonction.
2. ExécuterlafonctionF1 pourla valeur
de C=’a’ et lavaleurde
ch=’bac blanc’
3. En déduire lafonctionprédéfinie
Pascal qui fournitle même le résultat
3. Page : ~ 3 ~
PartieII
Exercice 1
❶ Ecrire un programme Pascal qui permetde saisirunentierpremier
❷ Ecrire un programme Pascal qui permetde saisirune chaine de caractèresmajuscules
❸ Ecrire un programme Pascal qui permetde saisirune chaine de caractèresnumérique
❹ Ecrire un programme qui permetde remplir untableaupar10 entiersdistinctsdeuxàdeux
❺ Ecrire un programme qui permetde remplir untableaupar10 entiersdistincts
❻ Ecrire un programme qui permetde remplir untableaupar10 entierstriésdansordre croissant
Exercice 2
Ecrire unprogramme qui cherche et affiche lesnpremiersentiersnaturelspositifsimpairset
palindromes(nétantunentiernaturel tel que 5< n < 20). Un entierestditpalindrome s’il estlude la
même façonde gauche à droite etde droite à gauche.
Exemple : 121 estun entierimpairetpalindrome. N.B.
La solutiondoitcomporteraumoinsune fonctionetune procédure.
Exercice 3
PHRASEest une chaîne comportantun minimumde 5 caractères.On se propose d’écrire un
programme qui saisitPhrase puisaffiche sansrépétition:
- lescaractèresde PHRASE qui sontdeslettres(minusculesoumajuscules,accentuésounon)
- lesautrescaractèresde PHRASE.
Exercice 4
Deux entiersmetn sont dit amissi et seulementsi lasomme desdiviseursde msauf lui-même est
égale à n etla somme desdiviseursde nsauf lui-mêmeestégale àm.Ecrire unprogramme Pascal
permettantde détermineretd'affichertouslesnombresamiscomprisentre 1et1000.
Exercice 5
On se On se propose d'écrire unprogramme permettantde remplirdeuxtableaux V1etV2
respectivementparN etM entiers(avecN etM deux entiersde l'intervalle[2..20] etlesélémentsde
V1 et V2 sontsaisisdansun ordre strictementcroissant),puisde fusionnerlesélémentsde cesdeux
tableaux dansuntableauV3en éliminantlesredondancesetengardantl'ordre croissantdes
éléments.Enfin,le programmeafficheralesélémentsdutableauV3. Exemple :Si N =5, M = 7 et les
élémentsdesdeux tableaux V1etV2 sont:
Exercice 6
Ecrire unprogramme pascal qui permetde saisirune chaîne nonvide de longueurimpaireetde
l'affichersouslaforme d'unsablier.
4. Page : ~ 4 ~
Exercice 7
On désire coderune chaîne de caractèresen utilisantlafonction f(x) =2x – 1, x étantle code ASCII
d’uncaractère dansla chaîne.Les caractèressusceptiblesd’êtrecodéssontleslettresde l’alphabet
(majuscule ouminuscule),leschiffres(de 0à 9) etle point.Lesautrescaractères restentinchangés.
Ecrire unprogramme qui permetde saisirune chaîne de caractères puisd’affichersoncode.
Exercice 8
Ecrivezun programme permettantde vérifiersi unentierndonne estdivisiblepar7, enutilisantla
règle de divisibilitésuivante :
Nousnousappuyonssurle faitque si le nombre mcduestdivisiblepar7 alors : (mcd–2*u) est
divisible par7,et réciproquement.
Exemple 7241 :
Nousconservonstousleschiffressauf le dernier,etnouslui retranchonsdeux foisle dernier:
724-2*1 = 722. Nous procédons de même avecle résultat,soit722 : 72-2*2 = 68. Or 68 n’estpas
divisible par7,donc, 7241 nonplus.
Exercice 9
Deux nombrespremiersnetp,n > p,sont dits jumeaux si n- p = 2. Par exemple,3et5 sontjumeaux
ainsi que 41 et43. Ecrire un programme Pascal qui cherche etaffiche touslesnombrespremiers
jumeaux consécutifs ≤à 400.
Exercice 10
Un nombre M estdit «Rigolo»,si lasomme de seschiffresestégale àlasomme de tousleschiffres
de sesfacteurspremiers.
Exemple :
• Si M=690, alors Mest unnombre rigolo.Eneffet:
La somme deschiffresde 690 est: 6+9+0=15
Les facteurspremiersde 690 sont: 2, 3, 5 et 23
La somme deschiffresdesfacteurspremiersde 690 est : 2+3+5+2+3=15
Écrire unprogramme Pascal qui permetde déterminertouslesnombresrigoloscomprisdans
l’intervalle[100..1000].
Exercice 11
On appelle nombrede Keithunnombre Kde n chiffresayantlapropriété suivante :enpartantdes
nombrescomposéschacund'undesn chiffresde K,on compose une sorte de suite encalculantla
somme desn derniersnombresde lasuite pourdéterminerle suivant.Si cette suitefournitàun
momentle nombre K,ce nombre estdit nombre de Keith.
Exemple :K=197
1+9+7=17 ; 9+7+17=33 ; 7+17+33=57 ; 17+33+57=107 ; 33+57+107=197 ; 57+107+197=361.
On obtientalorslasuite :1, 9, 7, 17, 33, 57, 107, 197, 361 dans laquellese trouve le nombre
197, donc 197 estun nombre de Keith.
Ecrire unprogramme Pascal qui permetde détermineretd’affichertouslesnombresde Keithdans
l’intervalle[10..200000].
Exercice 12
Ecrire unprogramme qui permetde convertirunentiernen binaire, exemple
N=5 101
+ Exercices tableaux & chaines
5 2
2
1
2
1
0
2
1
0