« COBOL/Opérations sur les chaînes » : différence entre les versions
Contenu supprimé Contenu ajouté
mAucun résumé des modifications |
maintenance |
||
Ligne 22 :
Il est possible de remplacer des caractères dans une chaîne, utilisons pour cela l'instruction <code>INSPECT</code> définie comme suit :
{{Définition
{{exemple|contenu=<source lang="cobol">INSPECT chaine CONVERTING s1 TO s2</source>}}▼
| contenu =
<source lang="cobol">
</source>
}}
Ligne 29 ⟶ 34 :
Voici par exemple une instruction qui remplace dans la chaîne s toutes les voyelles minuscules par leur équivalent majuscule :
{{exemple
{{exemple|contenu=<source lang="cobol">INSPECT s CONVERTING "aeiouy" TO "AEIOUY"</source>}}▼
| contenu =
<source lang="cobol">
</source>
}}
Ligne 36 ⟶ 46 :
Et voici un programme complet illustrant cette instruction : le jeu du pendu dans lequel vous devez deviner les lettres d'un mot (ici, "mammouth").
{{exemple
| contenu = <source lang="cobol"> IDENTIFICATION DIVISION.
PROGRAM-ID. pendu.
Ligne 61 ⟶ 73 :
END-PERFORM.
STOP RUN.
END PROGRAM pendu.
</source> }} Ligne 68 ⟶ 82 :
Nous pouvons concaténer plusieurs chaînes de caractères, c'est-à-dire les mettre "bout-à-bout" à l'aide de l'instruction <code>STRING</code> qui a cette forme :
{{exemple
| contenu = <source lang="cobol"> STRING {s [DELIMITED c]} ... INTO z [POINTER k]
</source> }} Ligne 78 ⟶ 97 :
Voici un programme d'exemple dans lequel 3 chaînes (correspondant à un jour, un mois et une année) vont être concaténées pour n'en former qu'une seule (une date) :
{{exemple
| contenu = <source lang="cobol"> 000001 IDENTIFICATION DIVISION.
000002 PROGRAM-ID. concat.
Ligne 94 ⟶ 115 :
000014 DISPLAY d.
000015 STOP RUN.
000016 END PROGRAM concat.
</source> }} Ligne 101 ⟶ 124 :
Il est également possible d'effectuer l'opération inverse : extraire plusieurs sous-chaînes à partir d'une seule chaîne. Pour cela, nous utilisons l'instruction <code>UNSTRING</code> dont le format est le suivant :
{{définition
| contenu =
INTO z ... [POINTER k]</source>}}▼
<source lang="cobol">
UNSTRING s [DELIMITED c]
</source>
}}
Ligne 109 ⟶ 137 :
Pour bien comprendre, voici un autre programme d'exemple, il permet de décomposer une date au format 99/99/9999 en un jour, un mois et une année :
{{exemple
| contenu = <source lang="cobol"> 000001 IDENTIFICATION DIVISION.
000002 PROGRAM-ID. extraction.
Ligne 125 ⟶ 155 :
000014 DISPLAY j SPACE m SPACE a.
000015 STOP RUN.
000016 END PROGRAM extraction.
</source> }} |