Récursivité !

Résolu
wiem2007 Messages postés 81 Date d'inscription   Statut Membre Dernière intervention   -  
 brahim jel -
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é.

9 réponses

laurence
 
É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   Statut Membre Dernière intervention   16
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
merci mais comment tu trouve ses exercice? d'apres la livre scolaire?
0
amor2008
 
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   Statut Membre Dernière intervention   4
 
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
sousou
 
s'il vous plait aidez moi davoir des exercices corrigés sur la récursivité
2
roseT Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   4
 
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   Statut Membre Dernière intervention   50
 
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   Statut Membre Dernière intervention   16
 
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
ROURO
 
EST
0
vegveg Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   1
 
mille merci roseT bravo super le lien encore merci
0
nawara13 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
vraiment bravo un lien tres util rose T thanks
0
h-sk saijir
 
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
brahim jel
 
code en c

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

}
0
brahim jel
 
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