IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> programme en C
Options
castafiory
posté 8 Nov 2012, 19:41
Message #1


Nouveau Membre


Groupe : Membres
Messages : 6
Inscrit : 7 Nov 2012
Membre no 180 303



bonsoir ,
Mon programme permet d'afficher la somme de la suite S
sans utiliser la fonction pow de la bibliotheque <<math.h>>
avec S=1/2!+2/3!+3^2/4!+....+N^(N-1)/(N+1)!
voila ce que j'ai fait:

#include<stdio.h>
int main()
{int j,i,s,s1,s2,somme,n;
n=1;
s=0;
s1=0;
s2=0;
for (i=1;i<=n;i++)
{
for(j=1;j<i;j++)
s1=j*i;
s2=s2*i;
s=s1/s2;
somme=somme+s;
n++;
}
printf("la somme de la suite est:%d\n",somme);

}

je veux bien que vous m'aider à corriger se programme
Merci à tous


Go to the top of the page
 
+Quote Post
noop
posté 8 Nov 2012, 23:17
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 859
Inscrit : 3 Nov 2005
Membre no 49 239



as tu essayé de faire tourner ton programme ´a la main ´ ?

Go to the top of the page
 
+Quote Post
castafiory
posté 9 Nov 2012, 01:02
Message #3


Nouveau Membre


Groupe : Membres
Messages : 6
Inscrit : 7 Nov 2012
Membre no 180 303



j'ai essaye de le faire a la main mais il y a un problème au niveau du factorielle
Go to the top of the page
 
+Quote Post
audionuma
posté 9 Nov 2012, 09:04
Message #4


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 1 658
Inscrit : 27 Apr 2004
Membre no 18 176



Bonjour,
plutôt que de balancer ton code brut en demandant de l'aide, tu pourrais :
- utiliser une mise en forme un peu plus lisible (indentation par exemple)
- mettre des commentaires pour expliciter ce que tu essayes de faire
- et effectivement prendre en compte le fait que les factorielles croissent très rapidement et te demander pour quel n n! va dépasser la capacité de ton processeur si n! est un int (càd pour quel n n! va être plus grand que le plus grand entier représentable sur ta machine, le plus grand entier représentable valant probablement (2^32 - 1) ou (2^64 - 1) suivant ton processeur)

rien que ça devrait t'aider à améliorer toi même ton code ...

Ce message a été modifié par audionuma - 9 Nov 2012, 09:05.


--------------------
Membre du club des AIPBP (Anciens Inscrits Pas Beaucoup de Posts) Voir la liste
Go to the top of the page
 
+Quote Post
noop
posté 9 Nov 2012, 09:34
Message #5


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 859
Inscrit : 3 Nov 2005
Membre no 49 239



Citation (audionuma @ 9 Nov 2012, 09:04) *
Bonjour,
plutôt que de balancer ton code brut en demandant de l'aide, tu pourrais :
- utiliser une mise en forme un peu plus lisible (indentation par exemple)
- mettre des commentaires pour expliciter ce que tu essayes de faire
- et effectivement prendre en compte le fait que les factorielles croissent très rapidement et te demander pour quel n n! va dépasser la capacité de ton processeur si n! est un int (càd pour quel n n! va être plus grand que le plus grand entier représentable sur ta machine, le plus grand entier représentable valant probablement (2^32 - 1) ou (2^64 - 1) suivant ton processeur)

rien que ça devrait t'aider à améliorer toi même ton code ...


+1.

Je ne sais pas qui est son professeur d'informatique, mais il me semble que aucune base de la programmation n'a été enseigné.
C'est ahurissant de voir celà.

Par le passé, l'algorithmique était enseignée avec un pseudo langage dans lequel on met des commentaires !
Code
SI ....
    ALORS......
    SINON
    FINSI
TANT QUE ....
    FAIRE ....
    FAIT

i = i + 1

etc....


Avant de se lancer dans un problème, on le décrit et on fait l'algo. Puis on fait touner l'algo à la main pour vérifier son adéquation au problème.

La traduction de l'algo en langage de programmation n'est qu'un problème de syntaxe et de cuisine. Après il est temps de se pencher sur les problèmes comme cités ci-dessus des débordements de valeur, registre et autre joyeusetés propres à chaque langage.

Ce message a été modifié par noop - 9 Nov 2012, 09:36.
Go to the top of the page
 
+Quote Post
audionuma
posté 9 Nov 2012, 09:43
Message #6


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 1 658
Inscrit : 27 Apr 2004
Membre no 18 176



À vrai dire, je ne comprends même pas si le but de l'exo est de faire implémenter pow() par l'étudiant, ou bien de manipuler l'expression de la série pour trouver une expression plus simple à implémenter, ou ... ?


--------------------
Membre du club des AIPBP (Anciens Inscrits Pas Beaucoup de Posts) Voir la liste
Go to the top of the page
 
+Quote Post
Jaypee
posté 9 Nov 2012, 09:54
Message #7


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 1 999
Inscrit : 29 Aug 2002
Membre no 3 340



Pour présenter du code dans le forum, dans une boite avec la barre rose "Code" , il faut utiliser les tags [ code ] et [ /code ] sans les espaces après ou avant les crochets.

Si le code devient long, le lecteur peut le trouver barbant (syndrome du "tl;dr" <=> "Too long; did not read") dans ce cas, pour ramasser un peu la présentation, utiliser le tag [ codebox ] et [ /codebox ]

On colle ensuite le code à présenter entre les tags.

J-P

Ce message a été modifié par Jaypee - 9 Nov 2012, 09:55.
Go to the top of the page
 
+Quote Post
Jaypee
posté 9 Nov 2012, 10:19
Message #8


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 1 999
Inscrit : 29 Aug 2002
Membre no 3 340



Puisque l'exercice semble de toute évidence destiné à travailler les boucles "for" (indiquées ici puisqu'on parcourt la totalité des indices) l'énoncé en clair c'est calculer:
Somme de i = 1 à n de i à la puissance (i - 1) divisé par factorielle ( i + 1)

Note: Si i vaut 0, i puissance i - 1 = 0^-1 = 1/0 => Boom !

Voici la version détaillée de l'énoncé :

1) Ecrire en utilisant une boucle for les fonctions suivantes :
int puis(int p, int n); /* équivalente de p à la puissance n, avec n >= 0 pour simplifier */
- Tester avec puis(2, 10) == 1024
int fact(int n); /* calcule la factorielle */
- Tester que fact(5) == 120
int somme(int T[], int n); /* calcule la somme des cellules d'un tableau de 0 à n - 1 */
- Tester avec int T[] = { 1, 2, 3} le résultat somme(T, 3) doit être 6

2) Faire une boucle utilisant les fonctions puis et fact pour remplir le tableau : Attention au décalage des indices
Dans la cellule j= 0 à n-1
- Calculer: i = j + 1
- Calculer p = puis(i, i - 1)
- Calculer f = fact(i + 1)
- Calculer le quotient p / f et placer le résultat dans la cellule j du tableau

3) Utiliser la fonction somme(T,n) pour calculer le résultat

Plus détaillé que ça c'est le code lui-même

J-P
PS: Mon tout premier CDD était prof d'informatique pendant 3 mois...

Ce message a été modifié par Jaypee - 9 Nov 2012, 10:25.
Go to the top of the page
 
+Quote Post
schlum
posté 9 Nov 2012, 12:54
Message #9


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 23 762
Inscrit : 25 Oct 2002
Lieu : Sceaux (92)
Membre no 4 319



Citation (noop @ 9 Nov 2012, 10:34) *
Je ne sais pas qui est son professeur d'informatique, mais il me semble que aucune base de la programmation n'a été enseigné.
C'est ahurissant de voir celà.


Ou alors ces bases ont été dispensées, et l’étudiant a séché / n’a pas écouté / n’a pas compris / n’est pas fait pour l’informatique…

Ça me paraît étonnant également de voir donnés ce genre d’exercices sans le bagage nécessaire pour les résoudre.


--------------------
I think therefore I Mac
Map Macbidouille ; Stats Macbidouille

Pour vous torturer les méninges !
Go to the top of the page
 
+Quote Post
Jaypee
posté 9 Nov 2012, 13:51
Message #10


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 1 999
Inscrit : 29 Aug 2002
Membre no 3 340



A propos de l'exo lui-même : En fait, y'a un piège...
Tout semble être en entier... mais i^(i - 1) / !(i + 1) ce n'est plus de l'entier... faut transformer les entiers en "double".

J'ai tendance à malgré tout encourager les étudiants, parce d'ici dix ans voire moins, on se plaindra de la désertification du paysage des programmeurs. Il n'y aura plus que des chefs de projets certifiés PMP, ou Scrum, mais plus personne pour faire le vrai boulot...

Comme par ailleurs, les lignes bougent toujours, des technos apparemment indétrônables commencent à trembler sur leur piédestal, de nouvelles apparaissent... Y'a du boulot, pour des gens d'expérience, qui ont appris à évoluer dans un monde changeant.

J-P




Go to the top of the page
 
+Quote Post
yponomeute
posté 22 Nov 2012, 00:20
Message #11


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 007
Inscrit : 26 Jan 2011
Membre no 164 083



Citation (Jaypee @ 9 Nov 2012, 13:51) *
J'ai tendance à malgré tout encourager les étudiants, parce d'ici dix ans voire moins, on se plaindra de la désertification du paysage des programmeurs. Il n'y aura plus que des chefs de projets certifiés PMP, ou Scrum, mais plus personne pour faire le vrai boulot...

Je dirai que c'est déjà le cas.


--------------------
Si tu accroches ton chien à un boomerang, c'est le bâton qui ramène le chien.
Pierre Légaré
Go to the top of the page
 
+Quote Post
chombier
posté 22 Nov 2012, 20:07
Message #12


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 3 920
Inscrit : 20 Mar 2003
Membre no 6 765



Citation (yponomeute @ 22 Nov 2012, 01:20) *
Citation (Jaypee @ 9 Nov 2012, 13:51) *
J'ai tendance à malgré tout encourager les étudiants, parce d'ici dix ans voire moins, on se plaindra de la désertification du paysage des programmeurs. Il n'y aura plus que des chefs de projets certifiés PMP, ou Scrum, mais plus personne pour faire le vrai boulot...

Je dirai que c'est déjà le cas.

C'était mieux aaavaaant ? biggrin.gif

Dans la boite pour laquelle je bosse actuellement, ça Scrumme 1/4 d'heure tous les matins, et y'a pas mal de d'jeuns qui codent, pour la plupart plutôt bien. huh.gif


--------------------
késtananafout' (:
Go to the top of the page
 
+Quote Post
yponomeute
posté 22 Nov 2012, 22:09
Message #13


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 007
Inscrit : 26 Jan 2011
Membre no 164 083



Citation (chombier @ 22 Nov 2012, 20:07) *
Citation (yponomeute @ 22 Nov 2012, 01:20) *
Citation (Jaypee @ 9 Nov 2012, 13:51) *
J'ai tendance à malgré tout encourager les étudiants, parce d'ici dix ans voire moins, on se plaindra de la désertification du paysage des programmeurs. Il n'y aura plus que des chefs de projets certifiés PMP, ou Scrum, mais plus personne pour faire le vrai boulot...

Je dirai que c'est déjà le cas.

C'était mieux aaavaaant ? biggrin.gif

Par expérience personnelle je dirai qu'il était plus facile aaavaaant de trouver des développeurs compétents sur le marché du travail. Le dernier embauché que j'ai cotoyé (et qui n'a pas fait long feu), modifiait les tests unitaires pour qu'ils passent au vert au lieu de corriger le code qu'il avait pondu. Le précédent ne savait pas ce qu'était la récursivité, et tous les deux sont diplômés sortis tout frais d'une école soit disant renommée.
Maintenant ce n'est que mon impression personnelle, peut être qu'avec l'âge je deviens trop exigeant emot_012.gif


--------------------
Si tu accroches ton chien à un boomerang, c'est le bâton qui ramène le chien.
Pierre Légaré
Go to the top of the page
 
+Quote Post
chombier
posté 22 Nov 2012, 22:22
Message #14


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 3 920
Inscrit : 20 Mar 2003
Membre no 6 765



Citation (yponomeute @ 22 Nov 2012, 23:09) *
Par expérience personnelle je dirai qu'il était plus facile aaavaaant de trouver des développeurs compétents sur le marché du travail. Le dernier embauché que j'ai cotoyé (et qui n'a pas fait long feu), modifiait les tests unitaires pour qu'ils passent au vert au lieu de corriger le code qu'il avait pondu. Le précédent ne savait pas ce qu'était la récursivité, et tous les deux sont diplômés sortis tout frais d'une école soit disant renommée.
Maintenant ce n'est que mon impression personnelle, peut être qu'avec l'âge je deviens trop exigeant emot_012.gif

Laisse moi deviner... c'est une école qui a fait de la pub à la télé ? biggrin.gif


--------------------
késtananafout' (:
Go to the top of the page
 
+Quote Post
yponomeute
posté 22 Nov 2012, 22:31
Message #15


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 007
Inscrit : 26 Jan 2011
Membre no 164 083



Citation (chombier @ 22 Nov 2012, 22:22) *
Citation (yponomeute @ 22 Nov 2012, 23:09) *
Par expérience personnelle je dirai qu'il était plus facile aaavaaant de trouver des développeurs compétents sur le marché du travail. Le dernier embauché que j'ai cotoyé (et qui n'a pas fait long feu), modifiait les tests unitaires pour qu'ils passent au vert au lieu de corriger le code qu'il avait pondu. Le précédent ne savait pas ce qu'était la récursivité, et tous les deux sont diplômés sortis tout frais d'une école soit disant renommée.
Maintenant ce n'est que mon impression personnelle, peut être qu'avec l'âge je deviens trop exigeant emot_012.gif

Laisse moi deviner... c'est une école qui a fait de la pub à la télé ? biggrin.gif

C'est pas celle-là non, mais c'est du même genre, vivement recommandé par le DRH qui a du être impressionné par la plaquette en papier glacé biggrin.gif
Personnellement ça ne me gêne pas, je suis prestataire pour la boite qui les avait embauchés. Je me dit qu'avec des développeurs de ce niveau là sur le marché, je suis pas près d'être sans travail.


--------------------
Si tu accroches ton chien à un boomerang, c'est le bâton qui ramène le chien.
Pierre Légaré
Go to the top of the page
 
+Quote Post
noop
posté 22 Nov 2012, 23:50
Message #16


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 859
Inscrit : 3 Nov 2005
Membre no 49 239



ben moi dans ma boite il n'y en a plus. ils sont en inde, egypte ou roumanie.
je suis un des derniers dinosaures.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 24th July 2014 - 05:07