SlideShare uma empresa Scribd logo
1 de 23
Les chaines de Caractères
Chapitre 5
Algorithmique et Programmation
Le type caractère
Le type chaîne de caractères
Procédures et fonctions standards sur les chaînes
2
Plan
3
Le type caractère
Ce type s’applique à tous les caractères du
code ASCII (American Standard Code for Information Interchange).
La liste comprend :
 Les lettres : 'A' .. 'Z‘, ’a’.. ‘z'
 Les chiffres : ”0”..”9”
 Les caractères spéciaux : ”/” ; ”*” ; ”?” ; ”&” ; etc.
 Les caractères de contrôle : <Echap> ; etc.
 Chaque caractère est défini par son numéro d’ordreuniquecompris entre 0 et 255
4
Le type caractère
5
Fonction Rôle Exemple
Asc(c) retourne le code ASCII du caractèrec
Car(i) retourne le caractère dont le code ASCIIest
égal à i.
Succ(c) retourne le successeur du caractère c
i ← Asc(”A”)
i contiendra65
c ← Car(65)
c contiendra”A”
c ← Succ(”a”)
c contiendra”b”
Pred(c) retourne le prédécesseur du caractère c c ← Pred(”b”)
c contiendra”a”
Majus(c) retourne le majuscule du caractèrec c ← Majus(”a”)
c contiendra”A”
Fonctions standards sur les caractères
 Exemple :
6
Algorithme Carac
Variables
c : Caractère
Début
Ecrire(”Entrer un caractère: ”) Lire(c)
Ecrire(pred(c))
Ecrire(succ(c))
Ecrire(asc(majus(c)))
Fin
 Ecrire un algorithme qui lit un caractère au clavier puis affiche son prédécesseur, son
successeur et lecode ASCII de son équivalent en majuscule.
Exemple
 Que fait l’algorithme suivant :
Algorithme Exercice
Variables
c1 , c2 : Caractère
Début
Ecrire(”Entrer un caractère: ”)
Lire(c1)
Si (asc(c1) >= 97) et (asc(c1) <= 122) Alors
c2 ←car(asc(c1) - 32)
Sinon
c2 ←c1
FinSi
Ecrire(c2)
Fin
7
 Cet algorithme lit un caractère puis affiche son équivalent en majuscule.
Exercice
8
Ecrire un algorithme qui affiche une table ASCII des lettres minuscules sous la forme
suivante :
Algorithme Table_minus
Variables
c : Caractère
Début
Pour c de ”a” à ”z” Faire
Ecrire(”Le code ASCII de ”,c, ” est ”,asc(c))
FinPour
Fin
Le code ASCII de a est 97
Le code ASCII de b est 98
…..
Le code ASCII de z est 122
Exercice
 Ecrire un algorithme qui lit une lettre au clavier puis affiche s’il s’agit
d’une consonne ou d’unevoyelle.
9
Remarque : les voyelles sont : ”A” ; ”a”
”U” ; ”u” ; ”Y” ; ”y ”.Dans cet algorithme, il est
est d’obliger l’utilisateur à entrer une lettre.
; ”E” ; ”e” ; ”I” ; ”i”; ”O” ; ”o” ;
préférable d’utiliser la bouclerépéter
Algorithme Cons_Voy
Variables
c : Caractère
Début
Répéter
Ecrire(”Entrer un caractère : ”) Lire(c)
Jusqu’à (c >= ”A” et c<=”Z”) ou (c>= ”a”et c <= ”z”)
Si (Majus(c)=”A”) ou (Majus(c)=”E”) ou(Majus(c)=”I”) ou (Majus(c)=”O”) ou
(Majus(c)=”U”) ou(Majus(c)=”Y”) Alors
Ecrire(c, ” est une voyelle”)
Sinon Ecrire(c, ” est une consonne”)
FinSi
Fin
Exercice
10
Le type chaine de caractères
Une chaîne est une suite de caractères. La chaîne ne contenant aucun
caractère est appelée chaîne vide.
Déclaration :
Variables
c : Caractère
ch : Chaîne
chn : Chaîne[20]
La variable ch peut contenir jusqu’à 255 caractères alors que chn peut
contenir au maximum 20.
Opérations sur les chaînes de caractères:
11
chn1 ←``turbo’’
chn2 ←``C’’
chn3 ←chn1+``’’+chn2
La variable chn3 contiendra ``Turbo C’’
La concaténation: C’est l’assemblage de deux chaînes de caractères en utilisant
l’opérateur ``+’’.
Exemple:
Le type chaine de caractères
 les opérateurs relationnels (>, >=, <, <=, =, <>)
12
Il est possible d’effectuer
caractères, le résultat est
une comparaison entre deux chaînes de
de type booléen. La comparaison se fait
caractère par caractère de la gauche vers la droite selon le code ASCII.
 Exemple:
 L’expression (``a’’>``A’’) est vraie puisque le code ASCII de ‘’a’’
supérieur à celui de ``A’’(65).
(97) est
 L’expression (``programme’’<programmation) est fausse puisque ‘’e’’>’’a’’.
L’expression (``’’ = `` ‘’) est fausse (le vide est différent du caractère espace).
 Accès à un caractère dans une chaîne:
Pour accéder à un caractère de la chaîne, il suffit d’indiquer le nom de la chaîne suivi
d’un entier entre crochets qui indique la position du caractère dans la chaîne
 Exemple:
 chn ← ``Turbo C’’
 c ← chn[7]
 La variable c contiendra le caractère ``C’’. En général, ch[i] désigne le ième
caractère de la chaîne ch.
Le type chaine de caractères
13
Longueur de la chaîne : le nombre de caractères
situés entre les deux guillemets qui délimitent la
chaîne.
Long(ch)
Exemple : Long("Bonjour") =>7
Concaténation de chaînes.
Concat (ch1, ch2, …, chN)
Exemple : Concat("Bonjour"," A ", "Tous")
=>"Bonjour A Tous"
Extraction d’une sous chaîne d’une longueur nb à
partir de la position p dans la chaîne ch.
Sous_chaîne (ch, p, nb)
Exemple: Sous_chaîne ("Bonjour",1,3) => "Bon"
Recherche de la position de la chaîne ch1 dans la
chaîne ch2.
Pos (ch1, ch2)
Exemples: Pos("Bon","Bonjour") =>1
Pos("j","Bonjour") =>4
Effacement de n caractères de la chaîne ch à
partir de la position p.
Efface (ch, p, n)
Exemple: Efface ("Bonjour",1,3) => "jour"
Insertion de la chaîne ch1 dans la chaîne ch2 à
partir de la position p.
Insére (ch1, ch2, p)
Exemple: Efface ("jour","Bon",4) => "Bonjour"
Conversion d’un nombre décimal d en chaîne de
caractères et l’affecte à la variable ch1.
Convch (d, ch1)
Exemple: Convch (2003,ch) => "2003"
Conversion d’une chaîne ch1 en une valeur
numérique décimale et l’affecte à la variable d.
Valeur (ch, d, erreur)
Exemple: Valeur ("12.50",d, e) => d contient 12.50
et e contient0.
Copie de N caractères de chaîne Ch à partir de la
position P donnée.
Copie(Ch,P,N)
Exemple : ch1← ``Turbo C’’
ch2←Copie(ch1,1,5)
ch2 contiendra``Turbo’’
Fonctions standards sur les chaines
 Ecrire un algorithme « Palind » qui lit une chaîne de caractères et vérifie si
cette chaîne est un palindrome ou non.
Remarque : Un palindrome est un mot qui peut être lu indifféremment de
droite à gauche ou de gauche à droite
(Exemples :”LAVAL”, ”RADAR”, ”2002”, etc.)
14
Exercice
15
AlgorithmePalind
Variables
ch : Chaîne
i, L : Entier
Pal : Booléen
Début
Ecrire(”Entrer une chaîne non vide : ”) Lire(ch)
L ←long(ch)
Pal ←Vrai
i ←1
TantQue (i <= L/2) et (Pal) Faire
Si (ch[i] = ch[L-i+1]) Alors
i ←i + 1
Sinon
Pal ←Faux
FinSi
FinTQ
Si (Pal) Alors
Ecrire(ch, ” est un palindrome”)
Sinon
Ecrire(ch, ” n’est pas un palindrome”)
FinSi
Fin
16
17
Application 1 : Ecrire un algorithme qui lit une chaîne de caractères puis affiche son
inverse.
Exemple : Si la chaîne entrée est ”algo”, l’algorithme doit afficher ”ogla”.
Application2 : Ecrire un algorithme qui lit une chaîne de caractères et renvoie son
équivalent en majuscules.
Application 3 : Ecrire un algorithme qui permet de compter le nombre de mots dans
une phrase. La phrase commence obligatoirement par une lettre et les mots sont
séparés par des espaces.
Application 4 : Ecrire un algorithme qui détermine et affiche le mot le plus long dans
une phrase donnée
Application 5 : Ecrire un algorithme qui lit :
 Un mot (chaîne de caractères formée uniquement de lettres)
 Une lettre puis affiche le nombre d’apparitions de la lettre dans le mot.
Application 6 : Ecrire un algorithme qui lit un entier positif puis affiche son
équivalent en binaire (base 2).
Exemple : (23)10 =(10111)2
Algorithme inverse
Variables
i, L : Entier
ch1, ch2 : Chaîne
Début
Ecrire(”Entrer une chaîne : ”) Lire(ch1)
L ←Long(ch1)
ch2 ←””
Pour i de 1 à L Faire
ch2 ←ch1[i] + ch2
FinPour
Ecrire(”Inverse de la chaîne = ”,ch2)
Fin.
18
Algorithme Majuscule
Variables
i, L : Entier
ch1, ch2 : Chaîne
Début
Ecrire(”Entrer une chaîne : ”) Lire(ch1)
L ←Long(ch1)
ch2 ←””
Pour i de 1 à L Faire
ch2 ←ch2 + Majus(ch1[i])
FinPour
Ecrire(”Chaîne en majuscule = ”,ch2)
Fin.
19
Algorithme Comptage_Mots
Variables
i, L, nb_mot : Entier
phrase : Chaîne
Début
Ecrire(”Entrer une phrase non vide : ”)Lire(phrase)
L ←Long(phrase)
nb_mot ←1
Pour i de 1 à L Faire
Si (phrase[i] = ” ”)Alors
nb_mot ←nb_mot + 1
FinSi
FinPour
Ecrire(”Nombre de mots = ”,nb_mot)
Fin.
20
Algorithme Plus_Long_Mot
Variables
i, j, L : Entier
phrase, mot, motpl : Chaîne
Début
Ecrire(”Entrer une phrase : ”) Lire(phrase)
L ←Long(phrase)
motpl ←””
i ←1
TantQue (i <= L) Faire
mot ←””
j ←i
TantQue ((j <= L) et (phrase[j] <> ” ”)) Faire
mot ←mot + phrase[j]
j ←j + 1
FinTQ
Si (long(mot) > long(motpl))Alors
motpl ←mot
FinSi
i ←j + 1
FinTQ
Fin
Ecrire(”Le mot le plus long est =”,motpl) 21
Algorithme fréquence
Variables
i, L, nb : Entier
mot : Chaîne
lettre : Caractère
Début
Ecrire(”Entrer un mot : ”) Lire(mot)
Ecrire(”Entrer une lettre : ”) Lire(lettre)
L ←Long(mot)
nb ←0
Pour i de 1 à L Faire
Si (mot[i] = lettre) Alors
nb ←nb + 1
FinSi
FinPour
Ecrire(lettre,” apparaît ”,nb, ” fois dans ”,mot)
Fin.
22
Algorithme Decimal_Binaire
Variables
i, n, quotient, reste : Entier
c : Caractère
equiv : Chaîne
Début
Ecrire(”Entrer votre entier : ”) Lire(n)
equiv ←””
TantQue (n <> 0) Faire
reste ←n Mod 2
convch(reste,c)
equiv ←c + equiv
n ←n Div 2
FinTQ
Ecrire(”Nombre binaire équivalent = ”,equiv)
Fin.
23

Mais conteúdo relacionado

Mais procurados

Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivitéSana Aroussi
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en PythonABDESSELAM ARROU
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)rezgui mohamed
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielleECAM Brussels Engineering School
 
Fonctions chaine
Fonctions chaineFonctions chaine
Fonctions chaineAfef Ilahi
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: MatriceInforMatica34
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018salah fenni
 
Coursalgorithmique
CoursalgorithmiqueCoursalgorithmique
Coursalgorithmiquenicodeff
 
Algorithmes d'approximation
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximationmohamed_SAYARI
 
Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap IInes Ouaz
 
Merise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMerise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMajid CHADAD
 

Mais procurados (20)

01 correction-td smia-s2-info2
01 correction-td smia-s2-info201 correction-td smia-s2-info2
01 correction-td smia-s2-info2
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielle
 
Sql3
Sql3Sql3
Sql3
 
Les enregistrements
Les enregistrements Les enregistrements
Les enregistrements
 
Programmation en C
Programmation en CProgrammation en C
Programmation en C
 
Récursivité
RécursivitéRécursivité
Récursivité
 
Fonctions chaine
Fonctions chaineFonctions chaine
Fonctions chaine
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: Matrice
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Les listes en Python
Les listes en PythonLes listes en Python
Les listes en Python
 
Coursalgorithmique
CoursalgorithmiqueCoursalgorithmique
Coursalgorithmique
 
Algorithmes d'approximation
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximation
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap I
 
Merise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMerise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigés
 

Semelhante a Chapitre5 les chaînes de caractères - Copy.pptx

ch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdfch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdfFadouaBouafifSamoud
 
Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)salah fenni
 
cours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'applicationcours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'applicationkamalomari2
 
Chapitre 2: String en Java
Chapitre 2:  String en JavaChapitre 2:  String en Java
Chapitre 2: String en JavaAziz Darouichi
 
Seance 4- Programmation en langage C
Seance 4- Programmation en langage CSeance 4- Programmation en langage C
Seance 4- Programmation en langage CFahad Golra
 
Développement informatique : Chaines de caractères et expressions regulières
Développement informatique : Chaines de caractères et expressions regulièresDéveloppement informatique : Chaines de caractères et expressions regulières
Développement informatique : Chaines de caractères et expressions regulièresECAM Brussels Engineering School
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniShellmates
 
Cours_chaine_de_caracteres_STR_Python.pdf
Cours_chaine_de_caracteres_STR_Python.pdfCours_chaine_de_caracteres_STR_Python.pdf
Cours_chaine_de_caracteres_STR_Python.pdfABDESSELAM ARROU
 
Chapitre 10 - Les chaines de characteres.pdf
Chapitre 10 - Les chaines de characteres.pdfChapitre 10 - Les chaines de characteres.pdf
Chapitre 10 - Les chaines de characteres.pdfShiniGami0o0
 

Semelhante a Chapitre5 les chaînes de caractères - Copy.pptx (20)

ch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdfch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdf
 
1763685
17636851763685
1763685
 
Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)
 
algorithmique
algorithmiquealgorithmique
algorithmique
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
cours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'applicationcours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'application
 
Chapitre 2: String en Java
Chapitre 2:  String en JavaChapitre 2:  String en Java
Chapitre 2: String en Java
 
Seance 4- Programmation en langage C
Seance 4- Programmation en langage CSeance 4- Programmation en langage C
Seance 4- Programmation en langage C
 
Développement informatique : Chaines de caractères et expressions regulières
Développement informatique : Chaines de caractères et expressions regulièresDéveloppement informatique : Chaines de caractères et expressions regulières
Développement informatique : Chaines de caractères et expressions regulières
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
 
chapitre1.ppt
chapitre1.pptchapitre1.ppt
chapitre1.ppt
 
Chapitre1
Chapitre1Chapitre1
Chapitre1
 
5e8a000b9840a.pdf
5e8a000b9840a.pdf5e8a000b9840a.pdf
5e8a000b9840a.pdf
 
Cours_chaine_de_caracteres_STR_Python.pdf
Cours_chaine_de_caracteres_STR_Python.pdfCours_chaine_de_caracteres_STR_Python.pdf
Cours_chaine_de_caracteres_STR_Python.pdf
 
Theme 6
Theme 6Theme 6
Theme 6
 
Chapitre 10 - Les chaines de characteres.pdf
Chapitre 10 - Les chaines de characteres.pdfChapitre 10 - Les chaines de characteres.pdf
Chapitre 10 - Les chaines de characteres.pdf
 
Le langage C
Le langage CLe langage C
Le langage C
 
Chapitre 2
Chapitre 2Chapitre 2
Chapitre 2
 
Chaines cours exo
Chaines cours exoChaines cours exo
Chaines cours exo
 

Último

COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...Faga1939
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxRayane619450
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfssuserc72852
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 

Último (13)

COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 

Chapitre5 les chaînes de caractères - Copy.pptx

  • 1. Les chaines de Caractères Chapitre 5 Algorithmique et Programmation
  • 2. Le type caractère Le type chaîne de caractères Procédures et fonctions standards sur les chaînes 2 Plan
  • 4. Ce type s’applique à tous les caractères du code ASCII (American Standard Code for Information Interchange). La liste comprend :  Les lettres : 'A' .. 'Z‘, ’a’.. ‘z'  Les chiffres : ”0”..”9”  Les caractères spéciaux : ”/” ; ”*” ; ”?” ; ”&” ; etc.  Les caractères de contrôle : <Echap> ; etc.  Chaque caractère est défini par son numéro d’ordreuniquecompris entre 0 et 255 4 Le type caractère
  • 5. 5 Fonction Rôle Exemple Asc(c) retourne le code ASCII du caractèrec Car(i) retourne le caractère dont le code ASCIIest égal à i. Succ(c) retourne le successeur du caractère c i ← Asc(”A”) i contiendra65 c ← Car(65) c contiendra”A” c ← Succ(”a”) c contiendra”b” Pred(c) retourne le prédécesseur du caractère c c ← Pred(”b”) c contiendra”a” Majus(c) retourne le majuscule du caractèrec c ← Majus(”a”) c contiendra”A” Fonctions standards sur les caractères
  • 6.  Exemple : 6 Algorithme Carac Variables c : Caractère Début Ecrire(”Entrer un caractère: ”) Lire(c) Ecrire(pred(c)) Ecrire(succ(c)) Ecrire(asc(majus(c))) Fin  Ecrire un algorithme qui lit un caractère au clavier puis affiche son prédécesseur, son successeur et lecode ASCII de son équivalent en majuscule. Exemple
  • 7.  Que fait l’algorithme suivant : Algorithme Exercice Variables c1 , c2 : Caractère Début Ecrire(”Entrer un caractère: ”) Lire(c1) Si (asc(c1) >= 97) et (asc(c1) <= 122) Alors c2 ←car(asc(c1) - 32) Sinon c2 ←c1 FinSi Ecrire(c2) Fin 7  Cet algorithme lit un caractère puis affiche son équivalent en majuscule. Exercice
  • 8. 8 Ecrire un algorithme qui affiche une table ASCII des lettres minuscules sous la forme suivante : Algorithme Table_minus Variables c : Caractère Début Pour c de ”a” à ”z” Faire Ecrire(”Le code ASCII de ”,c, ” est ”,asc(c)) FinPour Fin Le code ASCII de a est 97 Le code ASCII de b est 98 ….. Le code ASCII de z est 122 Exercice
  • 9.  Ecrire un algorithme qui lit une lettre au clavier puis affiche s’il s’agit d’une consonne ou d’unevoyelle. 9 Remarque : les voyelles sont : ”A” ; ”a” ”U” ; ”u” ; ”Y” ; ”y ”.Dans cet algorithme, il est est d’obliger l’utilisateur à entrer une lettre. ; ”E” ; ”e” ; ”I” ; ”i”; ”O” ; ”o” ; préférable d’utiliser la bouclerépéter Algorithme Cons_Voy Variables c : Caractère Début Répéter Ecrire(”Entrer un caractère : ”) Lire(c) Jusqu’à (c >= ”A” et c<=”Z”) ou (c>= ”a”et c <= ”z”) Si (Majus(c)=”A”) ou (Majus(c)=”E”) ou(Majus(c)=”I”) ou (Majus(c)=”O”) ou (Majus(c)=”U”) ou(Majus(c)=”Y”) Alors Ecrire(c, ” est une voyelle”) Sinon Ecrire(c, ” est une consonne”) FinSi Fin Exercice
  • 10. 10 Le type chaine de caractères
  • 11. Une chaîne est une suite de caractères. La chaîne ne contenant aucun caractère est appelée chaîne vide. Déclaration : Variables c : Caractère ch : Chaîne chn : Chaîne[20] La variable ch peut contenir jusqu’à 255 caractères alors que chn peut contenir au maximum 20. Opérations sur les chaînes de caractères: 11 chn1 ←``turbo’’ chn2 ←``C’’ chn3 ←chn1+``’’+chn2 La variable chn3 contiendra ``Turbo C’’ La concaténation: C’est l’assemblage de deux chaînes de caractères en utilisant l’opérateur ``+’’. Exemple: Le type chaine de caractères
  • 12.  les opérateurs relationnels (>, >=, <, <=, =, <>) 12 Il est possible d’effectuer caractères, le résultat est une comparaison entre deux chaînes de de type booléen. La comparaison se fait caractère par caractère de la gauche vers la droite selon le code ASCII.  Exemple:  L’expression (``a’’>``A’’) est vraie puisque le code ASCII de ‘’a’’ supérieur à celui de ``A’’(65). (97) est  L’expression (``programme’’<programmation) est fausse puisque ‘’e’’>’’a’’. L’expression (``’’ = `` ‘’) est fausse (le vide est différent du caractère espace).  Accès à un caractère dans une chaîne: Pour accéder à un caractère de la chaîne, il suffit d’indiquer le nom de la chaîne suivi d’un entier entre crochets qui indique la position du caractère dans la chaîne  Exemple:  chn ← ``Turbo C’’  c ← chn[7]  La variable c contiendra le caractère ``C’’. En général, ch[i] désigne le ième caractère de la chaîne ch. Le type chaine de caractères
  • 13. 13 Longueur de la chaîne : le nombre de caractères situés entre les deux guillemets qui délimitent la chaîne. Long(ch) Exemple : Long("Bonjour") =>7 Concaténation de chaînes. Concat (ch1, ch2, …, chN) Exemple : Concat("Bonjour"," A ", "Tous") =>"Bonjour A Tous" Extraction d’une sous chaîne d’une longueur nb à partir de la position p dans la chaîne ch. Sous_chaîne (ch, p, nb) Exemple: Sous_chaîne ("Bonjour",1,3) => "Bon" Recherche de la position de la chaîne ch1 dans la chaîne ch2. Pos (ch1, ch2) Exemples: Pos("Bon","Bonjour") =>1 Pos("j","Bonjour") =>4 Effacement de n caractères de la chaîne ch à partir de la position p. Efface (ch, p, n) Exemple: Efface ("Bonjour",1,3) => "jour" Insertion de la chaîne ch1 dans la chaîne ch2 à partir de la position p. Insére (ch1, ch2, p) Exemple: Efface ("jour","Bon",4) => "Bonjour" Conversion d’un nombre décimal d en chaîne de caractères et l’affecte à la variable ch1. Convch (d, ch1) Exemple: Convch (2003,ch) => "2003" Conversion d’une chaîne ch1 en une valeur numérique décimale et l’affecte à la variable d. Valeur (ch, d, erreur) Exemple: Valeur ("12.50",d, e) => d contient 12.50 et e contient0. Copie de N caractères de chaîne Ch à partir de la position P donnée. Copie(Ch,P,N) Exemple : ch1← ``Turbo C’’ ch2←Copie(ch1,1,5) ch2 contiendra``Turbo’’ Fonctions standards sur les chaines
  • 14.  Ecrire un algorithme « Palind » qui lit une chaîne de caractères et vérifie si cette chaîne est un palindrome ou non. Remarque : Un palindrome est un mot qui peut être lu indifféremment de droite à gauche ou de gauche à droite (Exemples :”LAVAL”, ”RADAR”, ”2002”, etc.) 14 Exercice
  • 15. 15 AlgorithmePalind Variables ch : Chaîne i, L : Entier Pal : Booléen Début Ecrire(”Entrer une chaîne non vide : ”) Lire(ch) L ←long(ch) Pal ←Vrai i ←1 TantQue (i <= L/2) et (Pal) Faire Si (ch[i] = ch[L-i+1]) Alors i ←i + 1 Sinon Pal ←Faux FinSi FinTQ Si (Pal) Alors Ecrire(ch, ” est un palindrome”) Sinon Ecrire(ch, ” n’est pas un palindrome”) FinSi Fin
  • 16. 16
  • 17. 17 Application 1 : Ecrire un algorithme qui lit une chaîne de caractères puis affiche son inverse. Exemple : Si la chaîne entrée est ”algo”, l’algorithme doit afficher ”ogla”. Application2 : Ecrire un algorithme qui lit une chaîne de caractères et renvoie son équivalent en majuscules. Application 3 : Ecrire un algorithme qui permet de compter le nombre de mots dans une phrase. La phrase commence obligatoirement par une lettre et les mots sont séparés par des espaces. Application 4 : Ecrire un algorithme qui détermine et affiche le mot le plus long dans une phrase donnée Application 5 : Ecrire un algorithme qui lit :  Un mot (chaîne de caractères formée uniquement de lettres)  Une lettre puis affiche le nombre d’apparitions de la lettre dans le mot. Application 6 : Ecrire un algorithme qui lit un entier positif puis affiche son équivalent en binaire (base 2). Exemple : (23)10 =(10111)2
  • 18. Algorithme inverse Variables i, L : Entier ch1, ch2 : Chaîne Début Ecrire(”Entrer une chaîne : ”) Lire(ch1) L ←Long(ch1) ch2 ←”” Pour i de 1 à L Faire ch2 ←ch1[i] + ch2 FinPour Ecrire(”Inverse de la chaîne = ”,ch2) Fin. 18
  • 19. Algorithme Majuscule Variables i, L : Entier ch1, ch2 : Chaîne Début Ecrire(”Entrer une chaîne : ”) Lire(ch1) L ←Long(ch1) ch2 ←”” Pour i de 1 à L Faire ch2 ←ch2 + Majus(ch1[i]) FinPour Ecrire(”Chaîne en majuscule = ”,ch2) Fin. 19
  • 20. Algorithme Comptage_Mots Variables i, L, nb_mot : Entier phrase : Chaîne Début Ecrire(”Entrer une phrase non vide : ”)Lire(phrase) L ←Long(phrase) nb_mot ←1 Pour i de 1 à L Faire Si (phrase[i] = ” ”)Alors nb_mot ←nb_mot + 1 FinSi FinPour Ecrire(”Nombre de mots = ”,nb_mot) Fin. 20
  • 21. Algorithme Plus_Long_Mot Variables i, j, L : Entier phrase, mot, motpl : Chaîne Début Ecrire(”Entrer une phrase : ”) Lire(phrase) L ←Long(phrase) motpl ←”” i ←1 TantQue (i <= L) Faire mot ←”” j ←i TantQue ((j <= L) et (phrase[j] <> ” ”)) Faire mot ←mot + phrase[j] j ←j + 1 FinTQ Si (long(mot) > long(motpl))Alors motpl ←mot FinSi i ←j + 1 FinTQ Fin Ecrire(”Le mot le plus long est =”,motpl) 21
  • 22. Algorithme fréquence Variables i, L, nb : Entier mot : Chaîne lettre : Caractère Début Ecrire(”Entrer un mot : ”) Lire(mot) Ecrire(”Entrer une lettre : ”) Lire(lettre) L ←Long(mot) nb ←0 Pour i de 1 à L Faire Si (mot[i] = lettre) Alors nb ←nb + 1 FinSi FinPour Ecrire(lettre,” apparaît ”,nb, ” fois dans ”,mot) Fin. 22
  • 23. Algorithme Decimal_Binaire Variables i, n, quotient, reste : Entier c : Caractère equiv : Chaîne Début Ecrire(”Entrer votre entier : ”) Lire(n) equiv ←”” TantQue (n <> 0) Faire reste ←n Mod 2 convch(reste,c) equiv ←c + equiv n ←n Div 2 FinTQ Ecrire(”Nombre binaire équivalent = ”,equiv) Fin. 23