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

Turbo Pascal Discussion :

Rechercher et afficher la position de la première lettre d'une chaîne


Sujet :

Turbo Pascal

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Rechercher et afficher la position de la première lettre d'une chaîne
    Salut tout le monde;
    j'ai une difficulté à résoudre ce problème, j'ai besoin de votre aide svp
    Écrire un programme en Pascal qui permet de saisir une chaîne de caractères CH (contient des lettres et des chiffres) puis de rechercher et d'afficher la position de la première lettre dans la chaîne.
    Exemple pour CH'234YHT09' :
    le programme affichera comme résultat: la première lettre est :Y dans la position 4.
    Merci d'avance

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 411
    Points
    59 411
    Billets dans le blog
    2
    Par défaut
    Bonjour et bienvenue,

    Pour que l'on puisse t'aider, il faudrait au moins que tu montres ce que tu as fait et que tu désignes ce qui te pose problème.

    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Voilà que j'ai essayé mais ça ne marche plus
    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 chaine;
    uses
      wincrt;
    var
      ch: string;
      i, p: integer;
    begin
      writeln('donner une chaine');
      readln(ch);
      for i:=1 to length (ch) do
       begin
          if ch[i] in ['a'..'z'] then
            p:= pos(ch[i],ch);
          writeln('la première lettre est ', ch[i],' dans la position',p);
        end;
    end.

  4. #4
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 069
    Points : 15 448
    Points
    15 448
    Billets dans le blog
    9
    Par défaut
    Bonjour !

    Tout d'abord, pensez à utiliser les balises appropriées pour insérer du code dans vos messages. Voyez l'explication que j'ai donnée ici, avec l'image jointe.

    Maintenant, concernant votre code, il y a plusieurs petits problèmes à régler.

    En premier lieu, cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    writeln('la première lettre est ', ch[i],' dans la position',p);
    s'exécute pour toutes les valeurs de i, qu'une lettre ait été trouvée ou non.

    En second lieu, l'emploi de for ne convient pas à ce que vous voulez faire, puisqu'on ne demande que la première lettre trouvée. Une boucle de type

    serait plus appropriée.

    Enfin, votre code ne détecte que les minuscules, alors que l'énoncé demande de rechercher les lettres.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  5. #5
    Membre expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti chat, bienfaiteur de tritons et autres bestioles

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 552
    Points : 3 918
    Points
    3 918
    Par défaut
    Salut

    L'emploi de l'instruction for ne me choque pas en soi mais il faut interrompre la boucle à la première lettre trouvée et, comme le dit Roland, afficher le texte de réponse uniquement en cas de recherche fructueuse.

    L'emploi de Pos ne sert à rien puisque l'indice de boucle i est la position à proprement parler.

    Enfin, l'implémentation d'une fonction serait du plus bel effet.

    @+

    M E N S . A G I T A T . M O L E M
    Debian 64bit, Lazarus + FPC -> n'oubliez pas de consulter les FAQ Delphi et Pascal ainsi que les cours et tutoriels Delphi et Pascal

    "La théorie, c'est quand on sait tout, mais que rien ne marche. La pratique, c'est quand tout marche, mais qu'on ne sait pas pourquoi. En informatique, la théorie et la pratique sont réunies: rien ne marche et on ne sait pas pourquoi!".
    Mais Emmanuel Kant disait aussi : "La théorie sans la pratique est inutile, la pratique sans la théorie est aveugle."

Discussions similaires

  1. Réponses: 12
    Dernier message: 17/04/2015, 12h48
  2. Réponses: 0
    Dernier message: 17/09/2012, 20h00
  3. [MySQL] Afficher en fonction de la première lettre..
    Par jim1 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 12/04/2007, 13h42
  4. [VB.NET] Mettre la première lettre d'une String en majuscule
    Par annedeblois dans le forum Windows Forms
    Réponses: 6
    Dernier message: 27/10/2006, 17h47
  5. Récupérer les deux premières lettres d'une chaine
    Par moscovisci dans le forum ASP
    Réponses: 3
    Dernier message: 10/01/2006, 14h53

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