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
Partager