Vous êtes sur la page 1sur 3

Alogorithmique 2

TALGORITHMIQUE ET
STRUCTURES DE DONNEES
Exercices Récursivité et enregistrements

Exercice 1 :
Ecrire une procédure itérative et une procédure récursif qui affiche tout le contenu d'un
tableau T de taille n.

PROCEDURE Affiche_Rec (Tab[1000] :entier, n, i: entier)


Var
Debut
si (i<=n)
Ecrire (Tab[i])
affiche (Tab,n,i+1)
fsi

Fin

Exercice 3 :
Transformer en sous-programme récursif : Module de calcul de l'occurrence (nombre
d'apparitions) d’un entier X dans un tableau T de taille n.

nb_occ (T[1000] :entier, n, x,i: entier) : entier

Var
Res : entier
Debut
si (i<=n)
si (T[i]=x)
retouner 1+nb_Occ(T, n, x,i+1)
sinon
retouner nb_Occ(T, n, x,i+1)
fsi
fsi
Fin

Page 1
Alogorithmique 2

Exercice 4 :

Fonction palindrome (mot[1000] : car , i , j : entier)

Début
si i ≥ j alors
retourner (VRAI)
sinon
retourner (mot[i] = mot[j] et palindrome(mot, i + 1, j – 1))
fsi

Fin

Exercice 5 :
Ecrire un algorithme qui lit deux nombres complexes C1 et C2 et qui affiche ensuite leur
somme et leur produit.

Sachant que : (a+bi)+(c+di)=(a+c)+(b+d)i (a+bi)*(c+di)=(ac-bd)+(ad+bc)i


complexe = Enregistrement
Re: entier
Img: entier
Fin Enregistrement

Var
z, z1, z2: complexe

Debut

Ecrire("Taper le 1re nombre: ")


Lire(z1.Re, z1.Img)
Ecrire("Taper le 2eme nombre: ")
Lire(z2.Re, z2.Img)

z.Re = z1.Re + z2.Re


z.Img = z1.Img + z2.Img

Ecrire("La somme est: ", z.Re, " + ", z.Img, " i");

Fin

Page 2
Alogorithmique 2

Exercice 6 :
On souhaite gérer les notes d’un étudiant. Pour cela on va définir la structure « Etudiant »
dont les champs sont :

Champ Type
Nom Chaîne
Prénom Chaîne
Note Tableau de 4 éléments
Moyenne Réel

 Ecrire l’algorithme qui permet de lire les informations d’un étudiant (nom, prénom et
notes), de calculer sa moyenne et d’afficher à la fin un message sous la forme suivante
:

« La moyenne de l’étudiant Alami Ali est : 15.25 »

où « Alami » et « Ali » sont les noms et prénoms lus et 15.25 est la moyenne calculée.

 Modifier l’algorithme l’exercice de façon que l’on puisse gérer les notes de 20
étudiants.

Exercice 7 :
Définir un enregistrement Personne contenant un identificateur unique (dans notre cas
simplifié, il s’agira d’un numéro), l’âge, la taille et le sexe d’une personne.

On enregistre les informations de 100 personnes, puis on détermine :

– la personne la plus petite,

– la personne la plus grande,

– la plus jeune et la plus âgée,

Afficher toutes les caractéristiques des personnes trouvées.

Exercice 8 :
Définir un enregistrement Date contenant le jour, le mois et l’année. Saisir deux dates (on
supposera qu’il s’agit de dates valides) et afficher si la première date est antérieure ou
postérieure à la seconde.

Page 3

Vous aimerez peut-être aussi