Nous travaillons sur cet exercice et on a trouvé des difficultés à le résoudre.
SVP, si vous pouvez nous aider à le resoudre


Un CODEC est un logiciel compresseur décompresseur de fichiers. En effet, les suite de bits composant un fichier
comportent des similitudes comme 10000111. Plutôt que de stocker la totalité de cet octet, on gagne de la place en
écrivant 14031 (qui se lit un quatre zéros trois un). Cet octet (huit bits) retrouva ensuite son format original à la
décompression.
Il s'agit alors de saisir une chaîne de huit chiffres formée uniquement 0 et 1 pour désigner un octet puis la compresser
suivant le principe de compression du CODEC et enfin l'afficher.
Exemple :
Si octet = ˝10010111˝ Alors l'octet compressé est : ˝1201031˝


Voici le code VB:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Module
Module1 
Sub Main() 
Dim tab() As String 
Dim ok As Boolean = True 
Dim i, l, occ As Integer 
Dim car As String 
Dim octet As String = "" 
Dim oct As String 
Console.WriteLine(
"Tapez la valeur de l'octet") 
oct = Console.ReadLine
l = oct.Length
ReDim tab(l) 
For i = 0 To l - 1 
tab(i) = oct.Substring(i, 1)
Console.WriteLine(tab(i))
Next 
 
Do 
If tab(i) <> 0 Or tab(i) <> 1 Then 
i = i + 1
End If 
Loop Until (ok = False) Or (i > 8) And l = 8 
i = 1
Do 
occ = 1
ok = 
True 
Do 
If tab(i) = tab(i + 1) Then 
occ = occ + 1
i = i + 1
Else 
ok = 
False 
End If 
Loop Until ok = False Or i > 8 
If occ = 1 Then 
octet = oct & occ
Else 
Console.WriteLine(oct & occ)
End If 
i = i + 1
Loop Until i > 8 
Console.WriteLine(
"l'octet compressé est" & octet) 
Console.ReadKey()
End Sub 
End
Module