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 :

Type caractère


Sujet :

Langage Pascal

  1. #41
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Hi,
    Citation Envoyé par Maxence45
    Oui drogoo , le dessin que tu as montré en colonne est le résultat que je souhaite obtenir .

    Après réflexion j'ai un programme qui marche plus ou moins , qu'en pensez vous :

    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
    program table;
     
    var
       c : char;
       k : INTEGER;
     
    begin
     
     
       for k := 46 to 255 do
       begin
          c := CHAR(k);
             writeln(c:4, k:5);
          end;
     
    end.
    ya juste que dans mon shell linux , les caractères après 126 ne s'affichent pas et à partir de 192 j'ai un drôle de symbole .
    C'est bien.

    Comme l'a bien dit Ultima, ton problème n'est pas dû à ton programme, mais au système d'encodage des caractères utilisés, vaste problème depuis longtemps, et qui ne fait qu'empirer au fil du temps avec l'apparition de nouveaux systèmes.

    Seule petite remarque, il faut essayer de soigner l'indentation du code, et éviter les lignes vides inutiles, cela rend le code beaucoup plus lisible (c'est un de mes leitmotiv).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    program table;
     
    var
       c : char;
       k : INTEGER;
     
    begin
       for k := 46 to 255 do
       begin
          c := CHAR(k);
          writeln(c:4, k:5);
       end;
    end.
    Si les cons volaient, il ferait nuit à midi.

  2. #42
    Membre confirmé Avatar de Haywire
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2006
    Messages : 462
    Points : 573
    Points
    573
    Par défaut
    Bonjour, apparement mon bout de code est passé inaperçu hier, je te le remet donc ici, il simplifie ta version en supprimant tout ce qui n'est pas nécessaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    program table;
     
    var k: byte; // plus besoin d'une variable char
     
    begin
      for k := 46 to 255 do // pas besoin d'initialiser les variables avant car le for le fait déjà
        writeln(k:4,' ',chr(k));
      readln; // pour pas que la fenetre se ferme ensuite, possible que ce ne soit pas nécessaire dans ton environnement
    end.
    Développeur écolo, je suis pour le développement durable.

  3. #43
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut
    ok mushroom mais j'évite en fait de lire le code source d'un autre ( meme si le tien est meilleur ) tant que mon code source ne marche pas , observez ce code que j'ai un peu modifié , car j'ai voulu mettre ':' au milieu , mais il ne se trouve pas au milieu des 2 variables à l'affichage , mais collé à gauche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    program table;
     
    var
       c : char;
       k : INTEGER;
     
    begin
    for k := 0 to 255 do
       begin
          c := CHAR(k);
          writeln(c:4,':', k:5);
          end;
    end.

  4. #44
    Membre confirmé Avatar de Haywire
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2006
    Messages : 462
    Points : 573
    Points
    573
    Par défaut
    C'est normal car tu demandes d'afficher les symboles sur 4 espaces et les nombres sur 5.

    Et ca écrit dans cet espace en partant de la droite.
    Comme je ne sais pas si c'est très clair dit comme ça voilà une représentation plus clair:

    |_|_|_|A| : |_|_|_|6|5|

    comme les chiffres ne vont que jusqu'à 255, 3 espaces suffiraient.
    Quant aux symboles, ils ne prennent qu'un espace, donc ce n'est pas la peine de spécifier une taille:

    writeln(c,':', k:3);

    Si tu veux un espace tu peux arranger ça comme tu veux, par exemple:
    writeln(c,' : ', k:3);
    Développeur écolo, je suis pour le développement durable.

  5. #45
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Hi,
    Citation Envoyé par Maxence45
    ok mushroom mais j'évite en fait de lire le code source d'un autre ( meme si le tien est meilleur ) tant que mon code source ne marche pas , observez ce code que j'ai un peu modifié , car j'ai voulu mettre ':' au milieu , mais il ne se trouve pas au milieu des 2 variables à l'affichage , mais collé à gauche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    program table;
     
    var
       c : char;
       k : INTEGER;
     
    begin
    for k := 0 to 255 do
       begin
          c := CHAR(k);
          writeln(c:4,':', k:5);
          end;
    end.
    C'est normal, le programme n'insérera pas d'espaces dans l'affichage si tu ne lui dis pas de le faire.

    Que se passe-t-il pour l'afiichage quand tu écris
    - écrit le caractère contenu dans c en prenant une largeur de 4 caractères, en complétant ceux de gauches par des espaces, si nécessaire (et c'est nécessaire ici, puique un caractère occupe 1 caractère à l'affichage).

    - écrit le caractère : en occupant la place de ce seul caractère, qui se retrouve donc collé au caractère contenu dans c.

    - écrit la valeur de k en prenant une largeur de 5 caractères, en complétant ceux de gauches par des espaces, si nécessaire.

    Donc, par exemple, si c contient 'A', k contient 65, on obtient
    (les . sont là pour remplacer les espaces)
    ...A:...65

    C'est donc à toi de mettre des espaces pour écarter le : du caractère écrit.

    Edité

    Croisé avec Mushroom7
    Si les cons volaient, il ferait nuit à midi.

  6. #46
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut
    exact , voici la correction et çà marche bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    program table;
     
    var
       c : char;
       k : INTEGER;
     
    begin
    for k := 0 to 255 do
       begin
          c := CHAR(k);
          writeln(c:4,' ',' ',':', k:4);
          end;
    end.
    tu as remarqué que les caractères de 0 à 31 sont des caractères non affichables , j'aimerais créer une procédure qui affiche le caractère passé en paramètre s'il est affichable, et qui affiche "NO" sinon.

    voilà 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
    procedure asc(c : char);
     
    var
       k : INTEGER;
     
    begin
       for k := 0 to 31 do
       begin
          writeln('NO');
       end;
    for k := 31 to 255 do
       begin
          c := CHAR(k);
          writeln(c:4,' ',' ',':', k:4);
       end;
    çà roule ?

  7. #47
    Membre confirmé Avatar de Haywire
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2006
    Messages : 462
    Points : 573
    Points
    573
    Par défaut
    Non ça roule pas

    Déjà première remarque, pour "afficher" plusieurs espaces à la suite, tu n'es pas obligé de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    writeln(c:4,' ',' ',':', k:4);
    il suffit de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    writeln(c:4,'  ',':', k:4);
    ou encore mieux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    writeln(c:4,'  :', k:4);
    En effet les caractères ou suites de caractères placés entre ' ' sont des chaines de caractères, même si tu ne mets qu'un seul caractère dedans.
    Et quand tu affectes une chaine de caractères composé d'un seul caractère à une variable de type caractère, le compilateur fait la conversion automatiquement et de manière transparente au programmeur. Comme dans:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var a: char;
    ...
    a := 'a';
    Bon maintenant pour ta procédure faudrait décider ce que tu veux qu'elle fasse exactement.
    Là comme tu l'a écrite elle affiche simplement les 256 symboles en remplaçant ceux non affichable par NO.
    La valeur de c que tu passes en paramètre n'est utilisé à aucun moment. Elle est même modifiée avant son utilisation.
    Si tu veux une procédure à qui on passe un caractère en paramètre et qui l'affichera seulement s'il est affichable il va plutot falloir jouer avec des if.
    Si tu veux une procédure qui affiche les caractères de la table ascii et remplace les premiers par NO, il ne sert à rien de lui passer un paramètre.
    Développeur écolo, je suis pour le développement durable.

  8. #48
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Hi,

    Tu peux simplifier un peu le code de ton progamme : tu peux remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          writeln(c:4,' ',' ',':', k:4);
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          writeln(c:4,'  :', k:4);
    et même
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          writeln(c:4,':':3, k:4);
    Pour ta nouvelle procédure, tu précises
    Citation Envoyé par Maxence45
    j'aimerais créer une procédure qui affiche le caractère passé en paramètre s'il est affichable, et qui affiche "NO" sinon.
    Ta procédure n'a donc pas à faire ces boucles sur tous les caractères possibles, elle n'a qu'à gérer le seul caractère que tu lui passes.

    Quelque chose comme (en pseudo-code, à toi de traduire)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    procedure asc(c : char);
    begin
      SI c est affichable
      ALORS l'écrire
      SINON écrire 'NO'
    end;
    Si tu veux écrire tous les caractères avec cette procédure, c'est au programme de l'appeler dans une boucle pour toutes les valeurs possibles pour un caractère.

    Edité

    Ca devient une habitude, croisé avec Mushroom7
    Si les cons volaient, il ferait nuit à midi.

  9. #49
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut
    ce que je veux c'est çà je l'ai bien écrit :

    j'aimerais créer une procédure qui affiche le caractère passé en paramètre s'il est affichable, et qui affiche "NO" sinon .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    procedure asc(c : char);
     
    var
       k : INTEGER;
     
    if k < 31 then
    begin
       writeln('NO');
    end;
    else
       begin
       writeln(c);
    end;

    là c'est bon je pense ? après je dois réutiliser la procédure dans le programme principal pour avoir ce genre d'affichage :

    NO : 0
    NO : 1
    .
    .
    NO :31

    mais là je me concentre d'abord sur la procédure

  10. #50
    Membre actif Avatar de Ultima
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 223
    Points : 261
    Points
    261
    Par défaut
    Bonsoir,
    tu devrais peut-être créer une fonction qui test si le caractère est affichable.

    si est_affichable(c) alors
    writeln(c:4, ':':3, k:4);
    sinon
    writeln('NA':4, ':':3, k:4);

  11. #51
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut
    l'exercice c'est de créer la procédure que j'ai dite , est elle juste ?

  12. #52
    Membre actif Avatar de Ultima
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 223
    Points : 261
    Points
    261
    Par défaut
    Bonsoir,
    Il ya quelques problèmes:
    Ta variable k n’a pas lieu d’être, le paramètre c suffi largement.
    il faut faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if Ord(c)<31 then
    begin
      writeln('NO');
    end  // ne surtout pas mettre de point-virgule pour les mots end et else 
    else
     begin
       writeln(c);
    end;
    Simplifions encore un peux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if Ord(c)<31 then
      writeln('NO');
    else
      writeln(c);
    end;
    // pas besoin de begin car tu ne mets qu'une seul instruction.
    // un begin se termine forcément pas un end, pas de begin implique pas de end.
    cette procédure n’affiche que le caractère c, ou 'NO', mais pas les entiers qui leur correspondent.

  13. #53
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    oal,
    Citation Envoyé par Maxence45
    l'exercice c'est de créer la procédure que j'ai dite , est elle juste ?
    Presque

    - il manque les begin et end; limitant le corps de la procédure.

    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
    procedure asc(c : char);
     
    var
       k : INTEGER;
     
    begin    { celui-ci manque } 
      if k < 31 then
      begin
        writeln('NO');
      end     { pas de ; entre le end du bloc de then et le else }
      else
      begin
        writeln(c);
      end;
    end ;    { celui-ci manque aussi }
    Ce ne sont que des fautes d'attention mais ton compilateur te les signale forcément, il faut aller voir pourquoi il te dit qu'il y a une erreur, en regardant bien le message qu'il t'affiche.

    A part ça, une fois corrigée, oui, elle fait presque ce que tu voulais faire.

    Il reste encore à corriger cette ligne :
    pour 2 raisons:

    - k n'est pas initialisée, elle doit prendre la valeur numérique du code du caractère passé à la procédure, avec la fonction Ord.

    - ton test laisse passer le caractère de code = 31, qui fait partie des caractères non affichables.

    Edité

    Cette fois, croisé avec Ultima
    Si les cons volaient, il ferait nuit à midi.

  14. #54
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut
    1. je n'ai pas le droit d'utiliser de fonction ord .

    2.je pense que le k est obligatoire , vu que cette procédure je dois l'utiliser pour faire un affichage qui concerne 2 variables ( voir mes posts précédents ) , t'es pas d'accord ?

  15. #55
    Membre confirmé Avatar de Haywire
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2006
    Messages : 462
    Points : 573
    Points
    573
    Par défaut
    Tu n'as pas besoin de 2 variables si tu utilises le transtypage:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure asc(c : char);
    begin
      if byte(c) <= 31 then
        writeln('NO')
      else
        writeln(c);
    end;
    Et si tu veux afficher le numero tu remplaces writeln(c) par writeln(c,ord(c):4);
    Mais j'ai bien lu que tu ne veux pas utiliser ord();
    Développeur écolo, je suis pour le développement durable.

  16. #56
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut
    bon voici le code final de la procédure , mais c'est qu'une procédure , comment l'utiliser dans le programme principal ?


    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
    procedure asc(c : char);
     
    var
       k : INTEGER;
       k : = 0;
     
    begin
     
    if k < 31 then
    begin
       writeln('NO');
    end
    else
       begin
       writeln(c);
    end;
    end; { asc }

  17. #57
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Ha,
    Citation Envoyé par Maxence45
    1. je n'ai pas le droit d'utiliser de fonction ord .

    2.je pense que le k est obligatoire , vu que cette procédure je dois l'utiliser pour faire un affichage qui concerne 2 variables ( voir mes posts précédents ) , t'es pas d'accord ?
    1) Difficile de comprendre pourquoi, c'est vraiment une fonction de base du Pascal

    2) si tu veux afficher le caractère et son code, il est effectivement préférable, au moins dans un premier temps, d'utiliser une variable k pour stocker la valeur du code.
    Mais ça tourne en rond : pour faire ça dans les règles, il te faut la fonction ord.
    Sinon, il reste bien sûr le transtypage, mais par principe, je préfère l'utilisation des fonctions, surtout quand elles existent déjà dans le langage.

    Entre temps, tu as posté autre chose
    Citation Envoyé par Maxence45
    bon voici le code final de la procédure , mais c'est qu'une procédure , comment l'utiliser dans le programme principal ?
    Il reste à initialiser k avec le code du caractère c, et à corriger la ligne
    qui permet l'affichage du caractère de code 31, non affichable.

    Pour appeler la procédure depuis le programme, tu fais quelque chose comme ceci, exemple pour afficher un seul caractère, il faut faire une boucle si tu les veux tous:
    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
    program bidon;
     
    { définition de ta procédure }
     
    ....
     
    var
      c : char;
    begin
      c := 'A';
     
      { appel de la procédure }
     
      asc(c);
     
      readln;
    end.
    Si les cons volaient, il ferait nuit à midi.

  18. #58
    Membre confirmé Avatar de Haywire
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2006
    Messages : 462
    Points : 573
    Points
    573
    Par défaut
    Essaie quand même de faire attention à ce qu'on dit sinon on avance pas.
    Nous t'avons tous les 3 dis que les begin et end ne servent à rien quand il n'entoure qu'une seule instruction, et tu persistes à les mettre...

    A part ça dans le prog principal tu peux mettre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for c := chr(0) to chr(255) do
      asc(c);
    Développeur écolo, je suis pour le développement durable.

  19. #59
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Ho,
    Citation Envoyé par Mushroom7
    Essaie quand même de faire attention à ce qu'on dit sinon on avance pas.
    Nous t'avons tous les 3 dis que les begin et end ne servent à rien quand il n'entoure qu'une seule instruction, et tu persistes à les mettre...
    Ce n'est pas un gros problème.

    Je dirais même que c'est une bonne habitude de les mettre quand même : combien de bugs dus à la modification d'une procédure dans laquelle on ajoute une ligne de code dans un "bloc", mais bloc pour lequel les marques begin end n'étaient pas nécessaires jusque là, et qu'on oublie d'ajouter.

    C'est tellement fréquent que même pour moi je les mettais systématiquement, et j'ai gardé cette habitude maintenant que je programme essentiellement en C++.
    Si les cons volaient, il ferait nuit à midi.

  20. #60
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut
    non mais vous etes trop à parler moi je n'arrive plus à suivre je suis désolée , essayez de pas être 50 à me répondre car moi je mélange tout sinon svp .

    voici le code du programme principal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    BEGIN
       var
          i : INTEGER;
          j : char;
     
       for i := 0 to 255 do
       begin
          asc(i);
       end;
    end.
    et voici celui de la procédure :

    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
    procedure asc(c : char);
     
    var
       k : INTEGER;
       k : = 0;
     
    begin
     
    if k < 31 then
    begin
       writeln('NO');
    end
    else
       begin
          writeln(c);
    end;
    end; { asc }

Discussions similaires

  1. dbChart et un champ type caractère
    Par karim15 dans le forum Bases de données
    Réponses: 0
    Dernier message: 30/11/2008, 15h26
  2. Réponses: 0
    Dernier message: 30/07/2008, 14h45
  3. Réponses: 14
    Dernier message: 26/03/2007, 16h52
  4. Traduction de données de type caractère dans Hibernate
    Par dev-man dans le forum Hibernate
    Réponses: 6
    Dernier message: 20/11/2006, 12h48

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