M1102-TD4 Exercice1

Ecrire la fonction TrouveCarDansStr () de profil :
[Algo]fonction TrouveCarDansStr (Caract : in caractere,
Chaine : in string,
Debut : in entier_naturel) renvoie entier_naturel;
[/Algo]
Cette fonction renvoie l’indice de la première occurrence de Caract dans Chaine, à partir de l’indice Debut. Si Caract n’a pas été trouvé, la fonction renvoie la taille de Chaine.

M1102-TD4 Exercie1 Corrigé

[Algo]
fonction TrouveCarDansStr (Caract : in caractere,
Chaine : in string,
Debut  : in entier_naturel) renvoie entier_naturel
debut
declarer i : entier_naturel;
i <- Debut;
tant_que (i != taille(Chaine) ET_ALORS Caract ne_vaut_pas Chaine [i])
faire
i <- i +1;
ffaire
renvoie i;
fin

algorithme TestDeTrouveCarDansStr
debut
declarer Str : string;
Str <- "Salut ca va?";

afficher (TrouveCarDansStr ('a', Str, 0));
ligne_suivante;
afficher (TrouveCarDansStr ('a', Str, 3));
ligne_suivante;
afficher (TrouveCarDansStr ('a', Str, 6));
ligne_suivante;
afficher (TrouveCarDansStr ('b', Str, 6));
ligne_suivante;
fin
[/Algo]

M1102-TD4 Exercice2

Le but de cet exercice est d’afficher le nombre d’occurrences d’un caractère dans une chaîne de caractères. Pour cela :

  • écrire la fonction ComptCaract() qui compte le nombre d’occurrences d’un caractère passé en paramètre, dans une chaîne de caractères passées également en paramètre ; pour cela, parcourir la chaîne caractère par caractère et incrémenter le nombre d’occurrence quand il le faut ;
  • écrire l’algorithme qui teste cette fonction.

M1102-TD4 Exercie2 Corrigé

[Algo]
fonction ComptCarac (Caract : in caractere,
Chaine : in string) renvoie entier_naturel
debut
declarer Cpt : entier_naturel;
Cpt <- 0;

pour (i variant_de 0 a taille (Chaine) -1)
faire
si (Caract vaut Chaine [i])
Cpt <- Cpt + 1;
fsi
ffaire

renvoie Cpt;
fin

algorithme TestComptCarac
debut
declarer Str : string;
Str <- “Salut ca va?”;

afficher (“on trouve “, ComptCarac (‘a’, Str), ” fois la lettre ‘a’ dans “, Str);
ligne_suivante;
afficher (“on trouve “, ComptCarac (‘b’, Str), ” fois la lettre ‘b’ dans “, Str);
ligne_suivante;
fin
[/Algo]