Les puissances de 2 qui entourent un nombre

Contenu du snippet

ce program a pour but entourer un nombre strictement positif par les deux puissanes de 2 qui l'entourent
exemple :
2^7=128 <145< 2^8=256
pour le compiler , utiliser turbo pascal

Source / Exemple :


program Puissances2Entourent;
var  n,m,k:longint;
function psc(a:longint;n:shortint):longint;
     var i:shortint;b:longint;
     begin
     b:=1;
     i:=1;
     while i <= n do 
                    begin 
                           b:=b*a;
                            i:=i+1
                    end;
     psc:=b;
     end;
begin
     repeat
     write('Entrez un nombre strictement positif (0/fin): ');
     readln(n);
     if n>0 then 
     begin
     k:=0;
     m:=n;
     while m div 2>=1 do 
                               begin
                                k:=k+1;
                                m:=m div 2 
                               end;
     writeln('2^',k,'=',psc(2,k),'<=',n,'<= 2^',k+1,'=',psc(2,k+1));
     end
     else writeln('warning!!!! le nombre doit être > 0');
     until n=0;   
end.

Conclusion :


pour sortir, entrez 0 comme nombre
c'est le 2eme promam que je publie sur ce site . comme vous pouvez le constater , ce n'est qu'un simple program . mais peut être qu'il sera util pour quelqu'un entre vous .
pour l'explication du fonctionnement ,dabord j'ai fait une fonction pour calculer la puissance . puis j'ai developpé le corps du program . je crois que la methode utilisée est assez simple.
merci de me signaler les erreurs.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.