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 :

Exercices (niveau débutante)


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 28
    Par défaut Exercices (niveau débutante)
    Bonjour, bonsoir,

    Je suis en L1 de maths et je suis débutante en info (initiation à la programmation).
    J'ai plusieurs exercices et je viens chercher de l'aide et des explications à ceux que je ne comprends pas...

    On a le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int borne = 5;
    int somme = 0;
    for(int i=0; i<=borne; i++){
    somme=somme+i;
    }
    (Donc là, suivant les valeurs de i : 0, 1, 2, 3, 4, 5, somme sera égale à 0, 1, 3, 6, 10 et 15, c'est bien ça ?)

    Questions :
    1/ Modifier le code précédent pour calculer la somme des entiers de 10 à 100.
    2/ Ecrire une fonction int sumIntegers (int n) qui retourne la somme des entiers de 0 à n.

    Pour la 1/, j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    somme=0;
    for(int i=10, i<=100; i++){
    somme=i+somme;
    }
    Parce que j'essaye de visualiser...
    Quand i=10 : somme = 10+0=10
    Quand i=11 : somme = 11+10=21
    Quand i=12 : somme = 12+11+10=33
    Etc
    C'est bien cela ?

    Et pour la 2/, j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int n;
    somme=0;
    for (i=0; i<=n; i++){
    somme=somme+i;
    Return(somme);
    }
    C'est bien cela ?

    Je vous remercie d'avance !
    Bonne journée/soirée.

  2. #2
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 28
    Par défaut
    Oups, j'ai posté trop vite.

    La dernière question est :
    Ecrire une boucle permettant de calculer la somme des cubes des entiers de 1 à 100.

    Pour celui j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sommecarre=0;
    for (int i=1; i<=100; i++){
    sommecarre=(i+sommecarre)^3;
    }
    Mais ça me paraît incohérent et pas du tout juste lorsque j'essaye de "résoudre" ma boucle toute seule...
    Pouvez-vous m'aider ?

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par Ennydra Voir le message
    Pour celui j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sommecarre=0;
    for (int i=1; i<=100; i++){
    sommecarre=(i+sommecarre)^3;
    }
    Mais ça me paraît incohérent et pas du tout juste lorsque j'essaye de "résoudre" ma boucle toute seule...
    Alors là déja tu essaie de faire systématiquement le cube du résultat précédent, genre 1 => (1+2) au cube =9 => (9+3) au cube = 1728 => (1728+4) au cube ~= 5 milliards
    alors qu'on te demande de juste faire le cube de i.

    Ensuite, la notation ^ en java, ce n'est pas le cube, c'est le XOR bit à bit
    Le cube, faut le calculer à la main, pas bien dur

  4. #4
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Ensuite, la notation ^ en java, ce n'est pas le cube, c'est le XOR bit à bit
    le vilain pratiquement jamais utilisé d'ailleurs, je l'avais même oublilé

    Citation Envoyé par tchize_ Voir le message
    Le cube, faut le calculer à la main, pas bien dur
    à la main == Math.pow(i, 3), bien sûr

  5. #5
    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 Pill_S Voir le message
    à la main == Math.pow(i, 3), bien sûr
    Euh, moi j'aurais dit i*i*i. Déjà c'est plus facile à trouver tout seul, et ça évite de partir dans les calculs flottants.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 28
    Par défaut
    Coucou à tous,
    Je vous remercie pour vos réponses.

    joel.drigo, le code sera donc (pour la question 2/) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public int sumIntegers (int n) {
       int somme=0;
       for (int i=0; i<=n;i++){
          somme=somme+i;
       }
       return(somme);
    }
    J'oublie toujours de déclarer le type de ma variable, alors que pourtant je le sais, c'est dingue !
    Sinon merci de m'avoir corrigée pas à pas, j'ai bien vu où se trouvaient mes erreurs

    Pour la question 3/, c'est une autre histoire...
    Déjà je ne suis pas sûre de bien comprendre la question. Est-t-il bien demandé de calculer la somme des cubes de 1 à 100 donc :
    Pour i=1, 1^3...
    Pour i=2, 1^3 + 2^3...
    Pour i=3, 1^3 + 2^3 + 3^3...
    ...
    Pour i=100, 1^3 + 2^3 + 3^3 + ... + 100^3 ?
    C'est bien la question ?

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Citation Envoyé par Ennydra Voir le message

    (Donc là, suivant les valeurs de i : 0, 1, 2, 3, 4, 5, somme sera égale à 0, 1, 3, 6, 10 et 15, c'est bien ça ?)
    Oui.

    Citation Envoyé par Ennydra Voir le message
    Pour la 1/, j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    somme=0;
    for(int i=10, i<=100; i++){
    somme=i+somme;
    }
    C'est bien cela ?
    oui (si somme est bien déclaré ailleurs comme int, sinon il faut int somme=0;.

    Citation Envoyé par Ennydra Voir le message
    Et pour la 2/, j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int n;
    somme=0;
    for (i=0; i<=n; i++){
    somme=somme+i;
    Return(somme);
    }
    C'est bien cela ?
    non (enfin presque), on te demande de faire une méthode qui s'appelle int sumIntegers (int n), donc il faut quelque chose comme ça au moins :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public int sumIntegers (int n) {
       ...
    }
    Il faut enlever la déclaration de n (int n).

    Ensuite, il y a un problème d'accolade dans ton code : si tu mettais ton code tel quel dans la méthode ci-dessus (à la place des ...), tu n'aurais jamais comme résultat que la somme de la première itération, donc 0.

    Dans le for, il manque le type de la variable i :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    for (int i=0; i<=n; i++)
    Et, comme dans le cas précédent, la variable somme n'a pas de type :

    En plus, c'est return, par Return (tous les mots clefs Java sont toujours en minuscules).



    A noter, qu'on pourrait éviter l'itération où i vaut 0, vu que c'est l'élément neutre de l'addition (faire for(int i=1; i<=n; i++) )
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. [Tableaux] Exercice de débutant
    Par kazane dans le forum Langage
    Réponses: 10
    Dernier message: 15/09/2006, 02h19
  2. [Conseil] Livre Algo-maths niveau débutant
    Par spilliaert dans le forum Débuter
    Réponses: 11
    Dernier message: 21/04/2006, 19h57
  3. [MFC] Lire une string (niveau débutant)
    Par Korskarn dans le forum MFC
    Réponses: 10
    Dernier message: 24/08/2005, 18h38

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