Bonjour
Comment puis-je programmer en Pascal une procédure récursive qui calcule la somme des chiffres d'un entier?
Merci
Bonjour
Comment puis-je programmer en Pascal une procédure récursive qui calcule la somme des chiffres d'un entier?
Merci
Bonsoir,
Principe : a + b = a + (b - 1) + 1.
--
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Somme(a, b : entier) : entier Début Si b = 0 alors Retourner a; Sinon Retourner 1 + Somme(a, b - 1); FinSi Fin
Wachter
Code parrain certification Voltaire : NTMPH759
Bonjour
Surtout qu'il faut faire la somme des chiffres d'un entier, il faut d'abord penser a extraire ces chiffres avant de les sommer entre eux
Avec cette fonction, extraction deux par deux et sommer avec une somme globale chaque somme.
Mais je crois que ce que demande l'énoncé est une fonction qui prend en paramètre l'entier et qui renvoie la somme des chiffres
Cordialement
Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !
Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells
Bonjour
Si on a bien compris ta fonction a savoir faire la somme de deux entiers en voyant ce que j'ai dit :
On comprendrait que quand je dis 'extraction deux par deux' que je dis par exemple si on a 123 comme tu dis l'extraction doit être 1 et 2 et ensuite 3 et 0 (a moins que ce j'ai dit n'était pas très clair ) ou si on a 1234 ça serait plutôt 1 et 2 et 3 et 4.Envoyé par krachik
D'accord avec toiÀ mon avis, une fonction récursive est censée faire une seule chose, pas plus !
--
Wachter
La encore excuses moi de jouer sur les mots
je n'ai pas écrit une fonction récursive sachant qu'il y a extraction et calcul de somme, pour être plus claire une fonction qui prend un entier et retourne un autre entier(somme des chiffres de l'entier passé en paramètre) et c'est dans cette fonction qu'on calculera la somme des chiffres après extraction.Envoyé par krachik
Cordialement
Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !
Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells
Bien que tu n'as pas écrit fonction récursive, je sous-entendais cela, sinon on sort complètement du sujet !
Bref, voici la version itérative de l'algorithme de résolution de cet exercice, et je laisse le soin au posteur du message d'écrire sa version récursive, quoique ce n'est pas toujours évident de passer de l'itératif vers le récursif :
--
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Lire (nombre); somme = 0; Tant que (nombre > 0) i = nombre % 10; somme = somme + i; nombre = nombre / 10; Fin Tant que Afficher(somme);
Wachter
Code parrain certification Voltaire : NTMPH759
Essaye:
a+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function _SommeChiffres_(Const nbr :Integer) :Integer; begin if nbr>0 then _SommeChiffres_ := ( nbr mod 10 ) + _SommeChiffres_( nbr div 10 ) else _SommeChiffres_ := 0 end;
______________________________________________________________________
Le sketch qui m'a marqué le plus! écoutez les programmeurs : Site de Yan Marchal
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager