Vous êtes sur la page 1sur 4

Gestion des Fichiers en Algorithmique

La gestion des fichiers en algorithmique est bien limite, par rapport C++. En
algorithmique on peut toujours ouvrir un fichier en mode lecture, ajout ou criture mais on
peut pas convertir une valeur numrique en type chane ou inversement. La deu!i"me
contrainte c#est qu#en algorithmique on ne peut pas parcourir une variable de type chane
comme tant un tableau de type caract"res, donc la procdure $plit n#a aucun sens.
1. Crer le type structur Fruit :
Type Fruit % Structure
Dbut
&um % Chaine
'ariante %Chaine
(ri! % Chaine
Fin
2. Crer l procdure !nitiliser :
La procdure )nitialiser prend en param"tre un tableau dynamique de type *ruit qui va +tre
initialis au clavier par l#utilisateur.
"rocedure )nitialiser ,tab,- % Fruit-
#r i , dim % $ntier
#r f % Fruit
Debut

$crire . Entre/ une dimension 0
%ire dim
&edim tab,dim-
"our i12 % ,dim34- pas de 4 'ire
Ecrire . Entre/ un numero 0
Lire f.&um
Ecrire . Entre/ une variante 0
Lire f.'ariante
Ecrire . Entre/ un pri! 0
Lire f.pri!
5ab,i- f
Fin "our
Fin "rocedure

(. Crer l procdure $nregistrer :
"rocedure Enregistrer ,tab,dim- % Fruit-
#r i%Entier
#r ligne%Chaine
Debut
)u*rir . E!emple.t!t 0 sur flu! en $criture
"our i1 2 % ,dim34- pas de 4 'ire
Ligne tab,i-.&um + 6 % 6+ tab,i-.'ariante +7%7+ tab,i-.pri!
$crireFichier ,flu!, ligne-
Fin "our
*ermer flu!
Fin procedure
!STA TASS!%A TD!1A
Gestion des Fichiers en Algorithmique
+. Crer l procedure A,outer
"rocedure 8jouter , -
#r f % *ruit
#r ligne%Chaine
Debut
)u*rir . E!emple.t!t 0 sur flu! en A,out
$crire . entre/ un numero 0
%ire f.&um
$crire . Entre/ une variante 0
%ire f.'ariante
$crire . Entre/ un pri! 0
%ire f.pri!
%igne f.&um + . % 0+f.'ariante+ . % 0+f.pri!
$crireFichier ,flu!, ligne-
Fermer flu!
Fin procedure
-. Crer l procdure .odi'ier
La procdure 9odifier e!ige deu! fichiers, le fichier source .E!emple.t!t 0, qui contient les
enregistrements avant modification, et le fichier destination . E!emple44.t!t 0 qui contient
les enregistrements apr"s modification.
La procdure 9odifier va demander l#utilisateur de saisir un &umro, et elle va modifier le
pri! du fruit qui a ce &umro.
"rocdure 9odifier , -
#r truc , num , pri! ,pri!4,&,',( % Chine
#r cmpt %Entier
Debut
Cmpt/
)u*rir . E!emple.t!t 0 sur flu!4 en lecture
)u*rir 0 E!emple44.t!t 0 sur flu!: en Ecriture
$crire . Entre/ le numro du fruit recherch 0
%ire num
$crire . Entre/ le nouveau pri! du fruit recherch 0
%ire pri!4
Tnt 1ue &on E;*,flu!4- &pter
%ireFichier ,flu!4,truc-
& 9id,truc,4,<-
'9id,truc,=,>-
(9id,truc,4?,?-
Si ,& @A num- Alors
$crireFichier ,flu!:,truc-
Sinon
Cmptcmpt21
5ruc&+ . % 0+'+ . % 0+pri!4
$crireFichier ,flu!:,truc-
Fin Si
Fin Tnt 1ue
Fermer 'lu31
Fermer 'lu32

!STA TASS!%A TD!1A
Gestion des Fichiers en Algorithmique
Si 4cmpt5/6 Alors
$crire 0 ce 'ruit n7e3iste ps 8
Supprimer40$3emple11.t3t 8 6
Sinon

Supprimer40$3emple.t3t 8 6
&enommer40 $3emple11.t3t 89 0 $3emple.t3t 86
FinSi
Fin procdure
:. Crer l procdure Supprimer
La procdure $upprimer e!ige deu! fichiers, le fichier source .E!emple.t!t 0, qui contient les
enregistrements avant modification, et le fichier destination . E!emple44.t!t 0 qui contient
les enregistrements apr"s suppression.
La procdure $upprimer va demander l#utilisateur de saisir un &umro, et elle va supprimer
la ligne correspondante
"rocdure $upprimer , -
#r truc , num ,&,',( % Chine
#r cmpt %Entier
Debut
Cmpt/
)u*rir . E!emple.t!t 0 sur flu!4 en lecture
)u*rir 0 E!emple44.t!t 0 sur flu!: en Ecriture
$crire . Entre/ le numro du fruit recherch 0
%ire num
Tnt 1ue &on E;*,flu!4- &pter
%ireFichier ,flu!4,truc-
& 9id,truc,4,<-
'9id,truc,=,>-
(9id,truc,4?,?-
Si ,& @A num- Alors
$crireFichier ,flu!:,truc-
Sinon
Cmptcmpt21

Fin Si
Fin Tnt 1ue
Fermer 'lu31
Fermer 'lu32

Si 4cmpt5/6 Alors
Supprimer40$3emple11.t3t 8 6
$crire 0 Ce 'ruit n7e3iste ps dns le 'ichier 8
Sinon
!STA TASS!%A TD!1A
Gestion des Fichiers en Algorithmique

Supprimer40$3emple.t3t 8 6
&enommer40 $3emple11.t3t 89 0 $3emple.t3t 86
FinSi
Fin procdure
;. Crer l procdure $3trire
"rocdure E!traire ,Btab,- %*ruit-
#r truc , num ,&,',(, % Chine
#r cmpt,dim,i %Entier
'ar f % *ruit
Debut
Dim/
)u*rir . E!emple.t!t 0 sur flu!4 en lecture
Tnt 1ue &on E;*,flu!4- &pter
Dimdim21
Fin Tnt 1ue
&edim tb4dim6
<<initiliser le tbleu
!/
Tnt 1ue &on E;*,flu!4- &pter
%ireFichier ,flu!4,truc-
f.&um 9id,truc,4,<-
f.'ariante9id,truc,=,>-
f.(ri!9id,truc,4?,?-
tab,i-f
ii+4
Fin Tnt 1ue

Fin procdure
!STA TASS!%A TD!1A