Série TD 02 - Fonction + Récursivité

Download Report

Transcript Série TD 02 - Fonction + Récursivité

Université Ibn Zohr
Faculté des Sciences d’Agadir
Filières : SMI3
Matière : Algorithmique-2
Année : 2014 / 2015
Séance de TD
Fonctions
Exercice 1:
• Ecrire une fonction length() qui prend en paramètre une chaine de caractère et qui retourne sa longueur.
• Ecrire un programme qui lit deux chaines de caractères et qui concatène la plus courte à la plus grande.
Exercice 2:
• Ecrire une fonction qui converti un entier décimal en binaire.
• Ecrire une fonction qui retourne le nombre de bits nécessaire pour coder un entier positif n en
binaire.
Exercice 3:
• Ecrire une fonction qui retourne la valeur 1 si un tableau T, de taille N, passé en argument est trié,
sinon retourne la valeur 0.
• Ecrire une procédure qui retourne la valeur 1 si une matrice M, de taille NxN, passée en paramètre
est symétrique et retourne la valeur 0 sinon.
Exercice 4:
• Ecrire une fonction : ^ char recherche_inv_chr(chaine ch,caractère c) qui retourne
un pointeur vers la dernière occurrence du caractère c dans la chaine ch (s’il existe).
• Ecrire un programme qui :
o lit une chaine de caractère cha et un caractère cc
o donne la position de la dernière occurrence de cc dans cha
o affiche la chaine différence: qui commence par cc
Ex : si cha = « abcaefg » et cc = ‘a’, le programme affiche « aefg »
Exercice 5:
Soit T un tableau d’entier de taille N. Ecrire une fonction qui copie toutes les composantes strictement
positives de T dans un tableau TPOS et toutes les valeurs strictement négatives dans un tableau TNEG.
Exercice 6:
• Ecrire la fonction length_rec, la version récursive de la fonction length vue à l’exercice 1.
• Ecrire une fonction nbr_occ_rec qui possède en paramètre une chaine de caractères ch et un
caractère car et qui retourne le nombre d’occurrences de car dans ch.
• Ecrire une fonction récursive qui teste l'égalité entre deux tableaux d'entiers (de même taille n) : elle
rend 1 si les deux tableaux sont identiques et 0 sinon.
Exercice 7:
Ecrire une fonction récursive compar_chaine_rec qui compare (en terme de code ASCII) une chaine ch1 à
une chaine ch2 et qui retourne :
• -1 si ch1 est plus petite
• 1 si ch1 est plus grande
• 0 si identité des chaines
Exercice 8
Ecrire une fonction récursive permettant de calculer xn pour x réel et n entier naturel. La solution est elle
optimale ?
Page 1 / 1