Section courante

A propos

Section administrative du site

Introduction

Les algorithmes de traitement de chaînes de caractères sont des méthodes ou des procédures permettant de manipuler, analyser, et transformer des chaînes de caractères, c'est-à-dire des séquences de caractères (lettres, chiffres, symboles) dans un texte. Ces algorithmes sont essentiels en informatique, notamment pour la gestion de données textuelles.

Voici quelques exemples d'algorithmes courants dans le traitement des chaînes de caractères :

Centrer une chaîne de caractères

Un algorithme pour centrer une chaîne de caractères consiste à placer le texte de manière équilibrée dans une largeur donnée, typiquement en ajoutant des espaces de part et d'autre. Lorsqu'on veut centrer une chaîne de caractères à l'écran ou dans un espace quelconque, on utilise habituellement l'algorithme suivant pour déterminer sa position de départ :

X ← ( Largeur de l'espace - Longueur de la chaîne de caractères ) / 2

Longueur d'une chaîne de caractères

Voici l'algorithme pour déterminer la longueur d'une chaîne de caractères de format C (ASCIZ) :

MODULE StrLen(C)
   I ← 0
   BOUCLE FAIRE TANT QUE C[I] ≠ 0
      I ← I + 1
   FIN BOUCLE TANT QUE
   RETOUR I

Voici l'algorithme pour déterminer la longueur d'une chaîne de caractères de format Pascal :

MODULE Length(C)
   RETOUR C[0]

Majuscule

L'algorithme suivant permet de mettre en majuscule une lettre :

MODULE UpCase(letter)
   EVALUER CAS letter
      CASE 'a':
         letter ← 'A'
      CASE 'b':
         letter ← 'B'
      CASE 'c':
         letter ← 'C'
      CASE 'd':
         letter ← 'D'
      CASE 'e':
         letter ← 'E'
      CASE 'f':
         letter ← 'F'
      CASE 'g':
         letter ← 'G'
      CASE 'h':
         letter ← 'H'
      CASE 'i':
         letter ← 'I'
      CASE 'j':
         letter ← 'J'
      CASE 'k':
         letter ← 'K'
      CASE 'l':
         letter ← 'L'
      CASE 'm':
         letter ← 'M'
      CASE 'n':
         letter ← 'N'
      CASE 'o':
         letter ← 'O'
      CASE 'p':
         letter ← 'P'
      CASE 'q':
         letter ← 'Q'
      CASE 'r':
         letter ← 'R'
      CASE 's':
         letter ← 'S'
      CASE 't':
         letter ← 'T'
      CASE 'u':
         letter ← 'U'
      CASE 'v':
         letter ← 'V'
      CASE 'w':
         letter ← 'W'
      CASE 'x':
         letter ← 'X'
      CASE 'y':
         letter ← 'Y'
      CASE 'z':
         letter ← 'Z'
   FIN EVALUER CAS
   RETOURNE letter

Voici un algorithme plus rapide mais dépendant des système sur lequel il est installé (c'est à dire qu'il ne fonctionne que sur un PC) :

MODULE UpCase(letter)
   SI letter dans ['a'...'z'] ALORS
      RETOURNE Caractère(Ord(letter) - 32)
   ELSE
      RETOURNE letter
   FIN SI


Dernière mise à jour : Dimanche, le 10 novembre 2024