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

Langage Pascal Discussion :

Exécution bizarre d'un programme simple : read ou readln ?


Sujet :

Langage Pascal

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mars 2012
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Exécution bizarre d'un programme simple : read ou readln ?
    Bonjour à tous,

    Comme vous allez le voir dans le code que je présente, je débute en Pascal, je viens d'avoir mes premiers cours.

    Nous avons eu un programme à réaliser pour mettre en pratique le cours sur les char, et j'obtiens un résultat très bizarre à l'exécution.

    Voici mon code :

    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
    program affiche;
     
    var
      f : char;
      e : integer;
      a : char;
    begin
     writeln('entrez un caractere');
     readln(f);
     writeln('le code ASCII de  ',f,'  est  ',ord(f) );
     writeln('entrez un rang');
     read(e);
     writeln('le caractere de rang ',e,' est ',chr(e) );
     writeln('excusez moi mais entrez encore un caractere');
     readln(a);
     writeln(a);
     f:=succ(a);
     writeln('apres ',a,' est ',f,' cest marrant non!!');
     readln;
     end.
    Je compile et exécute ce code, et voici le résultat que j'obtiens :



    Ce qui est encore plus bizarre, c'est que si je commente les premières lignes de code (jusqu'à writeln('excusez-moi...)), le programme se déroule comme prévu...

    Pouvez-vous m'orienter ? Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 463
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 463
    Points : 4 305
    Points
    4 305
    Par défaut
    Remplace le read par readln
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Mars 2012
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    OK merci bien, ça fonctionne sans problème !

    Mais cependant une question... pourquoi ???

    Je pensais que le fonctionnement de read et readln était identique au saut de ligne près

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 939
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 939
    Points : 5 648
    Points
    5 648
    Par défaut
    Gie,

    "le fonctionnement de read et readln était identique au saut de ligne près".

    C'est exact.

    Et de ce fait, quand tu fais un Read, le retour chariot que tu as entré pour valider n'est pas pris en compte, et reste dans le buffer d'entrée ...

    ... et à la prochaine lecture, il sera le 1er caractère lu, d'où problème.
    Si les cons volaient, il ferait nuit à midi.

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Mars 2012
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Grand merci pour la précision des réponses !

    Résolu

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

Discussions similaires

  1. programme simple mais besoin d'aide
    Par newvo dans le forum Windows
    Réponses: 15
    Dernier message: 07/03/2007, 17h56
  2. Réponses: 11
    Dernier message: 12/12/2006, 01h53
  3. Quel langage de programmation pour des programmes simples ?
    Par Pierre.g dans le forum Langages de programmation
    Réponses: 18
    Dernier message: 22/11/2006, 15h22
  4. Programme "simple" devient très lent ?
    Par Invité dans le forum Delphi
    Réponses: 8
    Dernier message: 18/09/2006, 23h32
  5. Création de programme simple
    Par mz-hacker dans le forum Windows
    Réponses: 1
    Dernier message: 06/08/2006, 01h34

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