Programmation en pascal

Résolu
Bonjour,
J'ai un probème pour un programme en pascal...celui ci doit convertir des chiffres binaires en hexadecimal.
Vu mon niveau en programmation...
Je ne vois pas du tout comment faire.

Merci de votre aide!
Configuration: Windows Vista
Internet Explorer 7.0

15 réponses

  1. Bonjour, j'ai déjà fait ce genre de truc, attend je vais te retrouver le code source complet LOL.
    0
    1. J'ai retrouvé le code source, seulement à mon avis, il est un peu trop avancé parce qu'il convertit en plusieurs bases, je vais essayer de l'adapter pour le simplifier, sinon tu risque de pas trop comprendre ce qui se passe. Attend un peu si tu as la patience, peut être que d'autres ont cet exercice aussi, ils viendront y poster ici.
      0
      1. Tinquiete pas sa me dérange pas d'attendre =). Je te remercie
        0
        1. Voila, arf, c'était bien pénible à convertir, j'ai essayé de respecter la syntaxe de turbo pascal, qui est souvent utilisé par les débutants bien qu'il soit un vieux de la veille...

          program conversion;
          
          function exposant(a,b: Integer) : Integer;
          var
           i: Integer;
           r: Integer;
          begin
           r:=1;
           for i:=1 to b do
            r:=r*a;
          
           exposant:=r;
          end;
          
          function bin_decimal(binaire: String) : Integer;
          var
           i : Integer;
           longueur : Integer;
           r: Integer;
          begin
           r:=0;
           longueur:=length(binaire);
           for i:=1 to longueur do
            if(binaire[i] = '1') then r:=r + exposant(2, (longueur-i));
          
           bin_decimal:=r;
          end;
          
          function dec_hexa(nombre: Integer) : String;
          var
           hex: String;
           strnombre: String;
           reste: Integer;
          begin
           hex:='';
           while (nombre>0) do
           begin
            reste:= nombre mod 16;
            case reste of
             10: hex:='A' + hex;
             11: hex:='B' + hex;
             12: hex:='C' + hex;
             13: hex:='D' + hex;
             14: hex:='E' + hex;
             15: hex:='F' + hex;
            else
             begin
             strnombre:='';Str(reste,strnombre);
             hex:=strnombre + hex;
             end;
            end;
            nombre:=nombre div 16;
           end;
          
           dec_hexa:=hex;
          
          end;
          
          var nombre_a_convertir: Integer;
          begin
           nombre_a_convertir:=bin_decimal('011101101');
           writeln(nombre_a_convertir);
           writeln(dec_hexa(nombre_a_convertir));
          
           readln();
          end.
          
          0
          1. Tu comprend tout ou tu veux quelques explications?
            0
            1. Je viens juste de le voir =). merci
              J'vais le regarder de plus près et si jamais j'ai un pb je te le dirai.
              merci
              0
              1. Merci, j'ai bien tout compris =)
                J'ai rajouter un petit truc dans le programme principale afin que l'utilisateur puisse choisir lui mm son chiffre binaire qu'il veut convertir en hexadecimale.
                Voilà mercci encore!
                0
                1. Oui, un simple Readline() suffit pour demander une chaîne. C'est pas trop compliqué. Maintenant, c'était pour faire l'algorithme, sinon tu sais que dans certains compilateurs, cette fonction de conversion existe déjà LOOOOOOOOOL
                  0
                  1. OUi lol je sais mais notre porf nous a demander l'algorithme =)
                    0
                    1. Dans ce cas, essaie un peu de modifier pour pas que ça fasse trop copier-coller, les profs viennent parfois ici régulièrement!!!! LOL
                      0
                      1. VOuiiii j'allais l'arranger à ma facon.
                        De tout facon c'était juste un exo d'entrainement que le prof nous a donné.
                        Connaissant le prof ce n'est mm pas sur qu'il se souvienne que l'on devait faire un exo lol
                        Bref, au moins sa m'aura servit et maintenant je sais l'faire
                        Merci
                        0
                        1. Et c'est avec quel compilateur? Moi j'ai utilisé FreePascal pour faire ça, sinon je préfère largement Delphi avec ses superbes interfaces graphiques.
                          0
                          1. On utilise delphi le plus souvent et parfois freepascal mais rarement
                            0
                            1. Ah ok alors, au moins vous n'utilisez pas des trucs vieux de la veille LOL.
                              0