Qu'est ce qu'il affiche ce programme

bzminfo Messages postés 30 Statut Membre -  
 le père -
bonjour,
y a-t-il quelqu'un qui peut m'expliquer qu'est ce qu'il affiche ce programme, et merci d'avance.

uses wincrt;
var
ch:string;n:integer;
 
function inconnue(ch:string;i,p:integer):integer;
begin
    if i=0 then inconnue:=0
    else if ch[i]='1' then  inconnue:= p + inconnue(ch,i-1,2*p)
                      else inconnue:= inconnue(ch,i-1,2*p);
end; 
 
begin
    write('ch = ');readln(ch);
    writeln(inconnue(ch,length(ch),1));
end.

2 réponses

  1. le père
     
    Bonjour

    Si tu n'arrives pas à deviner en lisant le programme, essaye-le avec les chaînes suivantes (sans les guillemets):
    "1"
    "1x"
    "1xy"
    "1x1"
    Ça devrait te guider
    0
    1. bzminfo Messages postés 30 Statut Membre 2
       
      bonjour le père,
      mais essayer avec les chaines "101" ==>5
      et la chaine "11011"==>27
      malgré ça j'ai rien compris!!!!
      0
  2. le père
     
    Ne te contente pas de deux valeurs
    essaye
    1
    1x
    11
    1xy
    1x1
    11x
    111
    10ab
    1231
    0