Du c++ en Algorithme?

Résolu
ezzakrem Messages postés 7 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 3 janvier 2008 - 3 janv. 2008 à 18:54
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 3 janv. 2008 à 21:53
Bonjour tout le mode,
Mon prof de math nous demandé d'ecrire un programme pour calculer le Polyneme de Lagrange et de lui remettre juste l'Algo.
j'ai fait le projet avec C++ et ça marche mais j'ai des soucis dans la transformation en algorithme
Comment peut-on traduire du C++ en algorithme au niveau syntaxe : Les classes et leurs implémentation et la fonction main et l'utilisation des classes...
Merci de me repondre le pluto tot possible

10 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
3 janv. 2008 à 19:06
"...Mon prof de math nous demandé d'ecrire un programme pour calculer le Polyneme de Lagrange et de lui remettre juste l'Algo..."



Plutot très étrange comme exercice, il vit sur quelle planete ton prof.

En ("bonne") programmation, généralement on fait l'inverse. On écrit l'algorithme, et ensuite on en dédiut le code mettant en oeuvre cet algorithme.

Même si la démarche inverse est possible, sur un code correctement codé, elle peut se reveler très difficile sur un code piteusement codé.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
ezzakrem Messages postés 7 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 3 janvier 2008
3 janv. 2008 à 19:13
Je crois qu'il vit dans un autre monde lui.
Le probleme c'est que en POO personne ne pense a un algo et quand j'ai commencé la tradction du C++ en Algo je me suis trouvé bloqué!
ya pas un moyen pour transformer les classes en algo?
comment on declare un pointeur et le void que devient-il?
Je sais c'est tré bizar comme question mais les profs des math n'arretent pas a nous éblouir!
3
Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 13
3 janv. 2008 à 19:56
Heu, je comprend pas comment tu a pu coder sans algo.
Et traduire en algo, ca ne veux pas dire traduire mot a mot ton code en algorithme -> la méthode main n'a aucune raison d'être dans un algo. Pareil pour les pointeurs, les void, etc.

Un algo c'est une suite d'étape : si je te demande de m'expliquer verbalement comment on calcul le Polyneme de Lagrange, tu saura me répondre ? si oui écrit le noir sur blanc : c'est ça ton algo.

(t'aurai pas plutot récupéré un code calculant ce polynème, sans savoir comment on effectue ce calcul ?)

<hr size="2" width="100%" />
Working as designed
www.nikoui.fr
3
ezzakrem Messages postés 7 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 3 janvier 2008
3 janv. 2008 à 20:15
salut mon problème n'est pas apropos du calcul du polynome
mais la declaration et l'implementations des fonctions qui y aboutissent:
voila a quoi ressemble mn essai
#---------------------------------
#Défintion de la Classe Polynome:
#---------------------------------
classe Polynome
{
Variables privées:
entier degre;
reel * tab; #un tableau dynamique de réel
Méthodes publiques:
Polynome(entier ,réel*);#constructeur de la classe polynome
Polynome(entier <-0);#constructeur simple
~Polynome(){delete [] tab ;}#déconstructeur pour supprimer un polynome
Polynome(const Polynome &);#constructeur par recopie
void unitaire();//initialise un polynome a 1
void scalaire(reel );
entier getdegre()const;#retourne le degré d'un polynome
reel calcul(reel );# retourne le resultat de P(x) où P est un polynome et x est un reel
void copier(Polynome );#construire un polynome a partir d'un autre
Polynome somme(Polynome );#effectue la somme entre deux polynomes
Polynome produit(Polynome);# ealise le produit de eux polynoms
void afficher();#affiche un polynome
};

#-------------------------------------
#Implémentation de la classe polynome
#-------------------------------------
fonction Polynome::Polynome(entier x,reel *v)
degre<-x;
tab=new float[x+1];#allocation de x+1 cases dans le tableau tab
pour i<-0 à degre faire #copie du vecteur v dans tab
tab[i]<-v[i];
i<-i+1;
fin pour
---------
alors je continue de cette maniere?
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
3 janv. 2008 à 20:52
Bonsoir

Je pense que là tu mets la charrue avant les boeufs. Ce que tu fais là c'est juste commenter la classe de ton programme !! Je vois pas d'algorithme à l'horizon.

Moi je traduis "Bonjour tout le mode, Mon prof de math nous demandé d'ecrire un programme pour calculer le Polyneme de Lagrange et de lui remettre juste l'Algo." par cela :
  1 - Tu définis le principe des polynomes de Lagrange pour une fonction f :
    Rappel sur la formule de recurrence permettant de calculer less différences divisées de Newton
    Rappel sur le lien entre le polynome de Lagrange et les différences divisées de Newton
  2 - Tu fais l'algorithme en pseudo code :
    Comment calculer les différences divisées
    Comment calculer le polynome de Lagrange
    Que doit avoir ton programme en entrée (série de points), en sortie (polynome sous forme de vecteur)
    etc...
  3 - Tu fais le programme de calcul du polynôme de Lagrange pour vérifier numériquement tes résultats.
  4 - Tu fournis SEULEMENT l'algorithme à ton prof.

Cordialement.
<hr />"L'imagination est plus importante que le savoir." Albert Einstein
3
ezzakrem Messages postés 7 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 3 janvier 2008
3 janv. 2008 à 20:58
Merci c plus clair maintenant :)
ça m'a aidé merci je commence tout de suite
merci
3
ezzakrem Messages postés 7 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 3 janvier 2008
3 janv. 2008 à 21:03
oui j'ai compris ^^
au fait j'ai terminé le programme en c++ et ça donne des resultats justes :)
le probléme etait d'ecrire l'algo.
3
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
3 janv. 2008 à 21:01
P.S. Ce que j'ai cité précedemment (avec les différences divisées de Newton) n'était qu'un exemple pour expliquer la démarche à suivre. A toi de t'en inspirer en fonction de tes connaissances, de ton cours (Résolution par sytème linéaire, schéma de Horner, algorithme de Neville,...)

Cordialement.
<hr />"L'imagination est plus importante que le savoir." Albert Einstein
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
3 janv. 2008 à 21:02
Bonsoir,

Et moi, je n'ose pas dire tout haut ce que chacun pense tout bas (sans aucun doute...)...

Cette demande est un peu (analogie) comme serait celle-ci :

"j'ai vu comment fonctionne une alumette . J'ai même essayé une alumette ... et elle s'est bien enflammée... je veux maintenant exposer, de A à Z, comment elle s'enflamme ainsi que les raisons pour lesquelles elle s'enflamme".
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
3 janv. 2008 à 21:53
1) Ce que te demande ton prof de maths, précisément, c'est de montrer tes capacités à rédiger un algorithme (avec des conventions de rédaction d'algorithme), pas d'écrire du code.
2) C'est bien sur cette rédaction d'algo que tu vas être noté
3) le fait que tu as écrit un programme opérationnel en C++ montre que tu as su écrire un code répondant à la demande. Ce code, tu ne l'as pas écrit au hasard, n'est-ce-pas, ni copié .... C'est bien toi qui l'as écrit en appliquant un raisonnement (mécanisme de ta pensée).

4) un devoir de rédaction d'un algorithme est destiné à juger de tes capacités à écrire de facon conventionnele algorithmique (hors code, donc) le déroulement ce cette pensée. Nul ne ferait cet exercice à ta place sans en trahir l'esprit fondamental !!! Ce serait te ramener au rang d'un "pseudo-écrivain" qui ferait appel aux services d'un "nègre" pour écrire à sa place ses pensées.
0
Rejoignez-nous