Forum programmation
 
AccueilPortailFAQRechercherS'enregistrerMembresGroupesConnexion

Partagez | 
 

 Convertion vers la base 10 (décimale)

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Chaker
Administrateur
Administrateur
avatar

Nombre de messages : 731
Age : 28
Date d'inscription : 17/01/2007

MessageSujet: Convertion vers la base 10 (décimale)   Ven 16 Mar - 20:49

voici un programme qui permet de convertir un nombre de n'importe quelle base vers la base 10 :

Code:
program convertion;
uses wincrt;

var nb:string;
    base:integer;

function puiss(n,p:integer):integer;
  var i,x:integer;
  begin
    x:=1;
    for i:=1 to p do
      x:=x*n;

    puiss:=x;
  end;

function verif(nb:string;base:byte):boolean;
  var T:string;
      i,j:integer;
  begin
    T:='0123456789ABCDEF';
    T:=copy(T,1,base);
    i:=0;
    repeat
      inc(i);
    until (pos(nb[i],T)=0)OR(i>=length(nb));
    verif:=pos(nb[i],T)<>0;
  end;

function decimale(nb:string;base:byte):integer;
  var v,pe,i,n:integer;

  begin
    n:=0;
    for i:=1 to length(nb) do
      begin
        val(nb[length(nb)-i+1],v,pe);
        n:=n+v*puiss(base,i-1);
      end;
    decimale:=n;
  end;

begin
  repeat
    write(' Base= ');
    readln(base);
  until (2<=base)AND(base<=16);

  repeat
    write(' NB= ');
    readln(nb);
  until verif(nb,base);

  writeln(' Base 10= ',decimale(nb,base));
end.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur
avatar

Nombre de messages : 731
Age : 28
Date d'inscription : 17/01/2007

MessageSujet: Re: Convertion vers la base 10 (décimale)   Ven 16 Mar - 21:30

j'ai une petite faute
vous devez modifer la fonction decimale comme suit :
Code:
function decimale(nb:string;base:byte):integer;
  var v,pe,i,n:integer;

  begin
    n:=0;
    for i:=1 to length(nb) do
      begin
        case nb[length(nb)-i+1] of
          '0'..'9':val(nb[length(nb)-i+1],v,pe);
          else v:=9+ord(nb[length(nb)-i+1])-ord('A')+1;
          end;
        n:=n+v*puiss(base,i-1);
      end;
    decimale:=n;
  end;
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mtcs
Administrateur
Administrateur
avatar

Nombre de messages : 1605
Date d'inscription : 21/11/2006

MessageSujet: Re: Convertion vers la base 10 (décimale)   Ven 16 Mar - 22:00

exelent travail Chaker travaille
merci infiniment
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur
avatar

Nombre de messages : 731
Age : 28
Date d'inscription : 17/01/2007

MessageSujet: Re: Convertion vers la base 10 (décimale)   Ven 16 Mar - 22:02

mtcs a écrit:
exelent travail Chaker travaille
merci infiniment


de rien Mohamed
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ho1907
Nouveau
Nouveau


Nombre de messages : 29
Date d'inscription : 22/10/2007

MessageSujet: Re: Convertion vers la base 10 (décimale)   Mer 27 Fév - 11:35

quel est le role de SHL et SHR en pascal??????
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Convertion vers la base 10 (décimale)   

Revenir en haut Aller en bas
 
Convertion vers la base 10 (décimale)
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum programmation :: Programmation :: Delphi & Pascal :: Pascal :: Cours-
Sauter vers: