Adloun

Caractères et chaînes de caractères

Cours · OCaml (option informatique), chapitre 6 · prépas MPSI et MP, option informatique · le début du chapitre, la suite sur Adloun

La recherche d'un motif dans un texte : on fait glisser le motif jusqu'à ce que toutes ses lettres coïncident.

6.1 Introduction et motivation

Les données ne sont pas toujours des nombres : un nom, un mot de passe, une séquence d'ADN, le texte d'un fichier sont des suites de caractères. Ce chapitre présente les types char et string, ainsi que les fonctions de conversion entre types de base — comment passer d'un int à la chaîne "42" et réciproquement.

iRemarqueNiveau A.2

Comme les tableaux, les caractères, les chaînes et les conversions relèvent des éléments « utilisables après rappel » : leur documentation est fournie en épreuve. On les présente avec leur signature.

Une particularité guidera tout le chapitre : en OCaml, les chaînes sont immuables. On ne modifie pas une chaîne « en place » comme un tableau ; on en construit une nouvelle. Cela change la façon de programmer : on lit et analyse beaucoup, et l'on assemble par concaténation.

6.2 Les caractères

Le type char représente un caractère unique, écrit entre apostrophes : 'a', 'Z', '7', ' ' (l'espace).


# 'a';;
- : char = 'a'
# 'a' < 'b';;
- : bool = true
Définition 6.1Ordre et codes des caractères

Il existe une relation d'ordre total sur char : les comparaisons <, <=, etc. s'y appliquent. Cet ordre suit les codes numériques (codes ASCII) : les chiffres '0'…'9' se suivent, de même que 'a'…'z' et 'A'…'Z'. Deux conversions font le pont avec les entiers :

  • int_of_char c : char -> int — le code du caractère ;
  • char_of_int n : int -> char — le caractère de code n (pour 0 <= n <= 255).

Exercices du chapitre

La suite du cours · Tous les exercices du chapitre