compression d'un octet (analyse et algorithmes)
Page 1 sur 1
compression d'un octet (analyse et algorithmes)
MODULE SAISIE
DEF PROC saisie (var mot1:chaîne)
L.D.E
Résultat = (mot1)
répéter
saisir (˝saisir une chaîne de huit chiffres formée uniquement de 0 et 1 ˝)
lire (mot1)
l ← long (mot1)
chiffre ← vrai
i←0
répéter
i←i+1
si non(( mot1[i] ='0') ou (mot1[i] ='1') et (l=) alors chiffre← faux
jusqu’à (chiffre=faux) or (i=long(mot1))
jusqu’à chiffre
Fin Saisie
MODULE COMPRESSION:
DEF FN compression (ch1:chaine): chaine
Resultat = compression
Compression =[i←1, res←'' "]
repeter
c← ch[i]
j1←c
i←i+1
ok←vrai
j←1
répéter
si ch[i]=c alors
i←i+1
j←j+1
sinon ok←faux finsi
jusqu’à (ok=faux ) or (i=9)
si j > 1
alors
str(j,j1)
j1← concat(j1,c) finsi
res← concat(res,j1)
jusqu’à (i>
compression ← res
fin compression
MODULE AFFICHAGE
DEF PROC affichage (res1:chaîne)
Resultat = affi_oct
Affi_oct =[]
Ecrire (˝l''octet compressé est:˝,res1)
Fin affichage
ALGORITHMES:
Programme principal :
0) debut compression_oct
1) ecrire(˝********* Compression d''un octet******************˝)
saisie(ch)
2) resultat ← compression(ch)
3) PROC affichage(resultat
4) Fin compression
Module saisie :
0) DEF PROC saisie (var mot1 :chaine)
1) répéter
saisir (˝saisir une chaîne de huit chiffres formée uniquement de 0 et 1 ˝)
lire (mot1)
l ← long (mot1)
chiffre ← vrai
i←0
répéter
i←i+1
si non(( mot1[i] ='0') ou (mot1[i] ='1') et (l=) alors chiffre← faux
jusqu’à (chiffre=faux) or (i=long(mot1))
jusqu’à chiffre
2) Fin Saisie
Module compression :
0) DEF FN compression (ch1:chaîne): chaîne
1) i←1
res←'' "
repeter
c← ch[i]
j1←c
i←i+1
ok←vrai
j←1
Répéter
si ch[i]=c alors
i←i+1
j←j+1
sinon ok←faux finsi
jusqu’à (ok=faux) or (i=9)
si j > 1
alors
str(j,j1)
j1← concat(j1,c) finsi
res← concat(res,j1)
jusqu’à (i>
2) compression ← res
3) fin compression
Module affichage :
0) DEF PROC affichage (res1:chaîne)
1) Ecrire (˝l''octet compressé est:˝,res1)
2) Fin affichage
DEF PROC saisie (var mot1:chaîne)
L.D.E
Résultat = (mot1)
répéter
saisir (˝saisir une chaîne de huit chiffres formée uniquement de 0 et 1 ˝)
lire (mot1)
l ← long (mot1)
chiffre ← vrai
i←0
répéter
i←i+1
si non(( mot1[i] ='0') ou (mot1[i] ='1') et (l=) alors chiffre← faux
jusqu’à (chiffre=faux) or (i=long(mot1))
jusqu’à chiffre
Fin Saisie
MODULE COMPRESSION:
DEF FN compression (ch1:chaine): chaine
Resultat = compression
Compression =[i←1, res←'' "]
repeter
c← ch[i]
j1←c
i←i+1
ok←vrai
j←1
répéter
si ch[i]=c alors
i←i+1
j←j+1
sinon ok←faux finsi
jusqu’à (ok=faux ) or (i=9)
si j > 1
alors
str(j,j1)
j1← concat(j1,c) finsi
res← concat(res,j1)
jusqu’à (i>
compression ← res
fin compression
MODULE AFFICHAGE
DEF PROC affichage (res1:chaîne)
Resultat = affi_oct
Affi_oct =[]
Ecrire (˝l''octet compressé est:˝,res1)
Fin affichage
ALGORITHMES:
Programme principal :
0) debut compression_oct
1) ecrire(˝********* Compression d''un octet******************˝)
saisie(ch)
2) resultat ← compression(ch)
3) PROC affichage(resultat
4) Fin compression
Module saisie :
0) DEF PROC saisie (var mot1 :chaine)
1) répéter
saisir (˝saisir une chaîne de huit chiffres formée uniquement de 0 et 1 ˝)
lire (mot1)
l ← long (mot1)
chiffre ← vrai
i←0
répéter
i←i+1
si non(( mot1[i] ='0') ou (mot1[i] ='1') et (l=) alors chiffre← faux
jusqu’à (chiffre=faux) or (i=long(mot1))
jusqu’à chiffre
2) Fin Saisie
Module compression :
0) DEF FN compression (ch1:chaîne): chaîne
1) i←1
res←'' "
repeter
c← ch[i]
j1←c
i←i+1
ok←vrai
j←1
Répéter
si ch[i]=c alors
i←i+1
j←j+1
sinon ok←faux finsi
jusqu’à (ok=faux) or (i=9)
si j > 1
alors
str(j,j1)
j1← concat(j1,c) finsi
res← concat(res,j1)
jusqu’à (i>
2) compression ← res
3) fin compression
Module affichage :
0) DEF PROC affichage (res1:chaîne)
1) Ecrire (˝l''octet compressé est:˝,res1)
2) Fin affichage
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum