Lycée Pilote de Sousse
Devoir de Contrôle N° 3
Année scolaire : 2013/2014
Matière : Informatique Durée : 1H
Mr. Med Abdallah Mani Classe : 4ième Tech Nom & Prénom : ……….
Note : ……. / 20
Un CODEC est un logiciel compresseur décompresseur de fichiers. En effet, les suites de bits composant un fichier comportant des similitudes comme 10000111.
Plutôt que de stocker la totalité de cet octet, on gagne de la place en écrivant 14031. Cet octet (huit bits) retrouvera ensuite son format original à la décompression. Ecrire un programme Pascal qui permet de saisir une chaine de huit chiffres formée uniquement de 0 et 1 pour désigner un octet puis la compresser suivant le principe de compression du CODEC et enfin l’afficher.
Exemple :
Si l’octet = ‘10010111’ alors l’octet compressé est ‘1201031’
Si l’octet = ‘11110111’ alors l’octet compressé est ‘41031’
program compression;
uses wincrt;
var
ch,B:string;
a,l,k:integer;
procedure saisie (var ch:string);
var
T:boolean;
i:integer;
begin repeat
writeln ('Donner une chaine binaire :');
readln (ch);
T:=true;
i:=0;
repeat i:=i+1;
if (not(ch[i] in ['0','1'])) then T:=false;
until T=false or (i=length(ch));
until T=true and (length(ch)=8);
end;
function zero (ch:string):string;
var
i,j,S:integer;
C:string;
ch1:string;
begin ch1:='';
repeat j:=0;
repeat j:=j+1;
until (ch[j]<>ch[j+1]) or (j=length(ch));
str(j,C);
if (j>1) then ch1:=ch1+C+ch[j] else if (j=1) then ch1:=ch1+ch[j] ; delete (ch,1,j);
until (ch='');
zero:=ch1;
end;
begin saisie (ch);
writeln('La nouvelle chaine est :',zero(ch));
end.