• Aucun résultat trouvé

Rappelssurleschaînesdecaractères Algorithmesopérantsurunestructuresé-quentielleparbouclesimbriquées(1)–TP

N/A
N/A
Protected

Academic year: 2022

Partager "Rappelssurleschaînesdecaractères Algorithmesopérantsurunestructuresé-quentielleparbouclesimbriquées(1)–TP"

Copied!
2
0
0

Texte intégral

(1)

ALGORITHMES OPÉRANT SUR UNE STRUCTURE SÉQUENTIELLE PAR BOUCLES IMBRIQUÉES(1) TP

Algorithmes opérant sur une structure sé- quentielle par boucles imbriquées (1) – TP

9

Rappels sur les chaînes de caractères

Définition 9.1

Leschaînes de caractères(string) permettent de manipuler du texte. Une chaîne de caractères se note entre guillemets (ou entre apostrophes, nous vous conseillons d’éviter les apostrophes).

Un caractère est une chaîne de caractères de longueur 1.

Python – Opérations sur les chaînes de caractères

1 # Affectation

2 chaine1 = "Ceci est une"

3 chaine2 = " chaîne de caractères"

4 # Extraction

5 chaine1[5]

6 chaine2[-2]

7 chaine1[3:7]

8 # Répétition

9 2*chaine1

10 # Concaténation

11 chaine1 + chaine2

12 # Longueur

13 len(chaine1)

14 # Egalité de deux chaînes

15 # (dans ce TP nous ne nous autoriserons qu'à tester l'égalité de deux caractères)

16 chaine1 == chaine2

17 # Chaîne vide

18 ch = ""

19 # Test d'appartenance à une chaîne de caractères (nous ne l'utiliserons pas dans ce TP !)

20 "b" in "abc"

21 "d" in "abc"

22 "abra" in "abracadabra"

23 "aa" in "abracadabra"

Les chaînes de caractères sont immuables (on ne peut pas modifier un caractère en particulier dans une chaîne de caractères).

Attention

Python – Opérations sur les chaînes de caractères

1 >>> chaine = "Bonjonr"

2 >>> chaine[5] = "u"

3 Traceback (most recent call last):

4 File "<console>", line 1, in <module>

5 TypeError: 'str' object does not support item assignment

G. BOUTARD 1 Lycée GAY-LUSSAC

(2)

TP ALGORITHMES OPÉRANT SUR UNE STRUCTURE SÉQUENTIELLE PAR BOUCLES IMBRIQUÉES(1)

Exercice

L’objectif de cet exercice est de déterminer le nombre d’apparition d’une chaîne de caractères dans un texte. C’est ce qui se passe quand on cherche un texte sur une page Web par exemple (en général, le raccourci clavierCtrl+F).

On considère une chaîne de caractèrestexteet une autre appeléemotif.

1. Écrire une fonctionchainesEgales(chaine1,chaine2)qui renvoie le booléenTrue si les deux chaînes de caractères sont identiques et qui renvoieFalsedans le cas contraire. Seules les comparaisons entre caractères sont autorisées.

2. En supposant les chaîneschaine1etchaine2de même longueurm, compter le nombre maximum de compa- raisons de caractères effectué.

3. La fonction suivanteoccurence(texte,motif)prend en paramètres deux chaînes de caractères et renvoie le nombre de fois oùmotifapparaît danstexte.

Python –occurence(texte,motif)

1 def occurence(texte,motif):

2 '''

3 Entrée : deux chaînes de caractères

4 Sortie : nombre de fois où motif apparaît dans texte.

5 '''

6 compteur = 0

7 ltexte = len(texte)

8 lmotif = len(motif)

9 for i in range(ltexte - lmotif + 1):

10 extrait = texte[...]

11 # A compléter

12

13 return compteur

4. En supposant la chaînetextede longueurnet la chaînemotifde longueurm, avecnÊm, compter le nombre maximum de comparaisons de caractères effectué. Étudier le cas oùn<m.

5. Écrire une fonctionestDans(texte,motif)qui renvoieTruesi la chaînemotifest dans la chaînetexteet Falsesinon.

PCSI 2021 – 2022 2 G. BOUTARD

Références

Documents relatifs

8-10 : la méthode .extend() ajoute en bout de liste tous les éléments de la liste passée en argument ; liste a alors trois éléments?. Dans les exemples qui suivent, on crée de

• Ecrire la m´ ethode r´ ecursive “public String reverse(String s)” qui renvoie la chaine s ´ ecrite en sens inverse.. En d´ eduire une version it´ erative de la m´

(a) Écrire une fonction Est_ancetre qui prend en entrée deux espèces et qui renvoie True si la première espèce est ancêtre de la seconde, et False sinon.. (b) Écrire une

[r]

Écrire une fonction bienPlace(chaine1,chaine2) qui prend en paramètres deux chaînes de caractères et renvoie le nombre de caractères situés à la même position dans chaine1

En C++, les chaînes de caractères sont stockées dans des variables de type string : string prenom = &#34;Robert&#34;; // string pour les chaînes de caractères.. Les chaînes

(e) Écrire une fonction jeu() qui définit une chaine de caractères secrete en utili- sant la fonction combinaison_aleatoire , appelle la fonction saisie , affiche le nombre

Il est possible d’obtenir la longueur d’une chaine : len(mot) renvoie le nombre de caractères contenu dans le mot.. chaine1 in chaine2 renvoie vrai si chaine1