Vous êtes sur la page 1sur 21

Révision Algo théorique BAC Info

Révision Algo théorique

I. Enregistrement et fichier

1
Révision Algo théorique BAC Info

2
Révision Algo théorique BAC Info

3
Révision Algo théorique BAC Info

4
Révision Algo théorique BAC Info

Exercice n°1.

Exercice n°2.

5
Révision Algo théorique BAC Info

Exercice n°3.

Exercice n°4.

6
Révision Algo théorique BAC Info

Exercice n°5.
Répondre par V(VRAI) ou F(FAUX) :
1. Soit f un fichier de chaine, Lire (f, V) :
Permet de lire tous le Permet de lire une ligne V doit être de type chaine
contenu de f dans V dans V

2. Soit f un fichier texte :


On peut écrire dans f On peut écrire dans f On peut écrire dans f des
n’importe quel type uniquement des chaines chaines ou des caractères

3. Soit E une variable de type maison (un enregistrement), soit F un fichier de maison :
On peut transférer le On peut lire le contenu de On peut supprimer une
contenu de F dans un fichier E dans F ligne de F champ par
texte champ

4. Soit ‘’F’’ un fichier qui sera remplit par 100 chaines, pour déclarer F on peut utiliser:
Uniquement le type Fichier Uniquement le type Fichier Fichier de chaine ou fichier
de chaine texte texte

5. Pour modifier le contenu d’un fichier texte déjà remplit on peut l’ouvrir par le mode :
‘’w’’ ‘’a’’ ‘’r’’

6. A quel(s) type(s) de fichier s'applique la procédure écrire :


Seulement aux fichiers Seulement aux fichiers A tous les types
textes. binaires
7. Un fichier contient 5 lignes, après la lecture de la quatrième ligne, le pointeur se trouve :
sur la ligne d’indice quatre après a ligne d’indice Avant a ligne d’indice
quatre quatre

8. Un fichier binaire est déjà vide, on peut l’ouvrir en écriture avec le mode:
‘’w’’ ‘’ab’’ ‘’wb’’

Exercice n°6. Bac

7
Révision Algo théorique BAC Info

Exercice n°7. TDO


Soit un appartement définit par : Objet Type/Nature
- num un entier
e1, e2, e3 appartement
- ville une chaine
T Tableau de 20 appartement
Questions :
N Entier
1) Déclarer un type appartement S Réel
2) Soit les déclarations suivantes : Ch, V chaine

a. Compléter le tableau suivant par V(Vrai) ou F(Faux) en justifiant uniquement les


réponses fausses :
Expressions V/F Justification si Faux
Lire(e1.ville) …………… …………………………………………………………………
ecrire(e1.ville[1]) …………… …………………………………………………………………
T[N] e2 …………… …………………………………………………………………
e1>e2 …………… …………………………………………………………………
T[0] T[1] …………… …………………………………………………………………
Fonction trait(e1 :chaine) :entier …………… …………………………………………………………………
ch ville …………… …………………………………………………………………
saisir (@e : appartement) …………… …………………………………………………………………
N estnum(e3) …………… ………………………………………………………
E1.nume2.num+e3.long(ville) …………… …………………………………………………………………
Exercice n°8.
a. soit la solution algorithmique suivante d’une fonction ‘’Quoi’’ :
Fonction Quoi(T : Tab, N : Entier, V : chaine) : entier
Début
Nb 0
pour i de 0 à N-1 faire
Si T[i].ville=V alors
Nb Nb+1
Fin si
Fin pour
Retourner Nb
Fin
Donner la trace d’exécution de la fonction ‘’Nombre’’ pour N=7, V=’’Tunis’’, et le
tableau T suivant :
100 50 501 25 301 127 2910
Tunis Bizerte Tunis Nabeul Manouba Tunis Ariana
0 1 2 3 4 5 6
b. Modifier la fonction ‘’Quoi’’ pour qu’elle permet de vérifier si une ville V existe dans
un tableau T de N ville.

8
Révision Algo théorique BAC Info

Exercice n°9.

9
Révision Algo théorique BAC Info

Exercice n°10.

10
Révision Algo théorique BAC Info

II. Les algorithmes de tri

11
Révision Algo théorique BAC Info

Exercice n°11.

Exercice n°12.

12
Révision Algo théorique BAC Info

Exercice n°13.

Exercice n°14.

13
Révision Algo théorique BAC Info

Exercice n°15.

14
Révision Algo théorique BAC Info

III. Matrice et exécution a la main


Exercice n°16.
Ecrire l’algorithme d’un module qui permet de faire la transposition d’une matrice carré M
d’ordre n comme le montre l’exemple ci-dessous.

NB : M et n sont déjà saisis au niveau du programme appelant.


Exemple :
Matrice initiale :
7 -12 33 10
19 31 -9 8
13 44 5 -3
-4 0 22 57

Matrice résultat:
7 19 13 -4

-12 31 44 0

33 -9 5 22

10 8 -3 57

Exercice n°17.
Soit l’algorithme et le Tableau de Déclaration des Nouveaux Types suivants :

0)Def proc Inconnue (N :entier ;var M :mat)


1) Pour L de 1 à N faire
Pour C de 1 à L faire T.D.N.T
M[L,C] 1 Type
Pour P de C-1 à 1 faire (pas = -1) Mat = tableau de 10*10 d’entiers
M[L,P]  M[L,P] + M[L,P-1]
Fin pour
Fin pour
Fin pour
2) Fin Inconnue
Question :
1. Dresser le tableau de déclaration des objets locaux de la procédure Inconnue (0, 5)
2. Quel est le résultat retourné par cette procédure pour N=4 (2)
3. En déduire le rôle de cette procédure (0.5)

15
Révision Algo théorique BAC Info

Exercice n°18.
Pour chacune des propositions ci-dessous, mettre dans la case correspondante la lettre V si la
réponse est correcte ou la lettre F dans le cas contraire.

a. La suite d’instructions permettant de vérifier dans la variable test l’existence d’un entier
x dans un tableau de N entiers :
Test ← Faux
i← -1
j←N i←0
Tant que non test et i < j Tant que i < N et T[i] ≠ x
Pour i de 0 à N-1 faire
Faire Faire
test ← x = T[i]
i ← i+1 i ← i+1
Fin Pour
j ← j-1 Fin Tant que
test ← T[i] = x ou T[j] test ← i < N
=x
Fin Tant que

b. La suite d’instructions permettant de calculer la somme des éléments d’une diagonale D


d’une matrice carrée M de N * N entiers avec D entre 0 et N-1 :
(D)
0 1 2 3 4 5

0 5 9 6 7 8 9

1 2 3 8 9 3 1

2 10 3 9 1 2 5

3(D) 1 9 14 25 6 7

4 9 10 11 25 6 7

5 3 7 8 1 5 20

Exemple : pour D = 3 la somme obtenue est 19


S←0
Pour i de 0 à N – 1 faire
S←0
Pour j de 0 à N – 1 Faire S←0
Pour i de 0 à D Faire
Si i + j = D Alors Pour i de 0 à D Faire
S ← S + M[D-i, i]
S ← S+ M[i,j] S ← S + M[i, D-i]
Fin Pour
Fin Si Fin Pour
Fin Pour
FinPour

16
Révision Algo théorique BAC Info

Exercice n°19.

Exercice n°20.

17
Révision Algo théorique BAC Info

Exercice n°21.
On propose ci-dessous l’algorithme de la procédure suivante :
0) Procédure inconnu (Var T : Tab ; n : entier)
1) Pour i de 1 à n-1 Faire
Pour j de 1 à n-i Faire
Si (T [ j ] < T [ j+1]) Alors
Proc Permut (T [ j ] , T [ j+1])
Fin si
Fin Pour
Fin Pour
2) Fin inconnu
Remarque : Le module Permut (a, b) permute le contenu de deux entiers a et b.
Questions :
Soit n = 6
T 15 7 45 19 0 13
1- Exécuter manuellement la procédure inconnu en utilisant l’exemple précédant.
T

2- Donner le rôle de cette procédure avec précision en donnant la méthode utilisée..


Exercice n°22.

18
Révision Algo théorique BAC Info

IV. Récurrence et récursivité

19
Révision Algo théorique BAC Info

Exercice n°23.
On veut écrire des sous-programmes récursifs qui traitent des tableaux d’entiers de tailles inférieures
à 100. Ecrire un programme Pascal qui regroupe les modules suivants :

1) Module de remplissage d’un tableau T par des entiers positifs.


2) Module de recherche d’un entier X d’un tableau à partir d’un rang R donné.
3) Module de vérification si le tableau est trié dans l’ordre croissant ou non.
4) Module de calcul du maximum, du minimum et de leurs rangs respectifs dans un tableau.

Exercice n°24.
Ecrire une fonction récursive nommée anag qui détermine si deux chaînes sont anagrammes.

Deux chaînes ch1, ch2 sont dites anagrammes, si les lettres qui composent la 1 er chaîne existent tous
dans la 2ème chaîne.

Exemple : ch1 = chien et ch2 = niche

Exercice n°25.
On appellera totalgramme une chaîne dont chacun de ses mots commence et se termine par la
même lettre.

Ecrire une analyse et un algorithme d’un module récursif intitulé totalgramme qui permet de vérifier
si une chaîne de caractères est totalgramme

Exemple : La chaîne "ALLALA EMPRUNTE TEMPORAIREMENT À DAOUD SES SOULIERS " est
totalgramme

NOTE : On suppose que deux mots consécutifs sont séparés par un seul espace

Exercice n°26.
Soit k, n deux entiers naturels et U une suite définie par :
U0=1

Un+1= k * Un

1. Quel est l’ordre de récurrence de la suite U ? justifier


2. Calculer les termes U1, U2 et U3 pour k=4.
3. Parmi les trois propositions suivantes, laquelle qui correspond au rôle de la suite U.
- la suite U permet de calculer la factorielle de k : k !
- la suite U permet de calculer k à la puissance n : kn
- la suite U permet de calculer le produit de n et k : n * k
Ecrire une version itérative puis une version récursive d’un algorithme d’une fonction qui permet de
calculer Un pour tout entier n supérieur ou égale à

Exercice n°27.

20
Révision Algo théorique BAC Info

Exercice n°28.

Exercice n°29.
Soit la fonction suivante :
Def fn inconnue (n :entier) : ..................
0) Si (n=0) alors
inconnue  ""
Sinon
Si (n mod 2 = 0) Alors
inconnue  FN inconnue (n div 2) + "0"
Sinon
inconnue  FN inconnue (n div 2) + "1"
Fin Si
Fin Si
1) Fin inconnue

1. Quel est le type du résultat de cette fonction ?


2. Donnez la trace d’exécution de la fonction « inconnue » pour n = 12
3. Quel est le rôle de cette fonction ?
Exercice n°30.
Soit l’algorithme de la fonction récursive "Quoi" suivante :
Fonction Quoi (ch1, ch2 : Chaîne) : Booléen
Début
Si ch1 = "" Alors Quoi  Vrai
Sinon Si Pos (ch1[1], ch2) = 0 Alors Quoi  Faux
Sinon
Efface (ch1, 1, 1)
Quoi  FN Quoi (ch1, ch2)
Fin Si
Fin
Questions :

1) Donner deux valeurs des chaînes ch1 et ch2 pour que la fonction "Quoi" retourne la valeur Vrai
2) Donner deux valeurs des chaines ch1 et ch2 pour que la fonction "Quoi" retourne la valeur faux

21

Vous aimerez peut-être aussi