Algorithme & structures de données Chap III

20
COURS D’ALGORITHME & STRUCTURES DE DONNÉES (ASD I) 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I INSTITUT DES HAUTES ETUDES DE SOUSSE CHAPITRE II: LES CHAINES DE CARACTÈRES 1

Transcript of Algorithme & structures de données Chap III

Page 1: Algorithme & structures de données Chap III

COURS D’ALGORITHME &

STRUCTURES DE DONNÉES (ASD I)

2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I

INSTITUT DES HAUTES ETUDES DE SOUSSE

CHAPITRE II: LES CHAINES DE

CARACTÈRES

1

Page 2: Algorithme & structures de données Chap III

Plan du Cours

2014/2015Algorithme & structures de données I2

I. Le type caractère1. Définition

2. Fonctions standards sur les caractères

II. Le type chaîne de caractères1. Déclaration d’une chaîne

2. Opérations sur les chaînes de caractères

III. Procédures et fonctions standards sur les chaînes

1. Procédures standards

2. Fonctions standards

Exercices d’application

Page 3: Algorithme & structures de données Chap III

I. Le type caractère

2014/2015Algorithme & structures de données I3

Définition

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 : <Retour Chariot> ; <Echap> ; etc.

Chaque caractère est défini par son numéro d’ordreunique compris entre 0 et 255.

Page 4: Algorithme & structures de données Chap III

Fonctions standards sur les caractères:

2014/2015Algorithme & structures de données I4

I. Le type caractère (2)

Page 5: Algorithme & structures de données Chap III

2014/2015Algorithme & structures de données I5

Exemple:

Ecrire un algorithme qui lit un caractère au clavier puisaffiche son prédécesseur, son successeur et le code ASCIIde son équivalent en majuscule.

Solution:

I. Le type caractère (3)

Page 6: Algorithme & structures de données Chap III

Exercice 1

2014/2015Algorithme & structures de données I6

Que fait l’algorithme suivant :

Solution:

Cet algorithme lit un caractère puis affiche son

équivalent en majuscule.

Page 7: Algorithme & structures de données Chap III

2014/2015Algorithme & structures de données I7

Ecrire un algorithme qui affiche une table ASCII deslettres minuscules sous la forme suivante :

Le code ASCII de a est 97

Le code ASCII de b est de 98

Le code ASCII de c est 99

….

Le code ASCII de z est 122.

Solution:

Exercice 2

Page 8: Algorithme & structures de données Chap III

2014/2015Algorithme & structures de données I8

Ecrire un algorithme qui lit une lettre au clavier puis affiche s’ils’agit d’une consonne ou d’une voyelle.

Remarque : les voyelles sont : ”A” ; ”a” ; ”E” ; ”e” ; ”I” ; ”i”; ”O” ;”o” ;”U” ; ”u” ; ”Y” ; ”y”.

Solution: Dans cet algorithme, le but de la boucle répéter estd’obliger l’utilisateur à entrer une lettre.

Exercice 3

Page 9: Algorithme & structures de données Chap III

II. Le type chaine de caractère

2014/2015Algorithme & structures de données I9

Une chaîne est une suite de caractères. La chaîne necontenant aucun caractère est appelée chaîne vide.

Déclaration d’une chaine:

La variable ch peut contenir jusqu’à 255 caractères alorsque chn peut contenir au maximum 20.

Page 10: Algorithme & structures de données Chap III

Opérations sur les chaîne de

caractères

2014/2015Algorithme & structures de données I10

La concaténation:

C’est l’assemblage de deux chaînes de caractères enutilisant l’opérateur « + ».

Exemple:

Chn1 ‘Turbo’

Chn2 ‘Pascal’

Chn3 Chn1 + ‘’ + Chn2

La variable chn3 contiendra ”Turbo Pascal”

Page 11: Algorithme & structures de données Chap III

Les opérateurs relationnels

2014/2015Algorithme & structures de données I11

(>, >=, <, <=, =, #) ; Il est possible d’effectuer unecomparaison entre deux chaînes de caractères, le résultatest de type booléen. La comparaison se fait caractère parcaractère de la gauche vers la droite selon le code ASCII.

Exemples:

L’expression (”a” > ”A”) est vraie puisque le code ASCII de ”a”(97) est supérieur à celui de ”A” (65)

L’expression (”programme” < ”programmation”) est faussepuisque ”e” > ”a”

L’expression (”” = ” ”) est fausse (le vide est différent ducaractère espace).

Page 12: Algorithme & structures de données Chap III

Accès à un caractère dans une chaîne

2014/2015Algorithme & structures de données I12

Pour accéder à un caractère de la chaîne, il suffitd’indiquer le nom de la chaîne suivi d’un entier entrecrochets qui indique la position du caractère dans lachaîne.

Exemple:

Chn ‘Turbo Pascal’

C chn[7]

la variable c contiendra le caractère ”P”.

En général, ch[i] désigne le ième caractère de la chaînech.

Page 13: Algorithme & structures de données Chap III

Procédures standards

2014/2015Algorithme & structures de données I13

Page 14: Algorithme & structures de données Chap III

Fonctions standards

2014/2015Algorithme & structures de données I14

Page 15: Algorithme & structures de données Chap III

Exercice

2014/2015Algorithme & structures de données I15

Ecrire un algorithme « Palind » qui lit une chaîne de caractèreset vérifie si cette chaîne est un palindrome ou non. Unpalindrome est un mot qui peut être lu indifféremment dedroite à gauche ou de gauche à droite (Exemples : ”AZIZA”,”LAVAL”, ”RADAR”, ”2002”, etc.)

Page 16: Algorithme & structures de données Chap III

Exercices d’application (1)

2014/2015Algorithme & structures de données I16

Exercice 1:

Ecrire un algorithme qui lit une chaîne de caractères puisaffiche son inverse.

Exemple : Si la chaîne entrée est ”algo”, l’algorithme doitafficher ”ogla”.

Exercice 2:

Ecrire un algorithme qui lit une chaîne de caractères et renvoieson équivalent en majuscules.

Exercice 3:

Ecrire un algorithme qui permet de compter le nombre demots dans une phrase. La phrase commence obligatoirementpar une lettre et les mots sont séparés par des espaces.

Page 17: Algorithme & structures de données Chap III

Exercices d’application (2)

2014/2015Algorithme & structures de données I17

Exercice 4:

Ecrire un algorithme qui détermine et affiche le mot le pluslong dans une phrase donnée.

Exercice 5:

Ecrire un algorithme qui lit:

Un mot (chaîne de caractères formée uniquement delettres)

Une lettre

puis affiche le nombre d’apparitions de la lettre dans le mot.

Exercice 6: conversion décimal binaire

Ecrire un algorithme qui lit en entier positif puis affiche sonéquivalent en binaire (base 2).

Exemple : (23)10 = (10111)2

Page 18: Algorithme & structures de données Chap III

Corrections

2014/2015Algorithme & structures de données I18

Page 19: Algorithme & structures de données Chap III

Corrections

2014/2015Algorithme & structures de données I19

Page 20: Algorithme & structures de données Chap III

Corrections

2014/2015Algorithme & structures de données I20