1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| VAR f1 : fichier de texte;
f2 : fichier de texte;
nomftmp : alpha;
ftmp : fichier de texte;
nb1,nb2,i, nt : entier;
c : caractère;
début
c '0';
assigne(f1,nomf1);
ouvrir (f1,lecture);
assigne (f2,nomf2);
ouvrir (f2,lecture);
nomftmp = "~fusion.txt");
assigne(ftmp,nomftmp);
ouvrir(ftmp,écriture);
tant que (NON EOF(f1) et NON EOF(f2)) boucle
si (c='0') alors
début
lire_f (f1,nb1);
lire_f (f2,nb2);
fin
sinon
si (c='1') alors
lire_f(f1,nb1)
sinon
lire_f (f2,nb2);
finsi;
si (nb1>nb2) alors
début
écrire_f(ftmp,nb2);
nt nb1;
c '2'
fin
sinon
début
écrire_f(ftmp,nb1);
nt nb2;
c '1';
fin
finsi;
finboucle; ! un des deux fichiers est fini !
ecrire_f(ftmp, nt) ;
si (EOF(f2))
tant que (NON EOF(f1))
lire(f1, nb) ;
ecrire_f(ftmp, nb) ;
fin tant que
sinon
tant que (NON EOF(f2))
lire(f2, nb) ;
ecrire_f(ftmp, nb) ;
fin tant que
fin si
fermer tout; ! on se comprend ;-) !
supprimer(f1);
supprimer(f2);
renommer(ftmp,f1);
FIN MODULE. |
Partager