Récursivité !

Résolu/Fermé
wiem2007 Messages postés 81 Date d'inscription lundi 12 novembre 2007 Statut Membre Dernière intervention 24 novembre 2009 - 12 nov. 2007 à 17:42
 brahim jel - 6 mars 2012 à 16:14
Bonjour,
s'il vous plait, j'ai besoin de quelques exrcices de récrusivité, j'ai un examen après demain et je n'ai pas trouvé de trucs utils, est ce que vous pouvez m'aider, ça sera formidable que j'aurai les corrigés (algorithmique, c, pascal, peu n'importe); l'essentiel de la récursivité.
A voir également:

9 réponses

Écrire une fonction récursive dans chacun des cas suivantes
a) Qui calcul le pgcd de 2 nombres
b) qui calcul le factoriel d'un nombre entier positif
15
wiem2007 Messages postés 81 Date d'inscription lundi 12 novembre 2007 Statut Membre Dernière intervention 24 novembre 2009 16
12 nov. 2007 à 17:51
c'est sérieux, pouriez vous m'aider ,même en me donnant des ennoncés d'exercices à part le palindrome ,le factoriel ,puissance et inverse.
merci
5
coucou_hb21 Messages postés 33 Date d'inscription lundi 8 octobre 2007 Statut Membre Dernière intervention 21 janvier 2008
12 nov. 2007 à 19:30
ex1 :
ecrire une fonction récursive ACKERMANN qui calcule A(a,b) selon le principe suivant :
A(0,b) = b+1
A(a,0) = A(a-1,1)
A(a,b) = A(a-1, A(a,b-1))
0
coucou_hb21 Messages postés 33 Date d'inscription lundi 8 octobre 2007 Statut Membre Dernière intervention 21 janvier 2008
12 nov. 2007 à 20:13
ex2:
ecrire une fonction récursive de recherche dichotomique d'un élément dans un tableau d'entiers de taille n ordonné par ordre croissant.


ex3:
ecrire une fonction récursive appelée PGCD qui calcule le PGCD de 2 entiers a et b par la méthode d'Euclide .
exemple: PGCD(49,35) = PGCD(35,14) = PGCD(14,7) = 7


ex4:
écrire des fonctions récursives pour calceler la somme et le produit (factorielle) des N premiers nombres .


ex5:
ecrire deux fonctions qui calculent, de façon récursive, la somme et le produit de deux nombres entiers a et b positifs ou nuls.

tu veux d'autre exercices chercher dans notre livre de bac " sciences de l'informatique" c'est une nouvelle branche mais sa peut t'aider.
a+
0
coucou_hb21 Messages postés 33 Date d'inscription lundi 8 octobre 2007 Statut Membre Dernière intervention 21 janvier 2008
12 nov. 2007 à 20:24
dsl j'ai pas lu que tu ne veut pas le factorielle , la puissance ............

ex6:
ecrire une fonction récursive qui calcule le nième terme de la sute de Fibonacci suivante :
U0 = 1
U1 = 1
Un+2 = Un + Un+1 , quelque soit l'entier naturel n

ex7:
ecrire une fonction récursive qui calcule le niéme terme de la suite u définie par :
U0 = 0.8
Un+1 = 0.6 Un(Un-1)

inchallah ça va ?!!!!
a+
0
a+ > coucou_hb21 Messages postés 33 Date d'inscription lundi 8 octobre 2007 Statut Membre Dernière intervention 21 janvier 2008
3 mars 2008 à 23:05
merci mais comment tu trouve ses exercice? d'apres la livre scolaire?
0
On désire réaliser les tâches suivantes :
1- Saisir un entier N ( 0 <N <20).
2- remplir un tableau T par N entiers positifs.
3- Inverser le tableau T.
4- Afficher le nouveau tableau T.

Exemple :
Si on donne N=7 et T
1 10 9 6 11 3 8

Après inversion on obtient
8 3 11 6 9 10 1

Ecrire le programme principal et les sous programmes nécessairs pour réaliser ces tâches.
Les algorithmes des tâches 1- et 3 doivent être récursifs et itératifs.



program inversttrecursif;
uses wincrt;
type tab=array[1..20] of integer;
var t:tab;
n:integer;

procedure saisir(var n:integer);
begin
write('taper un entier entre 1..20');readln(n);
if (n>20) or (n<0) then saisir(n);
end;

procedure remplir(var a:tab;n:integer);
var i:integer;
begin
readln(a[n]);
if a[n]<0 then remplir(a,n)
else if n>1 then remplir(a,n-1)
end;

procedure affiche(a:tab;n:integer);
var i:integer;
begin
write(a[n]:4);
if n>1 then affiche(a,n-1) ;
writeln;
end;

procedure inverser(var t:tab;d,f:integer);
var aux:integer;
begin
if d <f then
begin
aux:=t[d];
t[d]:=t[f];
t[f]:=aux;
inverser(t,d+1,f-1);
end;
end;

begin
saisir(n);
remplir(t,n);
affiche(t,n);
readln;
inverser(t,1,n);
affiche(t,n);
end.



On désire réaliser les tâches suivantes :
1- Saisir un entier N pair ( 6 <N <20).
2- remplir un tableau T par N entiers positifs.
3- Permuter deux éléments consécutifs du tableau T.
4- Afficher le nouveau tableau T.

Exemple :
Si on donne N=8 et T
1 10 9 6 11 7 3 8

Après permutation on obtient
10 1 6 9 7 11 8 3

Ecrire le programme principal et les sous programmes nécessairs pour réaliser ces tâches.
Les algorithmes des tâches 1- et 3 doivent être récursifs et itératifs.


program permut;
uses wincrt;
type tab=array[1..20] of integer;
var t:tab;
n:integer;

procedure saisir(var n:integer);
begin
write('taper un entier entre 6..20 ');readln(n);
if (n>20) or (n<6) or (n mod 2 <>0) then saisir(n);
end;

procedure remplir(var a:tab;n:integer);
var i:integer;
begin
readln(a[n]);
if a[n]<0 then remplir(a,n)
else if n>1 then remplir(a,n-1)
end;

procedure affiche(a:tab;n:integer);
var i:integer;
begin
write(a[n]:4);
if n>1 then affiche(a,n-1) ;
writeln;
end;

procedure permuter(var t:tab;d,f:integer);
var aux:integer;
begin
if d <f then
begin
aux:=t[d];
t[d]:=t[d+1];
t[d+1]:=aux;
permuter(t,d+2,f);
end;
end;

begin
saisir(n);
remplir(t,n);
affiche(t,n);
readln;
permuter(t,1,n);
affiche(t,n);
end.
0
roseT Messages postés 52 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 3 mars 2009 4
26 déc. 2007 à 23:13
Bonsoir Wiem,

je sais que ma réponse est trop en retard déjà ce sont les vacances maintenant mais je suppose que vous avez toujours besoin de quelques exercices en plus pour préparer votre BAC (je suppose) donc voilà quelque uns:

* ecrire une fonction qui pemet de trouver la valeur la plus proche à un réel lu parmi les éléments d'un tableau

* ecrire une fonction récursive qui permet de décomposer un entier en ses facteurs premiers.

* ecrire une fonction récursive qui permet de vérifier si un entier est parfait ou non.

Bonne chance
3
s'il vous plait aidez moi davoir des exercices corrigés sur la récursivité
2
roseT Messages postés 52 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 3 mars 2009 4
8 avril 2008 à 22:21
Bonsoir,
Voici un lien qui peut être utile :
http://www.chambily.com/recursivite/

Bonne chance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 50
12 nov. 2007 à 17:52
Bonjour,

tu déjà regarder ceci :
Algo de recursivité exercice solution

Et en poussant un peu ton regard sur la droite de ton ecran , tu verras aussi un cadre ou il est marqué "Ressources autour de ce sujet" ...

Et en etant un peu habile de tes doigts, sache que Google est ton ami ...
1
wiem2007 Messages postés 81 Date d'inscription lundi 12 novembre 2007 Statut Membre Dernière intervention 24 novembre 2009 16
13 nov. 2007 à 08:46
merci à vous shaboo,coucou_hb21
j'ai voulou des exercices plus difficiles, il me semble que ce type d'exercices est très classique
1
EST
0
vegveg Messages postés 37 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 24 mai 2011 1
16 nov. 2008 à 17:51
mille merci roseT bravo super le lien encore merci
0
nawara13 Messages postés 2 Date d'inscription mercredi 17 février 2010 Statut Membre Dernière intervention 17 février 2010
17 févr. 2010 à 09:45
vraiment bravo un lien tres util rose T thanks
0
h-sk saijir
24 nov. 2010 à 13:03
ecrire une fonction récursive Som_tab qui permet de calculer la Some des élements d'un tableau
^^
je suis ici pour l'aide
h-sk.sajir@hotmail.fr
0
code en c

int somtab (int t[],int n){
if (n<0) retur(0);
else return(t[n]+ somtab(t,n-1));

}
0
code en pasal:
funcion somtab (t:tab ,n:integer):integer
begin

if (n<0) somtab:=0;
else somtab:=t[n]+ somtab(t,n-1);

end;
0