IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Cobol Discussion :

Différence entre ZERO et 0


Sujet :

Cobol

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 73
    Points : 44
    Points
    44
    Par défaut Différence entre ZERO et 0
    Bonjour à tous,

    Ma question est simple et dans le titre ::
    Quelle est la différence entre ZERO et '0'

    Je m'explique un minimum : sur une condition le résultat change quand je mets 0 ou ZERO

    Exemple :
    ceci ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    IF variable of truc =ZER0
    PERFORM ....
    END IF
    ceci fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    IF variable of truc =0
    PERFORM ....
    END IF
    Merci de votre aide

  2. #2
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 058
    Points
    32 058
    Par défaut
    "zero" teste de manière plus large. Je ne connais pas bien la différence, mais elle doit être réelle, puisque dans les normes de ma boite, le ZERO en toutes lettres est obligatoire. Tel que j'ai cru comprendre, "0" est un zéro dans le format de ta donnée, alors que ZERO est tout type de zéro - ce qui permet de gérer implicitement les écarts de formats.

    Celà dit, si tu dais un DISPLAY '"' VARIABLE OF TRUC '"', et que tu regardes en hexa, tu verras sans doute des choses. Si ta variable est du PIC X et contient un zéro packé, ça explique sans doute la différence.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  3. #3
    Expert confirmé
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 096
    Points : 4 155
    Points
    4 155
    Par défaut
    Bonjour.

    ZERO, ZEROS et ZEROES sont équivalents et ont le même comportement. Ce sont des constantes figuratives jouant le rôle d'UNE ou PLUSIEURS occurrences du caractère (littéral) 0 en fonction du contexte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
           77  X PIC X(10).
           77  N PIC 9(10).
    ...
               MOVE ZERO TO X.  
          *                                 Résultat X=[0000000000]
               IF X = ZERO  
          *                                 Condition : VRAIE
               MOVE ZERO TO N.
          *                                 Résultat N=[0000000000]
               IF N = ZERO  
          *                                 Condition : VRAIE
          * *************************************************
               MOVE 0 TO X.
          *                                 Résultat X=[0         ]
               IF X = ZERO  
          *                                 Condition : FAUSSE
               IF X = 0  
          *                                 Condition : VRAIE
               MOVE 0 TO N.
          *                                 Résultat N=[0000000000]
               IF N = ZERO  
          *                                 Condition : VRAIE
               IF N = 0  
          *                                 Condition : VRAIE
    ZERO va se comporter comme un 0 numérique quand il s'agit de comparer ou de mouvementer des zones numériques et comme le caratère '0' répétés autant de fois que la taille de la zone réceptrice ou de comparaison est alphanumérique. Parfois ZERO se comprtera comme un seul caractère '0' pour les zones alphanum, quand par exemple dans le DELIMITED BY.

    Quelques petites différences de comprtement en fonction des compilateurs.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 73
    Points : 44
    Points
    44
    Par défaut
    merci bcp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Différence entre un "bidouilleur" et un Pro ?
    Par christ_mallet dans le forum Débats sur le développement - Le Best Of
    Réponses: 290
    Dernier message: 28/11/2011, 10h53
  2. Réponses: 5
    Dernier message: 11/12/2002, 12h31
  3. Différence entre TCP, UDP, ICMP
    Par GliGli dans le forum Développement
    Réponses: 1
    Dernier message: 13/09/2002, 08h25
  4. Différences entre jmp, jz, jnz, etc
    Par christbilale dans le forum Assembleur
    Réponses: 3
    Dernier message: 05/07/2002, 15h09
  5. Réponses: 3
    Dernier message: 07/05/2002, 16h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo