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

 C Discussion :

Fonction inverse


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Fonction inverse
    bonjour a toutes et a tous, cherchant a préparer un petit contrôle de langage C, j'effectues quelques exercices donnés par mon professeur, actuellement je suis bloqué a l'exercice 2 question 2:
    je ne comprend pas le 1er point et ne sait pas comment réaliser une fonction inverse (3eme point).
    Pour l'instant j'ai réalisé le code suivant (sur codeblocks) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    int main()
    {
        double k ;
        int n=50;
        double y ;
        for (k=1 ; k<=n ; k++)
        {
            y = 1/pow(k,2) ;
        }
        printf("la valeur finale de cette boucle est %f ", y);
     
        return 0;
    }
    Nom : feuilleexoc.jpg
Affichages : 3059
Taille : 808,9 KoNom : feuilleexoc.jpg
Affichages : 3059
Taille : 808,9 Ko

  2. #2
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 648
    Points
    7 648
    Par défaut
    Bonjour,

    Question 2.1:
    Ton code est à corriger. Il ne calcule pas la somme; La preuve il n'y a pas la variable somme, suis bien l'exemple de l'énoncé!

    Question 2.2:
    Il faut définir 3 fonctions, puis utiliser chacune de ces trois fonctions en remplaçant dans le code précédent le calcul direct par l'appel d'une fonction.
    Par exemple, définition de addition() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    double addition( double a, double b ) {
       return a + b;
    }
    Et dans le main(), on remplace somme = somme + y; qui devient somme = addition( somme , y );.

    Question 2.3:
    Il demander à l'utilisateur d'entrer une réponse. Pour poser la question, on utilise printf(). Pour attendre une réponse on utilise scanf(). Attention la syntaxe de scanf() est particulière.

    Question 3 :
    Il n'y a pas l'énoncé! De toute façon nous attendrons ton nouveau code pour avancer.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci!
    Je vais donc suivre tes indications.
    Je partagerais le nouveau code demain ou si j'ai le temps en fin de journée.

  4. #4
    Membre expérimenté
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 543
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,
    Citation Envoyé par dalfab Voir le message
    Bonjour,
    Question 2.1:
    Ton code est à corriger. Il ne calcule pas la somme; La preuve il n'y a pas la variable somme, suis bien l'exemple de l'énoncé!
    Il y’a une petite erreur de compréhension.
    "somme", est bel et bien, une variable que l’on doit déclarer et utiliser et ceux afin de répondre aux questions poser et il n’y a pas que la variable somme qu’il faut déclaré. Il y'a également la variable "k" incrémentée par une variable d’incrémentation "n" qui prend successivement les valeurs de 0 à N (soit 0 à 50). D’ailleurs l’énoncé de la question est bien clair: "On souhaite écrire un programme qui calcul la somme de X pour K allant de 1 a N. sans boucle, le corps du code aurrais l’allure suivante…"
    Il est donc clair que le code proposer dans l’énoncer n’est pas le code corriger, mais un exemple de code et comportement sans une boucle du programme. Et donc les question posé par la suite vous demande d’appliquer des solutions (utilisation de boucle etc..) afin de répondre a la question posé.
    à bientôt
    Celui qui peut, agit. Celui qui ne peut pas, enseigne.
    Il y a deux sortes de savants: les spécialistes, qui connaissent tout sur rien,
    et les philosophes, qui ne connaissent rien sur tout.
    George Bernard Shaw

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    En suivant vos conseils je suis arrivé au code suivant : Il est bon (dans le sens ou il marche et apres verification, pour n=0, n=1 et n=2 les valeur de somme sont juste). Est-ce bien ce qui est demandé ?
    Et quand on créait une fonction, le nom des variables n'est pas important ou il en faut tout le temps des différente (p ar exemple j ai pris r, v et s de peur qu'il y ait un problème lors du return).

    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
    #include <stdio.h>
    #include <stdlib.h>
     
    double inverse (double x);
    double carre (double x);
    double addition (double x, double z);
     
    int main()
    {
        double k ;
        double somme ;
        int n=50;
        for (k=1 ; k<=n ; k++)
        {
            somme = addition (somme, inverse( carre( k ))) ;
        }
        printf("la valeur finale de cette boucle est %f ", somme);
     
      return 0;
    }
     
    double inverse (double x)
    {
        double r ;
        r = 1/x ;
        return r ;
    }
     
    double carre (double x)
    {
        double v ;
        v = x * x ;
        return v ;
    }
     
    double addition (double x, double z)
    {
        double s ;
        s = x + z ;
        return s ;
    }

  6. #6
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 648
    Points
    7 648
    Par défaut
    Bonjour,

    au début du main(), il faut penser à mettre somme à 0 avant d'effectuer des opérations (sinon elle débute aléatoirement.)

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    D'accord!
    en prenant compte de ton message j'ai fais la question 3 ( et ai rajouté somme = 0 )


    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
    double inverse (double x);
    double carre (double x);
    double addition (double x, double z);
    int saisie ();
     
    int main()
    {
        double k ;
        double somme ;
        int n ;
        somme =0 ;
     
        n = saisie();
        for (k=1 ; k<=n ; k++)
        {
            somme = addition (somme, inverse( carre( k ))) ;
        }
        printf("la valeur finale de cette boucle est %f ", somme);
     
        return 0;
    }
     
    double inverse (double x)
    {
        double r ;
        r = 1/x ;
        return r ;
    }
     
    double carre (double x)
    {
        double v ;
        v = x * x ;
        return v ;
    }
     
    double addition (double x, double z)
    {
        double s ;
        s = x + z ;
        return s ;
    }
     
    int saisie ()
    {
        int n ;
        printf("Choisissez une valeur de n comprise entre 0 et 100 puis taper sur Entree\n");
        scanf("%d", &n);
        return n;
    }

Discussions similaires

  1. [C#] fonction inverse de Color.ToString().
    Par OpenGG dans le forum C#
    Réponses: 8
    Dernier message: 08/11/2006, 10h15
  2. fonctions inverse en c
    Par deboraya dans le forum C
    Réponses: 8
    Dernier message: 18/10/2006, 14h21
  3. Fonction inverse de ASCII
    Par noirot dans le forum Oracle
    Réponses: 1
    Dernier message: 15/06/2006, 15h30
  4. Fonction inverse de InttoHex
    Par marsupilami34 dans le forum Langage
    Réponses: 11
    Dernier message: 06/07/2005, 15h04
  5. [VB6]fonction inverse de Hex (nombres hexadécimaux)
    Par Guigui_ dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 08/10/2002, 19h31

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