« COBOL/Opérations sur les chaînes » : différence entre les versions

Contenu supprimé Contenu ajouté
Guillpetiot (discussion | contributions)
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">
{{exemple|contenu=<source lang="cobol">INSPECT chaine CONVERTING s1 TO s2</source>}}
</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">
{{exemple|contenu=<source lang="cobol">INSPECT s CONVERTING "aeiouy" TO "AEIOUY"</source>}}
</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
{{exemple|contenu=<source lang="cobol">UNSTRING s [DELIMITED c]
| contenu =
INTO z ... [POINTER k]</source>}}
<source lang="cobol">
UNSTRING s [DELIMITED c]
INTO z ... [POINTER k]</source>}}
</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>
}}