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 :

mini-exercice court sur la récursivité


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 22
    Par défaut mini-exercice court sur la récursivité
    Bonjour, je dois écire en C une fonction somme qui calcule et renvoie à l'apelant la valeur de 1+1/2+1/3+1/4+...
    1)déterminer la réccurence mathématique qui définit cette somme.
    2)écrire en C la fonction somme sous forme récursive, le paramètre fourni étant le nombre de termes de la somme à calculer
    3)écrire en C les quelques lignes permettant d'appeler la fonction somme, de récupérer le résultat et de l'afficher.

    Quelqu'un pourrait t'il me dnner la correction? il est tiré d'un livre, et selon ce dernier, il est facile, mais je n'arrive pas à le faire.
    Je vous remercie par avance.

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Bonjour, non, nous ne pouvons pas.
    C'est explicitement interdit par la charte que nous avons tous accepté en nous inscrivant sur le forum.
    article IV-N
    IV-N. Lycéen, collégien, étudiant, (bref un apprenti développeur)


    Vous êtes les bienvenus ici pour vous former.

    Vous former, cela veut dire lire les cours et tutoriels :
    http://www.developpez.com/cours/

    et éventuellement poser vos questions en français correct si vous avez besoin d'aide, dans un seul forum, et dans le respect des règles du forum.

    Nous ne sommes pas là pour faire vos exercices.
    Entendez par là que nous serons bien évidemment tout à fait d'accord pour vous aider à résoudre votre problème, pour autant que vous fassiez vous-même des efforts.
    Postez votre question, mais proposez également un début de solution, un bout de code, etc. En aucun cas, nous ne ferons le travail à votre place.

    Merci de votre compréhension.

    PS : Merci aux étudiants qui participent à developpez.com en écrivant des tutoriels ou en répondant aux messages des autres sur des sujets qu'ils maîtrisent bien.
    Par contre, nous pouvons t'aider à la trouver.
    Comment comprends-tu le problème?
    La première question n'est pas liée au code, mais à la programmation elle-même: c'est l'analyse du problème. Comment y réponds-tu?

    PS: ce n'est pas moi qui aie

  3. #3
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 22
    Par défaut
    1)
    S=Somme(1/n)

    Pourriez-vous m'aider à le corriger, je sais que c'est simple mais j'arrive vraiment pas à le faire, de plus dans 2 heures j'aurai un controle sur ce type d'exercice.
    Je vous remercie par avance

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Bonjour,
    Citation Envoyé par couturierclaire Voir le message
    1)
    S=Somme(1/n)

    Pourriez-vous m'aider à le corriger, je sais que c'est simple mais j'arrive vraiment pas à le faire, de plus dans 2 heures j'aurai un controle sur ce type d'exercice.
    Je vous remercie par avance
    C'est tout ce que tu as trouvé pour nous faire croire que tu as bossé dessus ?

    developpez.net n'est pas synonyme de On-fait-tes-devoirs-à-ta-place.gratuit.

  5. #5
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Aller, je te mets sur la voie:
    1)déterminer la réccurence mathématique qui définit cette somme.
    deux noms dans la question, récurrence et somme.
    Tu nous a donné une expression analytique de la somme: s = somme i=1 .. ? {1/i}.
    Pour être plus précis, c'est l'expression de Sn.

    Que signifie récurrence (en mathématique)?
    Quelle est donc la définition par récurrence de cette somme?

    Pour information, en termes mathématiques, on parlerait de somme des termes d'une suite, donc de série.

    Préparation à la question 2):
    écrire en C la fonction somme sous forme récursive, le paramètre fourni étant le nombre de termes de la somme à calculer
    Qu'appelle-t-on une fonction récursive en programmation?

  6. #6
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 292
    Par défaut
    Bonjour

    Qu'appelle-t-on une fonction récursive en programmation?
    Aïe, aïe aïe. Je crois que tu as mis le pied sur une mine. Car entre la récursivité, la récursivité terminale, la simple itération, etc, je ne crois pas que tout le monde soit d'accord sur ce qu'est la récursion.
    Par exemple, la récursivité nécessite-t-elle toujours une pile ? Une boucle étant un bout de code qui s'appelle lui-même, est-elle récursive ? ...

  7. #7
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 485
    Par défaut
    Citation Envoyé par couturierclaire Voir le message
    Quelqu'un pourrait t'il me dnner la correction? il est tiré d'un livre, et selon ce dernier, il est facile, mais je n'arrive pas à le faire.
    Je vous remercie par avance.
    Comprenons-nous bien : disposer de la correction d'un exercice que l'on cherche à faire, c'est effectivement appréciable… quand on travaille dessus ! Donc, le problème est toujours le même : on peut t'orienter, on peut même corriger ton travail, à condition que tu commences par nous montrer ce que tu as écrit sur le sujet en question. Chose que tu avais commencé à faire dans tes discussions précédentes, d'ailleurs.

    Citation Envoyé par couturierclaire Voir le message
    1)
    S=Somme(1/n)

    Pourriez-vous m'aider à le corriger, je sais que c'est simple mais j'arrive vraiment pas à le faire, de plus dans 2 heures j'aurai un controle sur ce type d'exercice.
    Je vous remercie par avance
    Tu réalises bien que te donner la solution toute faite ne te sera d'aucun secours dans ce cas précis : tu vas effectivement la regarder, mais tu ne pourras pas t'y référer pendant l'examen. Donc, si tu n'as pas compris comment cela fonctionne, tu vas échouer à nouveau.

    Au passage, leternel t'a mis sur la bonne voie en te posant les bonnes questions :
    Citation Envoyé par leternel
    — Que signifie récurrence (en mathématique) ?
    — Quelle est donc la définition par récurrence de cette somme ?
    — Qu'appelle-t-on une fonction récursive en programmation ?
    Peux-tu nous donner dans ce fil ta propre définition de ces notions et la meilleure réponse à apporter, selon toi, à ces trois questions ?
    Dès lors que ceci sera clair, le reste du code te viendra naturellement.

  8. #8
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par couturierclaire Voir le message
    ...de plus dans 2 heures j'aurai un controle sur ce type d'exercice.
    Hey, bonne chance !!!

    Citation Envoyé par droggo Voir le message
    developpez.net n'est pas synonyme de On-fait-tes-devoirs-à-ta-place.gratuit.
    Non mais peut-être que On-fait-tes-devoirs-à-ta-place.tres_cher pourrait être...

    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  9. #9
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Maintenant que le contrôle est passé, on peut jouer un peu plus.

    récursion, récurrence et récursivité.

    récursivité est un nom, qui désigne l'état de ce qui est récursif.
    récursion est aussi un nom, et désigne l'action qui rend un comportement récursif.

    récurrence est encore un nom et désigne quelque chose de répétitif mais pas forcément régulier.
    Par exemple, le lever du jour, la grêve de la ratp le jour du bac de philo, la pluie, la neige, ou les demandes de corrections d'exercice sur notre forum.
    Avec un phénomène récurrent, on a toujours un petit côté "déjà vu"

    En mathématique, une définition est faite par récurrence quand elle donne une définition primitive et une manière de créer un nouvel élément.
    Par exemple, voici une définition par récurrence des entiers:
    Il existe un entier 0 élément neutre de l'opération d'addition dans l'ensemble des entiers.
    il existe un second entier, l'unité, noté 1.
    Si i est un entier, i+1 est aussi un entier.
    Elle n'est pas exactement complète, il manque une explication de +, mais ca donne l'idée.

    En programmation, une fonction est récursive dès lors qu'elle s'appelle elle-même.
    On parle de récursion indirecte s'il y a une cycle dans une chaine d'appel de fonction.

    Plus concrêtement, une fonction est récursive dès lors qu'elle est appelée par sa définition.
    Exactement comme une formule mathématique est récursive dès lors qu'elle est utilisée par sa définition.

    Exemple de formule récursive: Sn = Sn-1 + 1/n
    Exemple de fonction récursive: int f(int i) { return (i > 1) ? i*f(i-1) : i;}

  10. #10
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 292
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Hey, bonne chance !!!


    Non mais peut-être que On-fait-tes-devoirs-à-ta-place.tres_cher pourrait être...

    Ou sinon, on pourrait proposer On-fait-tes-devoirs-faux-à-ta-place.gratuit comme ceux qui mettent de mauvais documents en téléchargement pour dissuader les internautes de télécharger illégalement.

    Mais pourquoi suis-je aussi méchant ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/03/2012, 20h26
  2. [Débutant] exercice sur la récursivité
    Par neufrdb dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 03/03/2011, 17h59
  3. Exercice sur la récursivité
    Par weld sad9ia dans le forum Pascal
    Réponses: 5
    Dernier message: 22/12/2007, 09h33
  4. Pb sur une récursivité
    Par Maelen dans le forum Langage
    Réponses: 3
    Dernier message: 09/08/2006, 11h50
  5. [Exercice] Aide sur requête
    Par Dobyan08 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 09/02/2006, 15h47

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