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
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.
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
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 coden(pour0 <= n <= 255).
Exercices du chapitre
- Palindrome corrigé
- Somme des chiffres d'une chaîne corrigé
- Ordre lexicographique corrigé
- Conversions corrigé
- Compter les mots corrigé
- Répéter une chaîne corrigé