[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]
Archives du 10 octobre 2016
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]
M1102-TD4 Exercie3 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
fonction ComptCarac (Caract : in caractere,
Chaine : in string) renvoie entier_naturel
debut
declarer Cpt : entier_naturel;
Cpt <- 0;
declarer Pos : entier_naturel;
Pos <- 0;
boucle
Pos <- TrouveCarDansStr (Caract, Chaine, Pos);
si (Pos vaut taille (Chaine)) sortie;
Cpt <- Cpt + 1;
Pos <- Pos + 1;
fboucle
renvoie Cpt;
fin
algorithme TestComptCarac
debut
declarer Str : string;
Str <- “Salut ca va?”;
afficher (“debut”);
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]
M1102-TD4 Exercie4 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
fonction ComptCarac (Caract : in caractere,
Chaine : in string) renvoie entier_naturel
debut
declarer Cpt : entier_naturel;
Cpt <- 0;
declarer Pos : entier_naturel;
Pos <- 0;
boucle
Pos <- TrouveCarDansStr (Caract, Chaine, Pos);
si (Pos vaut taille (Chaine)) sortie;
Cpt <- Cpt + 1;
Pos <- Pos + 1;
fboucle
renvoie Cpt;
fin
algorithme ComptagePetitEnsemble
debut
declarer KStrVoy : constante string <- “aeiouy”;
declarer TabCpt : tableau_de taille (KStrVoy) entier_naturel;
declarer Chaine : string;
afficher (“Veuillez saisir une chaine de caractères : “);
saisir (Chaine);
//comptage
pour (i variant_de 0 a taille (KStrVoy) -1)
faire
TabCpt [i] <- ComptCarac (KStrVoy [i], Chaine);
ffaire
//nb total d’occurence
declarer Somme : entier_naturel;
Somme <- 0;
pour (i variant_de 0 a taille (TabCpt) – 1)
faire
Somme <- Somme + TabCpt [i];
ffaire
//affichage final
pour (i variant_de 0 a taille (KStrVoy) -1)
faire
afficher (“Le caractère “, KStrVoy [i], ” apparait “, TabCpt [i], ” fois en absolu et “, TabCpt [i]*100 / Somme, “% en relatif”);
ligne_suivante;
ffaire
fin
[/Algo]