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

avec Java Discussion :

Explication exercice en Java


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Par défaut Explication exercice en Java
    bonjour ,
    est ce que vous pouvez m'expliquer, comment on a obtenu ces résultats :
    n = p = 0 ;
    while (n<=8) n+= p++ ; donne n=10 ??

    n = p = 0 ;
    while (n<=5) n+=p++; donne n = 15 ??

    Merci.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par psg007 Voir le message
    est ce que vous pouvez m'expliquer, comment on a obtenu ces résultats :
    En consommant certaines substances hallucinatoires, ou alors en admettant une définition très créative de "ça donne n = 15".

    La première boucle se termine bien en laissant n à la valeur 10.

    Mais la deuxième le laisse à la valeur 6 et non pas 15. Il aurait en effet été étrange, et en fait impossible, que n obtienne une plus grande valeur dans la deuxième boucle que dans la première, puisqu'elles font le même traitement qui ne va que croissant, et que la seconde s'arrête plus tôt.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Par défaut
    Citation Envoyé par thelvin Voir le message
    En consommant certaines substances hallucinatoires, ou alors en admettant une définition très créative de "ça donne n = 15".

    La première boucle se termine bien en laissant n à la valeur 10.

    Mais la deuxième le laisse à la valeur 6 et non pas 15. Il aurait en effet été étrange, et en fait impossible, que n obtienne une plus grande valeur dans la deuxième boucle que dans la première, puisqu'elles font le même traitement qui ne va que croissant, et que la seconde s'arrête plus tôt.
    c'est un exercice d'un auteur très reconnu dans le domaine de la programmation
    le même exercice a été donné en C et en java , et c'est le même résultat.
    donc il faut bien penser avant de dire quoi que ce soit .
    Merci.

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Citation Envoyé par psg007 Voir le message
    c'est un exercice d'un auteur très reconnu dans le domaine de la programmation
    le même exercice a été donné en C et en java , et c'est le même résultat.
    donc il faut bien penser avant de dire quoi que ce soit .
    Merci.
    Donne le nom de ton auteur, ainsi que ton code compilable en C et en Java.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Avril 2010
    Messages : 59
    Par défaut
    n = p = 0 ;
    while (n<=8) n+= p++ ; donne n=10 ??


    1ere itération:
    n=0, p=0 en sortie n = 0 et p = 1

    2e itération:
    n=0, p=1 en sortie n = 1 et p = 2

    3e itération:
    n=1, p=2 en sortie n = 3 et p = 3

    4e itération:
    n=3, p=3 en sortie n = 6 et p = 4

    5e itération:
    n=6, p=4 en sortie n = 10 et p = 5
    et n=10 est bien > à 8.


    n = p = 0 ;
    while (n<=5) n+=p++; donne n = 15 ??


    pour le 2e on s'arrete encore plutot vu que n doit être > 5, si on regarde les étapes précédentes, ça serait:
    4e itération:
    n=3, p=3 en sortie n = 6 et p = 4

  6. #6
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Par défaut
    Le code est :
    n = p = 0 ;
    while(n<=5) n+=++p ; ça donne bien n=15 ;
    Merci

  7. #7
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Mais la deuxième le laisse à la valeur 6 et non pas 15. Il aurait en effet été étrange, et en fait impossible, que n obtienne une plus grande valeur dans la deuxième boucle que dans la première, puisqu'elles font le même traitement qui ne va que croissant, et que la seconde s'arrête plus tôt.
    Moi aussi j'arrive a 6 et non 15 ... ca devaient vraiment être de la bonne.
    Donc pour moi, pgs007, a moins que tu ne nous prouves le contraire, c'était a toi de mieux penser (sans agressions, nous sommes peut être tous deux dans l'erreur)... Et puis si le résultat avait été différent du C a java ... je pense que ca aurait été assez grave.

    Voici d'ailleurs les valeurs dans la boucle après affection a n

    N = 0
    P = 1
    N = 1
    P = 2
    N = 3
    P = 3
    N = 6
    P = 4
    Valeurs finale:
    N = 6
    P = 4
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Exercice sur Java
    Par romain1 dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 16/06/2008, 19h53
  2. Livre d'exercice pour Java Oo
    Par hardokin dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 02/04/2008, 15h35
  3. explication ArrayList en java
    Par drexlbob dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 02/02/2008, 00h54

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