Apprendre Maple Index du Forum Apprendre Maple
Site dédié au logiciel de calcul formel Maple
 
  Page d'accueilPage d'accueil   FAQFAQ    RechercherRechercher    Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs 
S'enregistrerS'enregistrer    ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

re PRoGRamme

 
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Programmation
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
ocelote



Inscrit le: 10 Sep 2006
Messages: 11

MessagePosté le: 15 Sep 2006 21:15    Sujet du message: re PRoGRamme Répondre en citant

bjr ; voila j'ai posté la semaine derniere mais mon topic a été effacé et je n'ai pas pu corrigé mes fautes.
mon probleme est que le programme ne s'effectue
Code:
 jeu_tout_pourri:=proc()
>  local i,a,b;
>  i:=0;
>  while(i<11)
>  do a:=rand(1,2);
>  b:=rand(1,2);
>  if a=b then score:=score+1;print(gagné);
>  else score:=score;print(perdu);
>  fi;
>  i:=i+1;
>  od;
>  "votre score est "||score;
>  end proc;

Merci
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 16 Sep 2006 8:28    Sujet du message: Répondre en citant

Bonjour, effectivement je me souviens de cette question, hélàs le forum a été visité par un hacker malveillant, ce qui fait que votre message est passé à la trappe. Mille excuses.
Voici donc la correction que je vous propose:

Code:

>  jeu_tout_pourri:=proc(nb)
>   local score,h,i,a,b;
>   i:=0; score:=0; h:=rand(1..2); randomize();
>   while(i<nb)
>   do
>     a:=h(); b:=h();
>     if a=b then
>          score:=score+1;print(gagné);
>     else
>          print(perdu);
>     fi;
>     i:=i+1;
>   od;
>   `Votre score est ` || score || ` sur ` || nb || ` essais`;
>   end proc:
>
> jeu_tout_pourri(10);

                                perdu


                                gagné


                                perdu


                                perdu


                                gagné


                                gagné


                                perdu


                                perdu


                                perdu


                                perdu


                   Votre score est 3 sur 10 essais


Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ocelote



Inscrit le: 10 Sep 2006
Messages: 11

MessagePosté le: 16 Sep 2006 12:43    Sujet du message: re Répondre en citant

aucun souci Smile merci beaucoup je vais étudier la reponse en detail Wink bonne journée et FOCK les hackers...
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ocelote



Inscrit le: 10 Sep 2006
Messages: 11

MessagePosté le: 16 Sep 2006 12:56    Sujet du message: Répondre en citant

pouvez vous me dire quelle variable doit on mettre dans proc() et dans local car je ne vois pas la logique . merci
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 16 Sep 2006 13:37    Sujet du message: Répondre en citant

Les variables que l'on met dans proc sont les paramètres formels passés à la procédure: ici, j'ai choisi de mettre le nombre d'essais nb au jeu.
Les variables que l'on met dans local sont des variables locales, uniquement accessibles à l'intérieur de la procédure. Ici: score,h,i,a,b.
Etudiez le chapitre du cours sur la programmation pour avoir davantage d'exemples:
http://alamanya.free.fr/cours/chapn31.htm
A+
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ocelote



Inscrit le: 10 Sep 2006
Messages: 11

MessagePosté le: 16 Sep 2006 19:43    Sujet du message: Répondre en citant

merci Smile
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ocelote



Inscrit le: 10 Sep 2006
Messages: 11

MessagePosté le: 16 Sep 2006 23:26    Sujet du message: new one Répondre en citant

et bien avec le lien que vous m'avez passé j'ai pu faire un nouveau programme mais je ne suis pas capable de reconnaitre mes erreurs et je suis par la meme occasion désolé de poster a nouveau ici...
Code:

> limfct:=proc(fonction)

> local lim1, lim2, lim3;

>

> fonction:=ax+b; # Taper une fonction avec x comme variable f:=x->ax+b

>

> lim1:=limit(fonction,x=infinity);

>  if lim1<>infinity then print("limite "|| lim1 ||" BP d'axe Ox");

>   else lim2:=limit(fonction / x , x=infinity);

>

>      if lim2=0 then print("limite || lim2 || BP d'axe Ox");

>       elif lim2=infinity then print("limite "|| lim2 ||" BP d'axe Oy");

>       else lim3:=limit(fonction - "|| lim2 ||" * x , x=infinity);

>

>          if lim3=infinity then print("limite "|| lim3 ||" BP d'axe Ox");

>           else print("limite "|| lim3 ||" asymptote d'équation "||lim2||" x + " || lim3 ||" ");

>          fi;

>      fi;

>  fi;

> end proc:

> limfct();



merci
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 17 Sep 2006 9:52    Sujet du message: Répondre en citant

Bonjour, j'ai corrigé votre procédure et deux de vos conclusions mathématiques qui étaient fausses (limite finie et BP dans la direction asymptotique de la droite y=ax)

Code:

> limfct:=proc(fonction)
> local lim1, lim2, lim3;
> lim1:=limit(fonction,x=infinity);
> if lim1<>infinity and lim1<>-infinity then print("limite finie "|| lim1);
> else
>   lim2:=limit(fonction / x , x=infinity);
>   if lim2=0 then print("limite" || lim2 || "BP d'axe Ox");
>   elif lim2=infinity then print("limite "|| lim2 ||" BP d'axe Oy");
>   else lim3:=limit(fonction - lim2* x , x=infinity);
>       if lim3=infinity then print("limite "|| lim3 ||" .BP dans la direction asymptotique de la droite y=" || lim2 || "*x");
>       else print("limite "|| lim3 ||" .Asymptote d'équation "||lim2||" x + " || lim3 ||" ");
>       fi;
>   fi;
> fi;
> end proc:

 
> limfct(-5*x+3+ln(x)/x);   
 

              "limite 3 .asymptote d'équation -5 x + 3 "

Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ocelote



Inscrit le: 10 Sep 2006
Messages: 11

MessagePosté le: 17 Sep 2006 12:00    Sujet du message: Répondre en citant

^^ cela montre bien que j'ai mal appri mon cour Smile
Je n'ai donc pas besoin de poser une variable fonction au debut ? il suffit de mettre sa apres le 'end proc' ?

Il faut donc considerer le programme comme un ensemble et non pas comme une suite linéaire de procédures ?

Je vous remercie grandement
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 17 Sep 2006 15:26    Sujet du message: Répondre en citant

Oui, on commence par déclarer une procédure avec ses paramètres formels:
par une phrase du type

> nomproc:=proc(param1,param2,...,paramn)
> .... corps de la procédure
> end proc;

Ensuite on lance la procédure en donnant aux paramètres formels des valeurs par une phrase du type

> nomproc(val1,val2,...,valn);

où valj est la valeur donnée au paramètre formel paramj

A+
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Programmation Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


phpBB

Développé par phpBB © 2001, 2006 phpBB Group
Traduction par : phpBB-fr.com


Apprendre Maple - ©  - Alain Le Stang - Navigation optimisée pour une résolution 1024 x 768.