Aixx que que isso...:/ bah tentei os dois códigos mas nos dois o resultado dá zero :/ alguém pode ver o problema aew pra mim? ------ procedure TForm1.b_fatorialClick(Sender: TObject); var resultado : integer; i : integer; num : integer; Begin resultado := 1; For I := 1 to Num do Begin resultado := resultado*(Num-I); end; showmessage( inttostr(resultado)); end; end. ----------------------- procedure TForm1.b_fatorialClick(Sender: TObject); var fat : integer; i : integer; num : integer; Begin fat := 1; while (i > 0) do Begin fat := fat * (i-1); i:= i-1; end; showmessage( inttostr(fat)); end; end. valeu []'s