Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

serie3

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 3

Serie 3

Exercice 1
Soit l’algorithme du programme ‘Principal’ suivant :

Début
Saisir (n)
Remplir(T,n)
……………………………….
suppression(T,n,p)
afficher (T,n)
Fin
------------------------------------------------------------------------------------------------------------------------------
NB : T est de type vecteur.

Questions :

1. Ecrire l’instruction 3) de l’algorithme ‘Principal’ qui permet de générer aléatoirement un


entier p tel que n > p ≥ 0 (1 pt )
2. Développer l’algorithme de la procédure appelée au niveau de l’instruction 4) de
l’algorithme ‘Principal’ qui permet de supprimer le p ème élément d’un tableau T de n
éléments préalablement saisis. (3 pts )
Exemple :

T: 3 11 98 40 2 36
Pour p = 3, le tableau après suppression devient :

T: 3 11 98 2 36 36

3. afficher est un module qui assure l’affichage du tableau T de n entiers, comment on peut
écrire l’entête de ce module à la déclaration (cocher la bonne proposition) : (0,25 pt )

Procedure afficher (@T : vecteur ; n :entier) Procedure afficher (T : vecteur ; n :entier)


Procedure afficher (T : vecteur ; n ,i :entier) Fonction afficher (T : vecteur ; n :entier)
Exercice 2
Soient ch une chaine de caractères numérique et les deux algorithmes des fonctions fonct1 et fonct2

Algorithme du module fonct1 Algorithme du module fonct2


Fonction fonct1 (ch : chaine) : booléen Fonction fonct2 (ch : chaine) : booléen
Début Début
i←0 i←0
v ← pos ("0", ch ) = -1 v ← ch[i] > ch[i+1]
Tant que ( v et i < long(ch)-1 ) Faire Tant que v et i < long (ch)-2 Faire
s ← sous_chaine ( ch, i + 1, long(ch) ) i←i+1
v ← pos( ch[i], s ) = -1 v ← ch[i] > ch[i+1]
i←i+1 Fin tan que
T.D.O.L T.D.O.L
Fin tant que Retourner v
O T O T
Retourner v Fin
i Entier i Entier
Fin
v Booléen v Booléen
s Chaine

Questions :
1. Pour tester le fonctionnement des deux fonctions :
a. Donner le résultat de chacun des appels ci-dessous de la fonction fonct1.
 fonct1 ("250765") …………………………………… (0,25pt)
 fonct1 ("3219") …………………………………. (0,25pt)
 fonct1 ("732129") …………………………………. (0,25pt)

b. Déduire le rôle de la fonction fonct1


……………………………………………………………………………………………………………………… (0,25pt)
c. Donner le résultat de chacun des appels ci-dessous de la fonction fonct2.
 fonct2("34679") …………………… (0,25pt)
 fonct2("561792") …………………….. (0,25pt)
 fonct2("865310") ……………………… (0,25pt)

d. Déduire le rôle de la fonction fonct2

……………………………………………………………………………………………………………………………… (0,25pt)
2. Un nombre extraordinaire est un entier naturel composé des chiffres distincts non nuls et divisible
par chacun de ses chiffres.
Exemple de nombre extraordinaire : 132 , 124 , 6312
En effet, pour l’entier 132 on a 132 est divisible par 1, par 3 et par 2.
a) Ecrire l’algorithme d’un module qui permet de saisir un entier naturel >10 composé des
chiffres distincts non nuls. (2pt)
N.B : Pour faire la saisie l’algorithme solution doit faire appel à l’une des fonctions fonct1 ou fonct2.

b) Ecrire l’algorithme d’un module qui permet de vérifier si un entier naturel passé en
paramètre est divisible par chacun de ses chiffres. (2pt)

Exercice 3

Soit A un tableau de n entiers positifs.


Soit B un autre tableau composé de n chiffres.
On se propose de former à partir des deux tableaux A et B l’entier m de la façon suivante :
si le chiffre B[i] est un multiple du plus petit chiffres dans l’entier A[i] alors on l’ajoute à m comme
un chiffre à droite.

Exemple :
Pour n=6 et les tableaux A et B ci-dessous :

A 4213 2354 7283 9625 5763 3785

Plus petit chiffre de A[i]


1 2 2 2 3 3

B 5 1 8 7 4 9

Le nombre m obtenu est m = 589


En effet 5 est multiple de 1, 8 est multiple de 2 et 9 est multiple de 3
Travail demandé : (9,75pts)

a) Ecrire l’algorithme principal d’un programme qui permet de


- Remplir A un tableau de n entiers positifs (5 ≤ n ≤ 50.). Chaque élément de A est un
nombre de 4 chiffres.
- Remplir B un autre tableau composé aussi de n éléments. Chaque élément de B est un
chiffre décimal non nul.
- Former l’entier m puis l’afficher.
b) Ecrire l’algorithme de chaque module envisagé.

Vous aimerez peut-être aussi