SlideShare une entreprise Scribd logo

Exercices en turbo pascal sur la récursivité

1  sur  5
Page 1/5
Récursivité : Série d'exercices
Exercice 1
Écrire une procédure qui affiche les entiers par ordre décroissant, de 10 jusqu’à 1. Proposer
une solution itérative et une autre récursive.
Exercice 2
Soit la procédure itérative suivante :
procedure affiche;
var a, b: integer;
begin
for a := 0 to 3 do
for b := 0 to 9 do
writeln(a * 10 + b);
end;
Transformer cette procédure en une procédure récursive.
Exercice 3
Écrire une procédure récursive permettant de saisir un entier N pair (1<N<31).
Exercice 4
Écrire une procédure récursive permettant de remplir un tableau T par N entiers positifs.
Exercice 4.2
Écrire une procédure récursive permettant d'afficher un tableau T.
Exercice 5
Écrire une fonction récursive permettant de calculer la factorielle d’un entier N donné.
Exercice 6
On appelle "palindrome" un mot ou une phrase qui se lit de la même façon à l'endroit comme
à l'envers, sans tenir compte des espaces.
Exemple : le mot "ABCBA" est un palindrome.
Ecrire une fonction récursive permettant de vérifier si une chaîne de caractères CH est un
palindrome.
Exercice 7
Ecrire une fonction récursive permettant de vérifier la parité d’un entier N.
Exercice 8
Écrire une fonction récursive permettant d'effectuer la multiplication de deux entiers positifs
(notés p et q) donnés, en utilisant uniquement l'addition entière.
En effet, pxq = p+p+p+…+p (q fois).
Exercice 9
Écrire une fonction récursive permettant de calculer la somme des N premiers entiers.
Exercice 10
Écrire une fonction récursive permettant de calculer X
n
pour X réel et n entier relatif.
Exercice 11
Écrire une fonction récursive permettant de calculer le PGCD de deux entiers A et B par la
méthode d' EUCLIDE puis la méthode de différence.
Exercice 12
Écrire une fonction récursive permettant de calculer le PPCM de deux entiers A et B.
Page 2/5
Exercice 13
La suite de Fibonacci est définie par : Un
= Un-1
+ Un-2
avec U1
= 1 et U2
= 1. Ecrire une
fonction récursive permettant de calculer le N
ème
terme de la suite de Fibonacci.
Exercice 14
Écrire une procédure récursive permettant de décomposer un entier N en facteurs premiers.
(Exemple : 432 = 2*2*2*2*3*3*3).
Exercice 15
Un nombre parfait est un nombre qui est égale à la somme de ses diviseurs sauf lui même
exemple : 6 est parfait car 6=1+2+3
Écrire une fonction récursive qui calcule la somme de diviseurs d'un entier N sauf lui-même.
Exercice 16
Un entier supérieur à 1 est dit premier s’il n’est divisible que par 1 et par lui-même.
Écrire une fonction récursive qui vérifie si un entier N est premier ou non.
Exercice 17
Soit l’exponentielle :
2 3
1 ...
1 2 ! 3 ! !
n
x x x x x
e
n
+ + + + +
Faire une fonction fact(n) qui renvoie n!.
Faire une fonction puiss(x, n) qui renvoie xn
.
Ecrire une fonction récursive qui calcule la valeur approchée de ex
en faisant appel aux
fonctions fact et puiss.
Exercice 18
Calculer par récursivité
n
nS
1
...
4
1
3
1
2
1
1)( +++++= pour tout n>0.
Exercice 19
Calculer par récursivité
12
1
)1(...
7
1
5
1
3
1
1)(
+
−++−+−=
n
nS n
pour tout n>=0.
Exercice 20
Écrire une fonction récursive qui permet de chercher le maximum dans un tableau T de n entiers.
Écrire une fonction récursive qui permet de chercher le minimum dans un tableau T de n entiers.
Exercice 21
Écrire une fonction récursive qui détermine la valeur la plus proche d'un entier m donné dans
un tableau T de n entiers.
Exercice 22
Écrire une fonction récursive qui teste l'existence d'un élément donné dans un tableau donné
en utilisant une recherche séquentielle.
Exercice 23
Écrire une fonction récursive qui teste l'existence d'un élément donné dans un tableau donné
en utilisant une recherche dichotomique.
Exercice 24
Écrire une procédure récursive qui permet de décaler tous les éléments d’un tableau d’une
position à droite à partir de la position p.
Exercice 25
Écrire une procédure récursive qui permet d’inverser les éléments d’une partie d’un tableau
compris entre la position p et n.
Page 3/5
Exercice 26
Écrire une procédure récursive qui permute les n éléments consécutifs deux à deux d’un
tableau T.
Exercice 27
Écrire une fonction récursive qui détermine la valeur maximale de deux entiers positifs sans
utiliser < et >.
Exercice 28
Soit une chaîne de caractères ; supposons qu'on veuille faire aussi bien la fonction que la
procédure qui nous renvoie l'inverse de cette chaîne.
Exercice 29
Écrire une procédure récursive qui permet de trier un tableau de n entiers en utilisant la
méthode de tri par sélection.
Exercice 30
Écrire une procédure récursive qui permet de trier un tableau de n entiers en utilisant la
méthode de tri par insertion.
Exercice 31
Écrire une procédure récursive qui permet de trier un tableau de n entiers en utilisant la
méthode de tri à bulles.
Exercice 32
Écrire une procédure récursive qui permet de trier un tableau de n entiers en utilisant la
méthode de tri Shell.
Exercice 33
Écrire une procédure récursive qui permet de trier un tableau de n entiers en utilisant la
méthode de tri par fusion.
Exercice 34
Ecrire une procédure récursive qui supprime toutes les occurrences d'un caractère donné d'une
chaîne de caractère.
Exercice 35
Écrire une fonction qui compte le nombre d’occurrences d’un caractère c dans une chaîne ch.
Exercice 36
Écrire une fonction récursive qui calcule la somme des chiffres d'un nombre entier.
Exercice 37
Écrire une fonction récursive qui détermine le nombre des chiffres d'un entier.
Exercice 38
Deux mots sont des anagrammes si l’un est une permutation des lettres de l’autre.
Par exemple les mots suivants sont des anagrammes :
– aimer et maire
– chien et niche
Par définition, on considère que deux mots vides sont des anagrammes.
Proposez une fonction récursive qui permet de savoir si deux mots sont des anagrammes.
Exercice 39
Écrire une fonction récursive qui teste la présence d'un caractère dans une chaîne de
caractère.
Exercice 40
Écrire une fonction récursive nommée suppr_car qui permet de supprimer la première
occurrence d'un caractère d'une chaîne.
Page 4/5
Exercice 41
En utilisant les deux fonctions précédentes (teste et suppr_car), proposez une fonction
récursive constructible qui permet de savoir si un mot est constructible à partir d'un
ensemble de lettres. Le mot et l'ensemble de lettres sont représentés à l'aide d'une chaîne de
caractères. Si une lettre apparaît deux fois dans le mot, il faut qu'elle apparaissent au moins
deux fois dans l'ensemble de lettres.
Par exemple :
Constructible ("BONJOUR","BJNORUYZ") retournera faux (le 'O' n'apparaissant qu'une seule
fois dans "BJNORUYZ")
Constructible ("TRALALA","LLAAAAART") retournera vrai
Constructible ("","ABC") retournera vrai
Exercice 42
Le triangle de Pascal est le tableau des coefficients qui sont utilisés pour le développement de
certaines expressions comme (a+b)² ou (a+b)
n
.
Ce triangle est le suivant :
0 : 1 (a+b)
0
= 1
1 : 1 1 (a+b)
1
= 1a + 1b
2 : 1 2 1 (a+b)
2
= 1a
2
+ 2ab + 1b
2
3 : 1 3 3 1 (a+b)
3
= 1a
3
+ 3a
2
b + 3ab
2
+ 1b
3
4 : 1 4 6 4 1 (a+b)
4
= 1a
4
+ 4a
3
b + 6a
2
b
2
+ 4ab
3
+ 1b
4
Écrire une fonction récursive permettant de déterminer les valeurs du triangle pascal.
Exercice 43
Écrire une fonction récursive MacCarthy qui calcule MacCarthy(n) selon la définition suivante :
Si n>100 MacCarthy(n) = n-10
Si n≤100 MacCarthy(n) = MacCarthy( MacCarthy(n+11))
Exercice 44
Écrire une fonction récursive calculant la fonction d'Ackermann définie comme suit :
n+1 si m = 0
( , ) Ack (m-1, 1) si m > 0 et n = 0
Ack (m-1, Ack (m, n-1)) si m > 0 et n > 0
Ack m n
⎧
⎪
= ⎨
⎪
⎩
Calculer Ack(0,3) et Ack(2,2)
Exercice 45 Évaluation d’une chaîne de caractère
Soit une chaîne de caractères du type s="5+123-4+67-2" ; Écrire une fonction récursive qui
évalue cette chaîne de caractères.
Exercice 46 Vers une mini-calculatrice
Soit une chaîne de caractères du type s="5+3*4/2-5*3+4*7/2" ; faisons le programme qui
évalue cette chaîne de caractères.
Exercice 47
Écrire une procédure récursive qui affiche les combinaisons (les différentes permutations de n
objets) d'une chaîne de caractères.
Par exemple, les anagrammes des lettres de "abc" sont :
"abc", "acb", "bac", "bca", "cab" et "cba".
Page 5/5
Exercice 48
Écrire un programme permettant d'évaluer un nombre romain en son équivalant en
décimal. Sachant que les chiffres romains :
• M = 1000
• D = 500
• C = 100
• L = 50
• X = 10
• V = 5
• I = 1
On constate que les nombres s'arrêtaient aux milliers.
Exemples d'écriture des nombres romains :
• 4 s'écrit IV.
• 6 s'écrit VI.
• 9 s'écrit IX.
• 15 s'écrit XV.
• 47 s'écrit XLVII.
• 149 s'écrit CXLIX (et non CIL, comme on pourrait le penser) On constate ici la
décomposition 100+40+9 = C + XL + IX
• 1490 s'écrit MCDXC = 1000 + 400 + 90 = M + CD + XC
Exercice 49
Écrire un programme qui utilise une procédure récursive permettant d’afficher les caractères
d’une chaîne sous la forme indiquée dans l’exemple suivant :
Exemple : Soit la chaîne "TURBO"
TURBO
TURB
TUR
TU
T
Exercice 50
Écrire une fonction booléenne récursive qui teste si deux fichiers d’entiers sauvegardés sur
disque dur, sont égaux ou non.
Exercice 51
Écrire un programme qui utilise une fonction récursive pour trouver le plus petit nombre d’un
fichier d’entiers sauvegardés sur disque dur, puis l’affiche à l’écran.
Exercice 52
On considère la procédure suivante écrite en Pascal :
Procedure P(n : integer);
begin
if (n>0)
A) Pour n=5, la sortie de P(n) affiche 5 1 1.
B) Pour n=5, la sortie de P(n) affiche 1 5 1.
C) Pour n=7, la sortie de P(n) affiche 1 1 5.
D) Pour n=9, la sortie de P(n) affiche 2 3 1.
E) P(n) se termine pour toutes les valeurs entières de n.
then begin
P(n div 4);
writeln(n);
P(n div 3);
end;
end;
Publicité

Recommandé

Les algorithmes recurrents
Les algorithmes recurrentsLes algorithmes recurrents
Les algorithmes recurrentsmohamed_SAYARI
 
Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetiquemohamed_SAYARI
 
Exercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombresExercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombressalah fenni
 
Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)salah fenni
 

Contenu connexe

Tendances

Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018salah fenni
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siNarûtö Bàl'Sèm
 
Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018salah fenni
 
Cours algorithme: structures répétitives
Cours algorithme: structures répétitivesCours algorithme: structures répétitives
Cours algorithme: structures répétitivesInforMatica34
 
Serie algos approximationx
Serie algos approximationxSerie algos approximationx
Serie algos approximationxmohamed_SAYARI
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfsalah fenni
 
Algorithmes d'approximation
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximationmohamed_SAYARI
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivitéSana Aroussi
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de triYassine Anddam
 
Résumé Algorithme et Programmation
Résumé Algorithme et ProgrammationRésumé Algorithme et Programmation
Résumé Algorithme et Programmationborhen boukthir
 
Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesInes Ouaz
 
Exercices pascal fenni_2018
Exercices pascal fenni_2018Exercices pascal fenni_2018
Exercices pascal fenni_2018salah fenni
 
Serie recurrents & arithmetiques
Serie recurrents & arithmetiquesSerie recurrents & arithmetiques
Serie recurrents & arithmetiquesmohamed_SAYARI
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdfsalah fenni
 

Tendances (20)

Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
 
Serie2
Serie2Serie2
Serie2
 
Résumer arithmétique
Résumer arithmétiqueRésumer arithmétique
Résumer arithmétique
 
Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018
 
Cours algorithme: structures répétitives
Cours algorithme: structures répétitivesCours algorithme: structures répétitives
Cours algorithme: structures répétitives
 
Serie algos approximationx
Serie algos approximationxSerie algos approximationx
Serie algos approximationx
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdf
 
Algorithmes d'approximation
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximation
 
02 correction-td smi-s3-algo2
02 correction-td smi-s3-algo202 correction-td smi-s3-algo2
02 correction-td smi-s3-algo2
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
 
Résumé Algorithme et Programmation
Résumé Algorithme et ProgrammationRésumé Algorithme et Programmation
Résumé Algorithme et Programmation
 
cours algorithme
cours algorithmecours algorithme
cours algorithme
 
Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de données
 
Algorithmes de tri
Algorithmes de triAlgorithmes de tri
Algorithmes de tri
 
Exercices pascal fenni_2018
Exercices pascal fenni_2018Exercices pascal fenni_2018
Exercices pascal fenni_2018
 
Serie recurrents & arithmetiques
Serie recurrents & arithmetiquesSerie recurrents & arithmetiques
Serie recurrents & arithmetiques
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
 

En vedette

Exercices pascal tous les chapitres
Exercices pascal tous les chapitresExercices pascal tous les chapitres
Exercices pascal tous les chapitresborhen boukthir
 
Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)salah fenni
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiquefast xp
 
Dictionnaire de mathématiques
Dictionnaire de mathématiquesDictionnaire de mathématiques
Dictionnaire de mathématiquessalah fenni
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Ines Ouaz
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)rezgui mohamed
 
Exercices en langage c
Exercices en langage cExercices en langage c
Exercices en langage cDaoua Lotfi
 
Coran (Riwayet kaloun)
Coran (Riwayet kaloun)Coran (Riwayet kaloun)
Coran (Riwayet kaloun)salah fenni
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmiqueelharraj
 
Fonctions chaine
Fonctions chaineFonctions chaine
Fonctions chaineAfef Ilahi
 
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmationLe livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmationChingongou ­
 
Nature and structure of language
Nature and structure of languageNature and structure of language
Nature and structure of languageZichara Jumawan
 
Tp1 compte rendu en langage c
Tp1 compte rendu en langage cTp1 compte rendu en langage c
Tp1 compte rendu en langage cEbrima NJIE
 
Chapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesChapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesSana Aroussi
 
Ch8 correction exercices (1)
Ch8 correction exercices (1)Ch8 correction exercices (1)
Ch8 correction exercices (1)abdellah12
 
exercices en C
exercices en Cexercices en C
exercices en Ccoursuniv
 
Cours langage c
Cours langage cCours langage c
Cours langage ccoursuniv
 
Taller De Prepación De Pruebas Orales
Taller De Prepación De Pruebas OralesTaller De Prepación De Pruebas Orales
Taller De Prepación De Pruebas OralesRodrigo Cornejo Zanni
 

En vedette (20)

Exercices pascal tous les chapitres
Exercices pascal tous les chapitresExercices pascal tous les chapitres
Exercices pascal tous les chapitres
 
Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
 
Dictionnaire de mathématiques
Dictionnaire de mathématiquesDictionnaire de mathématiques
Dictionnaire de mathématiques
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
 
Exercices en langage c
Exercices en langage cExercices en langage c
Exercices en langage c
 
Coran (Riwayet kaloun)
Coran (Riwayet kaloun)Coran (Riwayet kaloun)
Coran (Riwayet kaloun)
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Fonctions chaine
Fonctions chaineFonctions chaine
Fonctions chaine
 
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmationLe livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
 
Td pascal tdD
Td pascal tdDTd pascal tdD
Td pascal tdD
 
Nature and structure of language
Nature and structure of languageNature and structure of language
Nature and structure of language
 
Tp1 compte rendu en langage c
Tp1 compte rendu en langage cTp1 compte rendu en langage c
Tp1 compte rendu en langage c
 
Chapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesChapitre 3 structures séquentielles
Chapitre 3 structures séquentielles
 
Ch8 correction exercices (1)
Ch8 correction exercices (1)Ch8 correction exercices (1)
Ch8 correction exercices (1)
 
exercices en C
exercices en Cexercices en C
exercices en C
 
Cours langage c
Cours langage cCours langage c
Cours langage c
 
08 dinámica de la geosfera
08 dinámica de la geosfera08 dinámica de la geosfera
08 dinámica de la geosfera
 
Taller De Prepación De Pruebas Orales
Taller De Prepación De Pruebas OralesTaller De Prepación De Pruebas Orales
Taller De Prepación De Pruebas Orales
 

Similaire à Exercices en turbo pascal sur la récursivité

Td_informatique.pdf ALGORITHME NON CORRIGE
Td_informatique.pdf ALGORITHME NON CORRIGETd_informatique.pdf ALGORITHME NON CORRIGE
Td_informatique.pdf ALGORITHME NON CORRIGEyosrisaadallah
 
eExercices corrigesdivers
eExercices corrigesdiverseExercices corrigesdivers
eExercices corrigesdiversHajar Yazine
 
Exercicescorrigesdivers
ExercicescorrigesdiversExercicescorrigesdivers
ExercicescorrigesdiversKarim Amane
 
Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)DriNox NordisTe
 
Exercices%20g%C3%A9n%C3%A9raux%20sur%20Python (1).pdf
Exercices%20g%C3%A9n%C3%A9raux%20sur%20Python (1).pdfExercices%20g%C3%A9n%C3%A9raux%20sur%20Python (1).pdf
Exercices%20g%C3%A9n%C3%A9raux%20sur%20Python (1).pdfadeljaouadi
 
Travaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesTravaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesInes Ouaz
 
Chapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdfChapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdfMbarkiIsraa
 
Serie tri revision_3si
Serie tri revision_3siSerie tri revision_3si
Serie tri revision_3siRiadh Harizi
 
Chaitre 3 Fonctions logiques (1).pptx
Chaitre 3 Fonctions logiques (1).pptxChaitre 3 Fonctions logiques (1).pptx
Chaitre 3 Fonctions logiques (1).pptxMohammedJaafari3
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétudeSana Aroussi
 
Algorithmique-ProgrammationC-Serie1.pdf
Algorithmique-ProgrammationC-Serie1.pdfAlgorithmique-ProgrammationC-Serie1.pdf
Algorithmique-ProgrammationC-Serie1.pdfOULAKBIRIlham
 
CAPES maths 2019 composition 1 (option informatique)
CAPES maths 2019 composition 1 (option informatique)CAPES maths 2019 composition 1 (option informatique)
CAPES maths 2019 composition 1 (option informatique)Dany-Jack Mercier
 
Les vecteurs seconde2020.pptx
Les vecteurs seconde2020.pptxLes vecteurs seconde2020.pptx
Les vecteurs seconde2020.pptxrezgui10
 
Les vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdfLes vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdfrezgui10
 

Similaire à Exercices en turbo pascal sur la récursivité (20)

Td_informatique.pdf ALGORITHME NON CORRIGE
Td_informatique.pdf ALGORITHME NON CORRIGETd_informatique.pdf ALGORITHME NON CORRIGE
Td_informatique.pdf ALGORITHME NON CORRIGE
 
eExercices corrigesdivers
eExercices corrigesdiverseExercices corrigesdivers
eExercices corrigesdivers
 
Exercicescorrigesdivers
ExercicescorrigesdiversExercicescorrigesdivers
Exercicescorrigesdivers
 
Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)
 
Exercices%20g%C3%A9n%C3%A9raux%20sur%20Python (1).pdf
Exercices%20g%C3%A9n%C3%A9raux%20sur%20Python (1).pdfExercices%20g%C3%A9n%C3%A9raux%20sur%20Python (1).pdf
Exercices%20g%C3%A9n%C3%A9raux%20sur%20Python (1).pdf
 
5e8a000b9840a.pdf
5e8a000b9840a.pdf5e8a000b9840a.pdf
5e8a000b9840a.pdf
 
Travaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesTravaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de données
 
Chapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdfChapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdf
 
TP C++ : enoncé
TP C++ : enoncéTP C++ : enoncé
TP C++ : enoncé
 
Serie tri revision_3si
Serie tri revision_3siSerie tri revision_3si
Serie tri revision_3si
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Chaitre 3 Fonctions logiques (1).pptx
Chaitre 3 Fonctions logiques (1).pptxChaitre 3 Fonctions logiques (1).pptx
Chaitre 3 Fonctions logiques (1).pptx
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
 
Video
VideoVideo
Video
 
Algorithmique-ProgrammationC-Serie1.pdf
Algorithmique-ProgrammationC-Serie1.pdfAlgorithmique-ProgrammationC-Serie1.pdf
Algorithmique-ProgrammationC-Serie1.pdf
 
TP5_2020.pdf
TP5_2020.pdfTP5_2020.pdf
TP5_2020.pdf
 
CAPES maths 2019 composition 1 (option informatique)
CAPES maths 2019 composition 1 (option informatique)CAPES maths 2019 composition 1 (option informatique)
CAPES maths 2019 composition 1 (option informatique)
 
Les vecteurs seconde2020.pptx
Les vecteurs seconde2020.pptxLes vecteurs seconde2020.pptx
Les vecteurs seconde2020.pptx
 
Les vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdfLes vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdf
 

Dernier

antigone de jean Anouilh la tragédie moderne
antigone de jean Anouilh la tragédie moderneantigone de jean Anouilh la tragédie moderne
antigone de jean Anouilh la tragédie moderneayoubrhammadi2
 
L’ingénierie de l’éducation à l’ère du numérique
L’ingénierie de l’éducation à l’ère du numériqueL’ingénierie de l’éducation à l’ère du numérique
L’ingénierie de l’éducation à l’ère du numériqueSKennel
 
Français langue étrangère: L'impératif présent 2024
Français langue étrangère: L'impératif présent 2024Français langue étrangère: L'impératif présent 2024
Français langue étrangère: L'impératif présent 2024Paulo Marques
 
Modulation Fm Tp presentation avancée USTHB
Modulation Fm Tp presentation avancée USTHBModulation Fm Tp presentation avancée USTHB
Modulation Fm Tp presentation avancée USTHBUsaPlay2
 
Calendrier de la semaine du 19 au 23 février 2024
Calendrier de la semaine du 19 au 23 février 2024Calendrier de la semaine du 19 au 23 février 2024
Calendrier de la semaine du 19 au 23 février 2024frizzole
 
Offres d'emploi (Mise à Jour le 19/02).pptx
Offres d'emploi (Mise à Jour le 19/02).pptxOffres d'emploi (Mise à Jour le 19/02).pptx
Offres d'emploi (Mise à Jour le 19/02).pptxMissionLocale
 
SKY GARDEN HOUSE gvvhvvvgbgghhhhhhhhhhhhhh
SKY GARDEN HOUSE gvvhvvvgbgghhhhhhhhhhhhhhSKY GARDEN HOUSE gvvhvvvgbgghhhhhhhhhhhhhh
SKY GARDEN HOUSE gvvhvvvgbgghhhhhhhhhhhhhhlkherbanacera3
 
Français langue étrangère: Le but et l'obligation 2024
Français langue étrangère: Le but et l'obligation 2024Français langue étrangère: Le but et l'obligation 2024
Français langue étrangère: Le but et l'obligation 2024Paulo Marques
 
Le langage n'est-il qu'un instrument de communication ? (V2)
Le langage n'est-il qu'un instrument de communication ? (V2)Le langage n'est-il qu'un instrument de communication ? (V2)
Le langage n'est-il qu'un instrument de communication ? (V2)Gabriel Gay-Para
 
MARTYRS DE LIBYE – Histoire des victimes coptes de IS..pptx
MARTYRS DE LIBYE – Histoire des victimes coptes de IS..pptxMARTYRS DE LIBYE – Histoire des victimes coptes de IS..pptx
MARTYRS DE LIBYE – Histoire des victimes coptes de IS..pptxMartin M Flynn
 
Activités mercredis cycle 3 - año 2020.pdf
Activités mercredis cycle 3 - año 2020.pdfActivités mercredis cycle 3 - año 2020.pdf
Activités mercredis cycle 3 - año 2020.pdfLallaJamilaFtaich1
 
presentation parents_orientation_en-ligne_3e_phase-provisoire2024(1).pptx
presentation parents_orientation_en-ligne_3e_phase-provisoire2024(1).pptxpresentation parents_orientation_en-ligne_3e_phase-provisoire2024(1).pptx
presentation parents_orientation_en-ligne_3e_phase-provisoire2024(1).pptxsiemaillard
 
Marseille XIXe fiche de travail 2024.pdf
Marseille XIXe fiche de travail 2024.pdfMarseille XIXe fiche de travail 2024.pdf
Marseille XIXe fiche de travail 2024.pdfNadineHG
 

Dernier (13)

antigone de jean Anouilh la tragédie moderne
antigone de jean Anouilh la tragédie moderneantigone de jean Anouilh la tragédie moderne
antigone de jean Anouilh la tragédie moderne
 
L’ingénierie de l’éducation à l’ère du numérique
L’ingénierie de l’éducation à l’ère du numériqueL’ingénierie de l’éducation à l’ère du numérique
L’ingénierie de l’éducation à l’ère du numérique
 
Français langue étrangère: L'impératif présent 2024
Français langue étrangère: L'impératif présent 2024Français langue étrangère: L'impératif présent 2024
Français langue étrangère: L'impératif présent 2024
 
Modulation Fm Tp presentation avancée USTHB
Modulation Fm Tp presentation avancée USTHBModulation Fm Tp presentation avancée USTHB
Modulation Fm Tp presentation avancée USTHB
 
Calendrier de la semaine du 19 au 23 février 2024
Calendrier de la semaine du 19 au 23 février 2024Calendrier de la semaine du 19 au 23 février 2024
Calendrier de la semaine du 19 au 23 février 2024
 
Offres d'emploi (Mise à Jour le 19/02).pptx
Offres d'emploi (Mise à Jour le 19/02).pptxOffres d'emploi (Mise à Jour le 19/02).pptx
Offres d'emploi (Mise à Jour le 19/02).pptx
 
SKY GARDEN HOUSE gvvhvvvgbgghhhhhhhhhhhhhh
SKY GARDEN HOUSE gvvhvvvgbgghhhhhhhhhhhhhhSKY GARDEN HOUSE gvvhvvvgbgghhhhhhhhhhhhhh
SKY GARDEN HOUSE gvvhvvvgbgghhhhhhhhhhhhhh
 
Français langue étrangère: Le but et l'obligation 2024
Français langue étrangère: Le but et l'obligation 2024Français langue étrangère: Le but et l'obligation 2024
Français langue étrangère: Le but et l'obligation 2024
 
Le langage n'est-il qu'un instrument de communication ? (V2)
Le langage n'est-il qu'un instrument de communication ? (V2)Le langage n'est-il qu'un instrument de communication ? (V2)
Le langage n'est-il qu'un instrument de communication ? (V2)
 
MARTYRS DE LIBYE – Histoire des victimes coptes de IS..pptx
MARTYRS DE LIBYE – Histoire des victimes coptes de IS..pptxMARTYRS DE LIBYE – Histoire des victimes coptes de IS..pptx
MARTYRS DE LIBYE – Histoire des victimes coptes de IS..pptx
 
Activités mercredis cycle 3 - año 2020.pdf
Activités mercredis cycle 3 - año 2020.pdfActivités mercredis cycle 3 - año 2020.pdf
Activités mercredis cycle 3 - año 2020.pdf
 
presentation parents_orientation_en-ligne_3e_phase-provisoire2024(1).pptx
presentation parents_orientation_en-ligne_3e_phase-provisoire2024(1).pptxpresentation parents_orientation_en-ligne_3e_phase-provisoire2024(1).pptx
presentation parents_orientation_en-ligne_3e_phase-provisoire2024(1).pptx
 
Marseille XIXe fiche de travail 2024.pdf
Marseille XIXe fiche de travail 2024.pdfMarseille XIXe fiche de travail 2024.pdf
Marseille XIXe fiche de travail 2024.pdf
 

Exercices en turbo pascal sur la récursivité

  • 1. Page 1/5 Récursivité : Série d'exercices Exercice 1 Écrire une procédure qui affiche les entiers par ordre décroissant, de 10 jusqu’à 1. Proposer une solution itérative et une autre récursive. Exercice 2 Soit la procédure itérative suivante : procedure affiche; var a, b: integer; begin for a := 0 to 3 do for b := 0 to 9 do writeln(a * 10 + b); end; Transformer cette procédure en une procédure récursive. Exercice 3 Écrire une procédure récursive permettant de saisir un entier N pair (1<N<31). Exercice 4 Écrire une procédure récursive permettant de remplir un tableau T par N entiers positifs. Exercice 4.2 Écrire une procédure récursive permettant d'afficher un tableau T. Exercice 5 Écrire une fonction récursive permettant de calculer la factorielle d’un entier N donné. Exercice 6 On appelle "palindrome" un mot ou une phrase qui se lit de la même façon à l'endroit comme à l'envers, sans tenir compte des espaces. Exemple : le mot "ABCBA" est un palindrome. Ecrire une fonction récursive permettant de vérifier si une chaîne de caractères CH est un palindrome. Exercice 7 Ecrire une fonction récursive permettant de vérifier la parité d’un entier N. Exercice 8 Écrire une fonction récursive permettant d'effectuer la multiplication de deux entiers positifs (notés p et q) donnés, en utilisant uniquement l'addition entière. En effet, pxq = p+p+p+…+p (q fois). Exercice 9 Écrire une fonction récursive permettant de calculer la somme des N premiers entiers. Exercice 10 Écrire une fonction récursive permettant de calculer X n pour X réel et n entier relatif. Exercice 11 Écrire une fonction récursive permettant de calculer le PGCD de deux entiers A et B par la méthode d' EUCLIDE puis la méthode de différence. Exercice 12 Écrire une fonction récursive permettant de calculer le PPCM de deux entiers A et B.
  • 2. Page 2/5 Exercice 13 La suite de Fibonacci est définie par : Un = Un-1 + Un-2 avec U1 = 1 et U2 = 1. Ecrire une fonction récursive permettant de calculer le N ème terme de la suite de Fibonacci. Exercice 14 Écrire une procédure récursive permettant de décomposer un entier N en facteurs premiers. (Exemple : 432 = 2*2*2*2*3*3*3). Exercice 15 Un nombre parfait est un nombre qui est égale à la somme de ses diviseurs sauf lui même exemple : 6 est parfait car 6=1+2+3 Écrire une fonction récursive qui calcule la somme de diviseurs d'un entier N sauf lui-même. Exercice 16 Un entier supérieur à 1 est dit premier s’il n’est divisible que par 1 et par lui-même. Écrire une fonction récursive qui vérifie si un entier N est premier ou non. Exercice 17 Soit l’exponentielle : 2 3 1 ... 1 2 ! 3 ! ! n x x x x x e n + + + + + Faire une fonction fact(n) qui renvoie n!. Faire une fonction puiss(x, n) qui renvoie xn . Ecrire une fonction récursive qui calcule la valeur approchée de ex en faisant appel aux fonctions fact et puiss. Exercice 18 Calculer par récursivité n nS 1 ... 4 1 3 1 2 1 1)( +++++= pour tout n>0. Exercice 19 Calculer par récursivité 12 1 )1(... 7 1 5 1 3 1 1)( + −++−+−= n nS n pour tout n>=0. Exercice 20 Écrire une fonction récursive qui permet de chercher le maximum dans un tableau T de n entiers. Écrire une fonction récursive qui permet de chercher le minimum dans un tableau T de n entiers. Exercice 21 Écrire une fonction récursive qui détermine la valeur la plus proche d'un entier m donné dans un tableau T de n entiers. Exercice 22 Écrire une fonction récursive qui teste l'existence d'un élément donné dans un tableau donné en utilisant une recherche séquentielle. Exercice 23 Écrire une fonction récursive qui teste l'existence d'un élément donné dans un tableau donné en utilisant une recherche dichotomique. Exercice 24 Écrire une procédure récursive qui permet de décaler tous les éléments d’un tableau d’une position à droite à partir de la position p. Exercice 25 Écrire une procédure récursive qui permet d’inverser les éléments d’une partie d’un tableau compris entre la position p et n.
  • 3. Page 3/5 Exercice 26 Écrire une procédure récursive qui permute les n éléments consécutifs deux à deux d’un tableau T. Exercice 27 Écrire une fonction récursive qui détermine la valeur maximale de deux entiers positifs sans utiliser < et >. Exercice 28 Soit une chaîne de caractères ; supposons qu'on veuille faire aussi bien la fonction que la procédure qui nous renvoie l'inverse de cette chaîne. Exercice 29 Écrire une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri par sélection. Exercice 30 Écrire une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri par insertion. Exercice 31 Écrire une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri à bulles. Exercice 32 Écrire une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri Shell. Exercice 33 Écrire une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri par fusion. Exercice 34 Ecrire une procédure récursive qui supprime toutes les occurrences d'un caractère donné d'une chaîne de caractère. Exercice 35 Écrire une fonction qui compte le nombre d’occurrences d’un caractère c dans une chaîne ch. Exercice 36 Écrire une fonction récursive qui calcule la somme des chiffres d'un nombre entier. Exercice 37 Écrire une fonction récursive qui détermine le nombre des chiffres d'un entier. Exercice 38 Deux mots sont des anagrammes si l’un est une permutation des lettres de l’autre. Par exemple les mots suivants sont des anagrammes : – aimer et maire – chien et niche Par définition, on considère que deux mots vides sont des anagrammes. Proposez une fonction récursive qui permet de savoir si deux mots sont des anagrammes. Exercice 39 Écrire une fonction récursive qui teste la présence d'un caractère dans une chaîne de caractère. Exercice 40 Écrire une fonction récursive nommée suppr_car qui permet de supprimer la première occurrence d'un caractère d'une chaîne.
  • 4. Page 4/5 Exercice 41 En utilisant les deux fonctions précédentes (teste et suppr_car), proposez une fonction récursive constructible qui permet de savoir si un mot est constructible à partir d'un ensemble de lettres. Le mot et l'ensemble de lettres sont représentés à l'aide d'une chaîne de caractères. Si une lettre apparaît deux fois dans le mot, il faut qu'elle apparaissent au moins deux fois dans l'ensemble de lettres. Par exemple : Constructible ("BONJOUR","BJNORUYZ") retournera faux (le 'O' n'apparaissant qu'une seule fois dans "BJNORUYZ") Constructible ("TRALALA","LLAAAAART") retournera vrai Constructible ("","ABC") retournera vrai Exercice 42 Le triangle de Pascal est le tableau des coefficients qui sont utilisés pour le développement de certaines expressions comme (a+b)² ou (a+b) n . Ce triangle est le suivant : 0 : 1 (a+b) 0 = 1 1 : 1 1 (a+b) 1 = 1a + 1b 2 : 1 2 1 (a+b) 2 = 1a 2 + 2ab + 1b 2 3 : 1 3 3 1 (a+b) 3 = 1a 3 + 3a 2 b + 3ab 2 + 1b 3 4 : 1 4 6 4 1 (a+b) 4 = 1a 4 + 4a 3 b + 6a 2 b 2 + 4ab 3 + 1b 4 Écrire une fonction récursive permettant de déterminer les valeurs du triangle pascal. Exercice 43 Écrire une fonction récursive MacCarthy qui calcule MacCarthy(n) selon la définition suivante : Si n>100 MacCarthy(n) = n-10 Si n≤100 MacCarthy(n) = MacCarthy( MacCarthy(n+11)) Exercice 44 Écrire une fonction récursive calculant la fonction d'Ackermann définie comme suit : n+1 si m = 0 ( , ) Ack (m-1, 1) si m > 0 et n = 0 Ack (m-1, Ack (m, n-1)) si m > 0 et n > 0 Ack m n ⎧ ⎪ = ⎨ ⎪ ⎩ Calculer Ack(0,3) et Ack(2,2) Exercice 45 Évaluation d’une chaîne de caractère Soit une chaîne de caractères du type s="5+123-4+67-2" ; Écrire une fonction récursive qui évalue cette chaîne de caractères. Exercice 46 Vers une mini-calculatrice Soit une chaîne de caractères du type s="5+3*4/2-5*3+4*7/2" ; faisons le programme qui évalue cette chaîne de caractères. Exercice 47 Écrire une procédure récursive qui affiche les combinaisons (les différentes permutations de n objets) d'une chaîne de caractères. Par exemple, les anagrammes des lettres de "abc" sont : "abc", "acb", "bac", "bca", "cab" et "cba".
  • 5. Page 5/5 Exercice 48 Écrire un programme permettant d'évaluer un nombre romain en son équivalant en décimal. Sachant que les chiffres romains : • M = 1000 • D = 500 • C = 100 • L = 50 • X = 10 • V = 5 • I = 1 On constate que les nombres s'arrêtaient aux milliers. Exemples d'écriture des nombres romains : • 4 s'écrit IV. • 6 s'écrit VI. • 9 s'écrit IX. • 15 s'écrit XV. • 47 s'écrit XLVII. • 149 s'écrit CXLIX (et non CIL, comme on pourrait le penser) On constate ici la décomposition 100+40+9 = C + XL + IX • 1490 s'écrit MCDXC = 1000 + 400 + 90 = M + CD + XC Exercice 49 Écrire un programme qui utilise une procédure récursive permettant d’afficher les caractères d’une chaîne sous la forme indiquée dans l’exemple suivant : Exemple : Soit la chaîne "TURBO" TURBO TURB TUR TU T Exercice 50 Écrire une fonction booléenne récursive qui teste si deux fichiers d’entiers sauvegardés sur disque dur, sont égaux ou non. Exercice 51 Écrire un programme qui utilise une fonction récursive pour trouver le plus petit nombre d’un fichier d’entiers sauvegardés sur disque dur, puis l’affiche à l’écran. Exercice 52 On considère la procédure suivante écrite en Pascal : Procedure P(n : integer); begin if (n>0) A) Pour n=5, la sortie de P(n) affiche 5 1 1. B) Pour n=5, la sortie de P(n) affiche 1 5 1. C) Pour n=7, la sortie de P(n) affiche 1 1 5. D) Pour n=9, la sortie de P(n) affiche 2 3 1. E) P(n) se termine pour toutes les valeurs entières de n. then begin P(n div 4); writeln(n); P(n div 3); end; end;