Forum pour les élèves lycéens
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -20%
-20% Récupérateur à eau mural 300 ...
Voir le deal
79 €

Conversion entre les bases

Aller en bas

Conversion entre les bases Empty Conversion entre les bases

Message par haiethem Jeu 15 Avr - 13:30

uses wincrt;
var nb1,nb2,rch:string;n,b1,b2,nb10,i,j,p,e,r:integer;


function puiss (a,b:integer):integer;
begin
 p:=1;
 for j:= 1 to a do p:=p*b;
 puiss:=p;
end;
function convb10(nb1:string;b1:integer):integer;
begin
 nb10:=0;
 for i:= length(nb1) downto 1 do
 begin
  if upcase(nb1[i])in['A'..'Z'] then n:=ord(upcase(nb1[i]))-55
  else val(nb1[i],n,e);
  nb10:=nb10+n*puiss(length(nb1)-i,b1);
 end;
 convb10:=nb10;
end;
function convb2(nb10,b2:integer):string;
begin
 nb2:='';
 repeat
 r:=nb10 mod b2;
 nb10:=nb10 div b2;
 if r>9 then rch:=chr(55+r)
 else str(r,rch);
 nb2:=rch+nb2;
 until nb10=0;
 convb2:=nb2;
end;
begin
 writeln('Donner nb1 : ');readln(nb1);
 writeln('Donner b1 et b2 : ');readln(b1,b2);
 nb10:=convb10(nb1,b1);
 writeln(convb2(nb10,b2));
 readln;
end.
haiethem
haiethem

Messages : 485
Points : 27053
Réputation : 3
Date d'inscription : 08/11/2010
Age : 47

http://www.gdiri.info

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum