Forum ada95000 Dernière connexion : 18/06/2025 à 17:55
Fin de session : 18/06/2025 à 18:05

Vous n'êtes pas connecté [Connexion - Inscription]
Go Bottom
Répondre
Qui peut poster ? Tous les membres peuvent lancer des Nouveaux Sujets, et tout membre peut répondre.
Pseudo:  Voulez-vous vous inscrire ?
Mot de passe:  Mot de passe oublié ?
Sujet: (optionnel)
Icône:

biggrin.gif

bigsmile.gif

cool.gif

cool2.gif

diablotin.gif

eureka.gif

flaming.gif

lol.gif

mad.gif

no.gif

puzzled.gif

roll.gif

rolleyes.gif

sad.gif

saint.gif

shocked.gif

smile.gif

thumbdown.gif

thumbup.gif

tongue.gif

wink.gif
Mode d'édition :
Normal Avancé Aide

Insérer du texte en gras Insérer du texte en italique Insérer du texte souligné Insérer du texte centré Insérer un lien hypertexte Insérer un lien vers un Email Insérer une image Insérer du code Insérer une citation Insérer une liste Insérer du texte caché
Message:
HTML activé ? Non
Smileys activés ? Oui
BBCode activé ? Oui
Activer fonction [img] ? Oui
:D:grin::cool:8)
:eldiablo::eureka::x:hot:
:lol::mad::no::-?
:-p:-o:(:ange:
Plus de smileys
Options Désactiver les smileys ?
Utiliser une signature ?
Désactiver le BBCode ?
Recevoir une notification par Email lors de nouvelles réponses ?

Revoir le sujet
ftbass
Administrator
StaffStaffStaffStaffStaffStaffStaffStaffStaff

images/avatars/WC3HumanOp1.gif

Messages: 72
Inscrit(e) le: 27/02/2004
Déconnecté(e)
Publié le 28/03/2004 à 13:05
RE : Fonctions récursives

Une fonction multiplier en récursif (n'est valable que pour des nombres positifs ou nuls) :

code:
function mult(m, n : in integer) return integer is
 begin
   if (m = 0) or (n = 0) then
     return 0;
   else
     if (m = 1) then
       return n;
     else
       if (n = 1) then
         return m;
       else
         return n + mult((m - 1) ,n);
       end if;
     end if;
   end if;
 end mult;
ftbass
Administrator
StaffStaffStaffStaffStaffStaffStaffStaffStaff

images/avatars/WC3HumanOp1.gif

Messages: 72
Inscrit(e) le: 27/02/2004
Déconnecté(e)
Publié le 24/03/2004 à 18:51
RE : Fonctions récursives

Sympa de me tenir au jus Syl :-p

A jeudi (normalement...)
SYLADA
Member
MembreMembreMembre

images/avatars/Magneto.gif

Messages: 7
Inscrit(e) le: 16/03/2004
Déconnecté(e)
Icon depicting mood of post Publié le 24/03/2004 à 18:15
Fonctions récursives

Hi !

Mardi soir, on a vu les fonctions récursives.
Quelques exemples ci-dessous :


code:

with Text_Io; use Text_Io;

procedure fonctions_recursives is
  package Entier_Es is new Text_Io.Integer_Io(Integer);
  use Entier_Es;
 
  --fonction de Fibonnacci
  function Fib(N : in Integer) return Integer is
  begin
     if (N=0) or (N=1) then return 1;
     else return (Fib(N-1)+Fib(N-2));
     end if;
  end Fib;
 
  -- fonction Factorielle
  function Fact(N : in Integer) return Integer is
  begin
     if (N=0) or (N=1) then return 1;
     else return (N*Fact(N-1));
     end if;
  end Fact;
 
  -- fonction Puissance
  function Puissance(x,N : in Integer) return Integer is
  begin
     if (N=0) then return 1;
     else return x*puissance(x,n-1);
     end if;
  end Puissance;

  -- fonction Division entière
  function Divise(N,D : in Integer) return Integer is
  begin
     if (N<D) then return 0;
     else return 1+Divise(n-d,d);
     end if;
  end Divise;

--procédure principale
begin
  --Exemples de fonctions récursives  
  Put("Fonction recursive de Fibonnacci d'ordre 10 : ");
  Put(Fib(10),3);
  new_line;
  Put("Fonction recursive factorielle de 10 : ");
  Put(Fact(10),3);
  new_line;
  Put("Fonction recursive puissance 2^3 : ");
  Put(Puissance(2,3),3);
  new_line;
  Put("Fonction recursive division entiere 7/2 : ");
  Put(Divise(7,2),3);


end fonctions_recursives;
 


Bye! 8o)

Go Top
10.3.122.74 17:55 - 18 Juin 2025 10.3.122.74
[ 0.2425132 secondes | Effacer le cookie | 19 requêtes ]
Oxygen v1.0.11 © 2002  |  Oxygen WebSite © 2002