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 Delphi Discussion :

Boucle moins un chiffre


Sujet :

Langage Delphi

  1. #1
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Février 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 537
    Points : 460
    Points
    460
    Par défaut Boucle moins un chiffre
    Bonjour,
    est-il possible de faire une boucle - un chiffre?
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for I := 0 to 25 do
    begin
    Mais je souhaiterais que I passe de 11 à 13 sans passer par 12.
    André
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait !

  2. #2
    Membre confirmé Avatar de vg-matrix
    Inscrit en
    Février 2007
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Février 2007
    Messages : 1 220
    Points : 612
    Points
    612
    Par défaut
    Une boucle - un chiffre c'est à dire? parceque selon l'exemple que tu donne (11 à 13 sans passer par 12), c'est plutôt faire une incrémentation de 2 pas. Si c'est cela, on peut le faire. Mais je prefere que tu sois un peu plus précis pour avoir la reponse juste.
    Il est difficile de retrouver ses erreurs lorsqu'on est persuadé que son code est juste...

    Groupe des développeurs ivoiriens

  3. #3
    Inactif  
    Inscrit en
    Mars 2006
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 352
    Points : 292
    Points
    292
    Par défaut
    Bonjour,

    tu peux faire ceci :
    Code Pascal : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for i := 0 to 25 do
    begin
      if i <> 12 then
        traitement;
    ...
    end;
    À moins que tu voulais manipuler uniquement des entiers impairs ?
    Code Pascal : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    i := 1;
    while (i < 26) do
    begin
      traitement;
      i := i + 2;
    end;
    Cordialement,
    Sidahmed

  4. #4
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Février 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 537
    Points : 460
    Points
    460
    Par défaut
    Merci pour vos réponses,
    c'est tellement évident que j'en ai honte
    Comme quoi des fois, on a la solution devant les yeux et on ne la voi pas.
    C'est la 1ere solution de sidahmed que je retiens.
    Encore merci à vous deux,

    André
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait !

  5. #5
    Membre expérimenté Avatar de guillemouze
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    876
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 876
    Points : 1 448
    Points
    1 448
    Par défaut
    je te conseille plutôt de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for i := 0 to 11 do
    begin
        traitement;
    end;
    for i := 13 to 25 do
    begin
        traitement;
    end;
    en effet, dans la solution de sidahmed, tu fera 25 fois la vérification que i est <> de 12, alors qu'avec cette solution, tu supprime 25 tests !!!
    ça fait pas beaucoup pour une boucle de 25, mais quand tu as beaucoup plus d'itérations, ça te fait gagner un peu de temps

  6. #6
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Février 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 537
    Points : 460
    Points
    460
    Par défaut
    guillemouze,
    tu as raison sur le principe mais cela ne m'arrange pas car dans l'exemple, j'ai déterminé 12 comme chiffre à exclure mais en fait, ce chiffre est une variable
    qui peut changer (e:=12).
    Merci à toi.

    André
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait !

  7. #7
    Membre expérimenté Avatar de guillemouze
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    876
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 876
    Points : 1 448
    Points
    1 448
    Par défaut
    Ok. garde néanmoins cette idée en tête, elle peut te faire gagner pas mal en performances sur les longues boucles.
    cependant, tu peux quand même faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for i := 0 to e-1 do
      traitement
     
    for i := e+1 to n do
      traitement

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 20/04/2011, 16h44
  2. Réponses: 3
    Dernier message: 25/11/2008, 11h15
  3. boucle moins moins..aide
    Par mitherkiller dans le forum C
    Réponses: 11
    Dernier message: 02/03/2007, 17h43
  4. [Expression reguliere] au moins 6 caracteres avec 1 chiffre
    Par royto dans le forum Autres langages
    Réponses: 2
    Dernier message: 06/02/2006, 14h40
  5. [C#] 3 chiffres ni plus ni moins
    Par niPrM dans le forum Windows Forms
    Réponses: 1
    Dernier message: 02/06/2004, 10h51

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