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

Algorithmes et structures de données Discussion :

la fonction ASCII(c)


Sujet :

Algorithmes et structures de données

  1. #1
    Membre habitué Avatar de emprex
    Homme Profil pro
    auto-entrepreneur
    Inscrit en
    Octobre 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : auto-entrepreneur
    Secteur : Services à domicile

    Informations forums :
    Inscription : Octobre 2007
    Messages : 219
    Points : 199
    Points
    199
    Par défaut la fonction ASCII(c)
    bonjour, à tous
    Voila ma quetion est assez simple je veux ercire un algo qui lit un caractère au clavier et retourne son code ASCII. Je sais le faire en C mais en algo puis-je ecrire ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    DEBUT
    caractere c;
    ecrire("Saisir un carctere");
    lire(c);
    ASCII(c);
    FIN

  2. #2
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut !

    J'ai eu un problème analogue, parce que mon EDI travaille avec la table ANSI et mon OS affiche en ASCII, ce qui fait que les caractères accentués étaient transformés en n'importe quoi. J'ai écrit une petite routine dont tu pourras peut-être t'inspirer.
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
          Subroutine U002(S)
    *
    * **********************************************************************
    *
    *     Affichage d'une chaîne à l'écran sans retour
    *
    *     Jean-Marc Blanc, mars 2008
    *
    * **********************************************************************
    *
          Implicit None
    *
          Integer*2 K,N
          Integer*1 D(80)
          Character*80 R,S
          Equivalence (D,R)
    *
    * **********************************************************************
    *
          N=Len_Trim(S)
          R=S
          Do K=1,N
            If (D(K).Eq.z'E0') D(K)=z'85'
            If (D(K).Eq.z'E1') D(K)=z'A0'
            If (D(K).Eq.z'E2') D(K)=z'83'
            If (D(K).Eq.z'E4') D(K)=z'84'
            If (D(K).Eq.z'E5') D(K)=z'86'
            If (D(K).Eq.z'E7') D(K)=z'80'
            If (D(K).Eq.z'E8') D(K)=z'8A'
            If (D(K).Eq.z'E9') D(K)=z'82'
            If (D(K).Eq.z'EA') D(K)=z'88'
            If (D(K).Eq.z'EB') D(K)=z'89'
            If (D(K).Eq.z'EC') D(K)=z'8D'
            If (D(K).Eq.z'ED') D(K)=z'A1'
            If (D(K).Eq.z'EE') D(K)=z'8C'
            If (D(K).Eq.z'EF') D(K)=z'8B'
            If (D(K).Eq.z'F1') D(K)=z'A4'
            If (D(K).Eq.z'F2') D(K)=z'95'
            If (D(K).Eq.z'F3') D(K)=z'A2'
            If (D(K).Eq.z'F4') D(K)=z'93'
            If (D(K).Eq.z'F6') D(K)=z'94'
            If (D(K).Eq.z'F9') D(K)=z'97'
            If (D(K).Eq.z'FA') D(K)=z'A3'
            If (D(K).Eq.z'FB') D(K)=z'96'
            If (D(K).Eq.z'FC') D(K)=z'81'
            If (D(K).Eq.z'FF') D(K)=z'98'
          End Do
          Write (*,'(A)',Advance='No') R(1:N)
          Return
          End
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  3. #3
    Membre habitué Avatar de emprex
    Homme Profil pro
    auto-entrepreneur
    Inscrit en
    Octobre 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : auto-entrepreneur
    Secteur : Services à domicile

    Informations forums :
    Inscription : Octobre 2007
    Messages : 219
    Points : 199
    Points
    199
    Par défaut
    a vrai dire je pensais plus à un truc comme cela.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    FONCTION ASCII(caractere c) : entier
    DEBUT
            retourner c;
    FIN
    *********************************************
    Algorithme
    DEBUT
    caractere c;
    ecrire("Saisir un carctere");
    lire(c);
    ASCII(c);
    ecrire(c);
    FIN
    Et je voulais savoir si dans le langage algo ceci est juste.
    Cela dit merci pour votre réponse, mais je n'ai pas encore le niveau pour manipuler des routines.

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par emprex Voir le message
    Et je voulais savoir si dans le langage algo ceci est juste.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    FONCTION ASCII(caractere c) : entier
    DEBUT
            retourner c;
    FIN
    Heu... pas trop. Le "cast" caractere/entier facon "langage C" n'est pas vraiment un standard.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Membre éprouvé Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Points : 961
    Points
    961
    Par défaut
    Salut,

    FONCTION ASCII(caractere c) : entier
    DEBUT
    retourner c;
    FIN
    *********************************************
    Algorithme
    DEBUT
    caractere c;
    ecrire("Saisir un carctere");
    lire(c);
    ASCII(c);
    ecrire(c);
    FIN
    Même en supposant que la fonction ASCII que vous avez defini est juste,le corp principal contient une erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ASCII(c);
    ecrire(c);
    car la fonction ASCII ne modifiera pas la valeur de c,elle retournera seulement son code qui est un entier,il serai plus juste alors d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ...
    ecrire((ASCII(c))
    ou mieux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    n=ASCII(c);
    ecrire(n);
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste!!»

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    @Jean-Marc : supposes-tu que tout le monde lit le Fortran ??

    Sinon, en algo, ce serait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    FONCTION ASCII(caractere c) : entier
    DEBUT
            Pour i = 0  jusqu'a i < 127
                Si table(i) egal c
                    retourner i
                Fin si
            Fin pour
    FIN
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  7. #7
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Souviron, je ne suppose pas, je déplore !

    Jean-Marc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

Discussions similaires

  1. [WD15] Fonction ASCII > Binaire
    Par Dan Anderson dans le forum WinDev
    Réponses: 3
    Dernier message: 14/04/2010, 07h49
  2. fonctions dessin ascii...
    Par youp_db dans le forum C
    Réponses: 5
    Dernier message: 15/05/2006, 19h01
  3. Trace ascii du passage dans une fonction
    Par ryko dans le forum Delphi
    Réponses: 4
    Dernier message: 10/05/2006, 21h06
  4. fonction ascii pour un varchar!
    Par quemener dans le forum Langage SQL
    Réponses: 5
    Dernier message: 29/10/2004, 10h37
  5. fonction redonnant le code ascii d'un entier ???
    Par abignon dans le forum MFC
    Réponses: 4
    Dernier message: 29/01/2004, 12h32

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