Você está na página 1de 3

SERIE DE REVISION N2

Algorithmique & Programmation

Lyce Bengurdenne
"Bac"

Propose Par llve


llve : Mahdhi Mabrouk

"Info"

Exercice N1:
Crer un fichier texte appel exercice.txt et y stocker des valeurs (de type string)
rcupres depuis le clavier jusqu' la lecture de la chane 'FIN' (peut importe la casse,
'fin' ou 'fIn'). La chane de caractre, 'FIN' en l'occurrence ne sera pas stocke dans le
fichier. Ecrire un programme qui rcupre les 10 premiers mots du fichier, les stocke
dans un tableau de 10 chanes, puis affiche celui-ci.
Exercice N2:
On propose ci-dessous l'algorithme d'une procdure de tri bulles :
1) Procdure TRI_Bulles (d,f:entier ; Var T:tab)
2) Pour i de d f-1 faire
Pour j de d f-i faire
Si T[j].nom<T[j+1].nom Alors Permute (T[j],T[j+1])
Fin si
Fin Pour
Fin Pour
2) Fin TRI_Bulles
Remarque :
Le module Permute (a,b) permute le contenu de deux entiers a et b.
Questions :
a) Dterminer l'ordre du tri (croissant ou dcroissant) accompli par la procdure
TRI_BULLES.
b) Dans le cas o le tableau T est dj tri la fin de la saisie, les parcours effectus par
le module TRI_Bulles s'avrent inutiles. En effet, aucune permutation n'aura lieu au sein
de ce module dans ce cas. Modifier la procdure TRI_Bulles pour tenir compte de cette
contrainte.
c) Dduire une solution rcursive de cette mthode.
Exercice N3:
Ecrire lalgorithme dune fonction rcursive intitul Somme qui permet de calculer
pour un ordre n donne (n >0), la somme approche de la srie dfinie par :
1
1
1
S 1



5  1! 25  2!
5  n!
Exercice N4:
Deux entiers N1 et N2 sont dits frres si chaque chiffre de N1 apparat au moins une
fois dans N2 et inversement.
Exemples :
- Si N1 = 1164 et N2 = 614 alors le programme affichera : N1 et N2 sont frres
- Si N1 = 405 et N2 = 554 alors le programme affichera : N1 et N2 ne sont pas
frres
On se propose dcrire un programme qui remplir et afficher un fichier intitul
C:\freres.dat comportant autant denregistrements (aprs chaque enregistrement nous
testons la sortie par Quitter (O/N) ?). Chaque enregistrement est compos de trois
champs successifs : deux champs pour deux nombres entiers alatoire au maximum de
lentier et un champ pour sa vrification sils sont frres ou ne sont pas frres.
Exemples : Pour N1=1164 et N2=614 : Nature=sont frres
Pour N1=405 et N2=554 : Nature=ne sont pas frres
Questions :
Mahdhi Mabrouk

Page 1/3

1) Dcomposer en modules le problme.


2) Analyser les diffrents modules ainsi le module principal.
3) Dduire les algorithmes correspondants.
Exercice N5: (*****) :
Lutilisation des tlphones portables rendre facile la manipulation des personnes (nom
et prnom) ainsi que leurs numros. Chaque tlphone portable fournit un menu qui
permet de grer les enregistrements (personnes et numros). Voici un exemple de menu
Rpertoire
Ajouter entre
Rechercher
Copier
Effacer
Mes numros
Paramtres
Afficher
Select

Sortie

Chaque personne est reprsente par nom (chane de 20 caractres), prnom (chane de
20 caractres) et numro de tlphone (chane de 8 caractres). Ces informations sont
enregistres dans :
- un fichier accs direct TEL.DAT si la mmoire utilise est le tlphone
- un fichier accs direct SIM.DAT si la mmoire utilise est la carte SIM
Laction paramtres du menu offre la possibilit de choisir la mmoire. Laction ajouter
entre du menu permet lajout des personnes dans lun des fichiers on arrte lajout des
entres si lutilisateur na pas dautres personnes ajouter. Laction rechercher du
menu permet de chercher un numro de tlphone sil existe :
- Dans le fichier TEL.DAT afficher le numro existe sur la mmoire de tlphone
ainsi que le nom et le prnom correspondants
- Dans le fichier SIM.DAT afficher le numro existe sur la carte SIM ainsi que le
nom et le prnom correspondants Si le numro nexiste pas afficher numro inexistant
Laction copier du menu permet de copier des numros du fichier TEL.DAT au
fichier SIM.DAT et inversement. On peut copier un par un jusqu lutilisateur
demande darrter la copie. Laction effacer du menu permet de supprimer des numros
du fichier TEL.DAT ou du fichier SIM.DAT . On peut supprimer un par un jusqu
lutilisateur demande darrter la suppression ou de supprimer tous les numros.
Laction mes numros du menu permet de copier des numros du fichier SIM.DAT
tous les numros Tunisiana commenant par 20, 21, 22, appel TUNISIANA.TXT .
Laction afficher du menu permet dafficher toutes les personnes dans un On peut
quitter chaque fois laction slectionn pour revenir au menu du sortir du menu pour
lcran principal du tlphone.
Le programme permet de raliser les actions de menu prsent ci-dessus.
Exercice N6:
On dispose dun fichier typ intitul annuaire.dat qui contient les informations
concernant un annuaire tlphonique. Chaque personne dans cet annuaire est
caractrise par un nom, prnom, date de naissance (jour, mois, anne), numro de CIN,
adresse (numro de rue, rue, code postal, ville) et numro de tlphone.
Travail demand :
crire un programme intitul annuaire.pas doit nous permettre de :
 Saisir toutes les personnes dans le fichier annuaire.dat  Afficher la liste des
contacts dont le numro de tlphone est palindrome et les mets dans un fichier texte
intitul palindrme.txt qui contient seulement le nom, prnom et le numro de
tlphone en question.
Mahdhi Mabrouk
Page 2/3

N.B : une chane se lit dans les deux sens de la mme faon est dit palindrome.
 Permettre de rechercher un numro de tlphone dune personne donne en utilisant
un procd rcursif sil existe sinon il affiche Ce contact nexiste pas dans la liste des
contacts!'.
Exercice N7:(****) :
Soit    une Matrice d'ordre    et     une matrice dordre   . Le
produit            , est dfini par   !"   .
On se propose dcrire un programme permettant de faire les taches suivantes :
 Saisie contrle des tailles des matrices fin de pouvoir calculer le produit.
 Remplir les matrices A et B par des entiers.
 Remplir la matrice C avec #   .
 Enregistrer la matrice rsultante dans un fichier texte nomm matrice.txt.
Notez Simplement : Lenregistrement dans le fichier sera comme suivant :
Matrice.txt
La matrice rsultante est :

---------------| 2 | 5 | 2 |
---------------| 1 | 6 | -1 |
---------------| 7 | -2 | 3 |
---------------Exercice N8:(***) :
1. Ecrire un module rcursif permettant de remplir un tableau T de N chane.
2. Ecrire un module rcursif permettant de retourner ch la plus longue chane.
3. Ecrire un module rcursif permettant de trouver le nombre de rptition dun
caractre donn dans ch.
4. Ecrire un module rcursif permettant dafficher le nombre dapparition de
chaque caractre de ch.
Exercice N9:(***) :
Ecrire un programme permettant de trier et dafficher les lments entiers dune
matrice carre M comportant N lignes et N colonnes (3<N<11) lus au hasard en utilisant
la mthode de tri par insertion.
1. Dcomposer ce problme en modules et analyser chacun des modules proposs.
2. Traduisez la solution en un programme pascal.
Exercice N10:(*****) (Bac Blanc Rgional 2008 Sfax):
Pour dterminer le carr dun entier naturel n, on utilise une mthode dont le principe
est le suivant :
Le carr dun entier naturel n est gal la somme des n premiers entiers impairs.
Exemple : Pour n=10  10  1  3  5  7  9  11  13  15  17  19
Travail demand : Etablir lanalyse puis lalgorithme dune fonction qui utilise la
mthode dcrite ci-dessus pour retourner le carr dun entier naturel n.
- Proposez deux solutions :
a. Solution itrative.
b. Solution rcursive.

Blague :
Comment un informaticien tente-t-il de
rparer sa voiture lorsqu'elle a un problme?
Il sort de la voiture, ferme toutes les fentres,
retourne dans la voiture, et essaie de redmarrer.
Mahdhi Mabrouk

Page 3/3

Você também pode gostar