Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Simulation avec Algobox

Posté par
lafleur24
29-04-17 à 09:01

bonjour,
je dois réaliser un algorithme a l'aide d'algobox ou je suis censé modéliser la situation suivante:
pour estimer l'aire située sous la courbe c représentative de la fonction ci dessus (y= -0,2*x^2+x), on se propose de simuler le lancé de n fléchette sur une cible carré séparée en deux par cette fonction c.
Si le point est situé sous la courbe c le point sera vert.
Si non il ne sera pas tracé.
On me demande d'utiliser la fonction random.
autre info: les coordonnées x et y du point d'impact de la fléchette sont déterminés aléatoirement dans l'intervalle (0;5(
merci

Posté par
pgeod
re : Simulation avec Algobox 29-04-17 à 09:27

tu as sans doute déjà commencé à tracer
la courbe représentative de la fonction y,
placé la courbe dans ton carré,
défini la dimension du carré et
précisé où s'arrête l'aire située sous la courbe.

Posté par
fm_31
re : Simulation avec Algobox 29-04-17 à 09:33

Bonjour ,

dis ce qui te pose problème  et/ou  ce que tu as fait .

Cordialement

Posté par
mathafou Moderateur
re : Simulation avec Algobox 29-04-17 à 09:41

Bonjour,

il manque une donnée dans cet énoncé : les dimensions du carré.

Posté par
fm_31
re : Simulation avec Algobox 29-04-17 à 09:53

Vu les bornes du tirage aléatoire , le carré doit être  5x5

Posté par
mathafou Moderateur
re : Simulation avec Algobox 29-04-17 à 09:59

oui c'est vrai, on peut le deviner.

Posté par
lafleur24
re : Simulation avec Algobox 29-04-17 à 10:26

pgeod @ 29-04-2017 à 09:27

tu as sans doute déjà commencé à tracer
la courbe représentative de la fonction y,
placé la courbe dans ton carré,
défini la dimension du carré et
précisé où s'arrête l'aire située sous la courbe.


oui c'est fait, j'ai tracé le carré et mis ma courbe dessus, le carré a pour côté 5 donc l'aire est de 25.
Ce qui me pose problème c'est la réalisation d'un algorithme permettant de tracer les points d'impacts sur ce carré lorsqu'ils sont sous la courbe, je ne vois pas comment faire cette algorithme pour avoir un lancé de fléchette aléatoire sur ce carré.
merci

Posté par
lafleur24
re : Simulation avec Algobox 29-04-17 à 10:27

mathafou @ 29-04-2017 à 09:41

Bonjour,

il manque une donnée dans cet énoncé : les dimensions du carré.


Le carré a pour dimension 5.

Posté par
lafleur24
re : Simulation avec Algobox 29-04-17 à 10:30

fm_31 @ 29-04-2017 à 09:33

Bonjour ,

dis ce qui te pose problème  et/ou  ce que tu as fait .

Cordialement


Bonjour,
ce que je n'arrive pas à faire c'est l'algorithme simulant le lancé de n fléchettes sur cette cible carré, si l'impact se situe sous la courbe alors il est en vert sinon il n'est pas tracé.
Il faut aussi créer une variable permettant de déterminer la proportion d'impacts verts par rapport a n, et ensuite grâce a cela, il faut calculer une estimation de l'aire situé sous la courbe c.
merci

Posté par
fm_31
re : Simulation avec Algobox 29-04-17 à 10:42

Il faut faire 2 tirages aléatoires (xa et ya par exemple)  puis calculer l'image de xa .
Si cette image est inférieure à ya , alors on trace le point (xa , ya)  

Posté par
mathafou Moderateur
re : Simulation avec Algobox 29-04-17 à 10:48

il faut déja déterminer la structure générale de l'algorithme

ça se fait en langage naturel (en français)

lancer n fléchettes se fera par une boucle
et donc la structure générale :

entrer n
répéter n fois :
tirer au hasard un nombre (réel, pas forcément entier) x entre 0 et 5
tirer au hasard un nombre y entre 0 et 5
si y est < -0.2x² + x alors
peindre en vert le point (x; y)
compter ce point comme étant en dessous de la courbe
fin de la boucle
afficher la proportion par rapport à n = nombre de points comptés divisé par n

cela semble de la paraphrase de l'énoncé, ça l'est mais sous une forme explicite qui se rapproche très près de l'algorithme final.
cette étape peut sembler inutile
et bien détrompe toi, pas du tout elle est fondamentale : exprimer clairement la méthode, l'énoncé, avant de se lancer dans de l'écriture de code.

le reste est de la traduction de ça en Algobox :
quelles variables faut il créer pour faire ça
quelle sorte de boucle choisir pour traduire "répéter n fois"
syntaxe de algobox et fonctions de algobox : voir l'aide en ligne (bouton Aide) pour apprendre
- à utiliser la fonction random() et exactement ce qu'elle fait
- comment on écrit x au carré
- comment on dessine un point
etc

essaye.

Posté par
lafleur24
re : Simulation avec Algobox 29-04-17 à 10:57

mathafou @ 29-04-2017 à 10:48

il faut déja déterminer la structure générale de l'algorithme

ça se fait en langage naturel (en français)

lancer n fléchettes se fera par une boucle
et donc la structure générale :

entrer n
répéter n fois :
   tirer au hasard un nombre (réel, pas forcément entier) x entre 0 et 5
   tirer au hasard un nombre y entre 0 et 5
   si y est < -0.2x² + x alors
       peindre en vert le point (x; y)
       compter ce point comme étant en dessous de la courbe
fin de la boucle
afficher la proportion par rapport à n = nombre de points comptés divisé par n

cela semble de la paraphrase de l'énoncé, ça l'est mais sous une forme explicite qui se rapproche très près de l'algorithme final.
cette étape peut sembler inutile
et bien détrompe toi, pas du tout elle est fondamentale : exprimer clairement la méthode, l'énoncé, avant de se lancer dans de l'écriture de code.

le reste est de la traduction de ça en Algobox :
quelles variables faut il créer pour faire ça
quelle sorte de boucle choisir pour traduire "répéter n fois"
syntaxe de algobox et fonctions de algobox : voir l'aide en ligne (bouton Aide) pour apprendre
- à utiliser la fonction random() et exactement ce qu'elle fait
- comment on écrit x au carré
- comment on dessine un point
etc

essaye.


Merci beaucoup,
Certes l'importance d'écrire l'algorithme en "français" est fondamentale.
Je vais maintenant écrire l'algorithme sur algobox et voir le résultat. Par contre je ne sais pas si sur algobox il existe une fonction pour peindre un point en vert, je me trompe peut-être.
En tout cas merci beaucoup.

Posté par
lafleur24
re : Simulation avec Algobox 29-04-17 à 10:58

fm_31 @ 29-04-2017 à 10:42

Il faut faire 2 tirages aléatoires (xa et ya par exemple)  puis calculer l'image de xa .
Si cette image est inférieure à ya , alors on trace le point (xa , ya)  


Parfait merci beaucoup!

Posté par
fm_31
re : Simulation avec Algobox 29-04-17 à 11:11

Citation :
fonction pour peindre un point en vert
  TRACER_POINT_Vert (x, y)

Posté par
fm_31
re : Simulation avec Algobox 29-04-17 à 11:13

Citation :
Si cette image est inférieure à ya , alors on trace le point (xa , ya)  

C'est l'inverse : Si cette image est supérieure à ya , alors on trace le point (xa , ya)  

Posté par
lafleur24
re : Simulation avec Algobox 29-04-17 à 11:15

fm_31 @ 29-04-2017 à 11:11

Citation :
fonction pour peindre un point en vert
  TRACER_POINT_Vert (x, y)


Merci,
Mais lorsque je veux poser cette fonction on me dit de mettre les coordonnées des points pourtant je n'en ai pas, c'est juste une intervalle.

Posté par
fm_31
re : Simulation avec Algobox 29-04-17 à 11:22

les coordonnées sont les résultats des tirages aléatoires

Posté par
lafleur24
re : Simulation avec Algobox 29-04-17 à 11:37

fm_31 @ 29-04-2017 à 11:22

les coordonnées sont les résultats des tirages aléatoires


parfait merci je viens de réaliser mon algorithme et mes points se sont tracés, mais pas sous la courbe, est ce normal?
et je cherche aussi a créer cette variable permettant de déterminer la proportions d'impacts verts, en vain.
merci pour votre aide.

Simulation avec Algobox

Simulation avec Algobox

Posté par
mathafou Moderateur
re : Simulation avec Algobox 29-04-17 à 11:42

j'avais bien dit

Citation :
- comment on écrit x au carré

x^2 veut dire la valeur en binaire de x en ou exclusif bit à bit avec la valeur 2 !!

pour écrire x au carré on écrit soit x*x (après tout c'est la définition !!)
soit pow(x,2)

il te manque le comptage des points trouvés (dans une autre variable à créer) et le calcul final
de plus ce que tu fais c'est tracer 5000 points, pas tracer n points comme demandé.

Posté par
fm_31
re : Simulation avec Algobox 29-04-17 à 11:42

Les coordonnées du point que tu traces ne sont x et y  mais sont de nouveaux points aléatoires .

Posté par
mathafou Moderateur
re : Simulation avec Algobox 29-04-17 à 11:45

et pourquoi ajoutes tu 1 à random()*5 ??

et tu ne traces pas le point trouvé mais si le point trouvé est bon, tu en traces un autre !! (parce que tu refais un nouveau tirage pour le tracer)

les coordonnées du point à tracer c'est x et y déja calculées.

Posté par
fm_31
re : Simulation avec Algobox 29-04-17 à 11:46

Je ne comprends pas pourquoi tu ajoutes  1  au nombre aléatoire généré .

Posté par
Glapion Moderateur
re : Simulation avec Algobox 29-04-17 à 11:48

attention aussi à mettre des . et pas des , comme séparateur décimal
F1(x)=-0.2*pow(x,2)+x

dans le SI aussi (ou mettre simplement SI(y < F1(x)) ALORS

Posté par
mathafou Moderateur
re : Simulation avec Algobox 29-04-17 à 11:49

et aussi pourquoi définis tu une fonction F1 si tu ne l'utilises pas ?

et puis aussi 0,2 s'écrit obligatoirement avec un POINT décimal 0.2
(la virgule décimale c'est que pour les documents légaux en France parce que c'est la loi,
en programmation ce sera quasiment partout un point décimal)

Posté par
mathafou Moderateur
re : Simulation avec Algobox 29-04-17 à 11:50

bon, je me tais, ça fait de l'écho

Posté par
Glapion Moderateur
re : Simulation avec Algobox 29-04-17 à 11:54


VARIABLES
n EST_DU_TYPE NOMBRE
x EST_DU_TYPE NOMBRE
y EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
	POUR n ALLANT_DE 1 A 5000
		DEBUT_POUR
		x PREND_LA_VALEUR random()*5 
		y PREND_LA_VALEUR random()*5
		SI (y < F1(x)) ALORS
			DEBUT_SI
			TRACER_POINT_Vert (x,y) 
			FIN_SI 
		FIN_POUR
FIN_ALGORITHME


donne :
Simulation avec Algobox

Posté par
lafleur24
re : Simulation avec Algobox 29-04-17 à 12:04

voici l'algorithme un peu amélioré mais je pense qu'il y a quelque chose qui ne marche pas.
J'aimerais aussi ajouter qu'on me propose dans l'énoncé n=5000

Simulation avec Algobox

Simulation avec Algobox

Posté par
fm_31
re : Simulation avec Algobox 29-04-17 à 12:06

Ce qui ne marche pas , c'est que les points que tu traces sont de nouveaux points aléatoires

Posté par
lafleur24
re : Simulation avec Algobox 29-04-17 à 12:06

mathafou @ 29-04-2017 à 11:50

bon, je me tais, ça fait de l'écho


merci pour votre aide,

Posté par
lafleur24
re : Simulation avec Algobox 29-04-17 à 12:08

Glapion @ 29-04-2017 à 11:54


VARIABLES
n EST_DU_TYPE NOMBRE
x EST_DU_TYPE NOMBRE
y EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
	POUR n ALLANT_DE 1 A 5000
		DEBUT_POUR
		x PREND_LA_VALEUR random()*5 
		y PREND_LA_VALEUR random()*5
		SI (y < F1(x)) ALORS
			DEBUT_SI
			TRACER_POINT_Vert (x,y) 
			FIN_SI 
		FIN_POUR
FIN_ALGORITHME


donne :
Simulation avec Algobox


merci infiniment mais comment faites vous pour faire la fonction tracer point vert?

Posté par
lafleur24
re : Simulation avec Algobox 29-04-17 à 12:09

fm_31 @ 29-04-2017 à 12:06

Ce qui ne marche pas , c'est que les points que tu traces sont de nouveaux points aléatoires


c'est à dire? je n'arrive pas a en faire des "normaux" .

Posté par
lafleur24
re : Simulation avec Algobox 29-04-17 à 12:11

merci beaucoup, j'y suis enfin arrivée!!!!!

Posté par
lafleur24
re : Simulation avec Algobox 29-04-17 à 12:17

il ne reste plus qu'à trouver une variable permettant de déterminer la proportion d'impacts verts par rapport a n.

On me demande aussi aussi de trouver s et e, qui sont respectivement la surface sous la courbe c et la marge d'erreur au seuil de 95%.

Posté par
mathafou Moderateur
re : Simulation avec Algobox 29-04-17 à 12:19

faudrait arrêter de citer chaque message auquel tu réponds.
pour répondre c'est le bouton "Répondre" avec "Répondre" écrit dedans. pas je ne sais quoi.
ou directement taper dans la zone de réponse si elle est déja ouverte

et comment as tu fait toi pour tracer tes points verts ?

en fait il y a deux modes de fonctionnement de Algobox
le mode normal (menus, fenêtres de dialogue)
et le mode éditeur (on tape tout soi-même)

ce qui est affiché dans la fenêtre "normale" n'est pas toute la commande car certains paramètres de la commande ne sont que dans les boites de dialogue (par exemple ici la couleur)
par contre en mode éditeur ou si on exporte le programme en texte au lieu d'une image de copie d'écran,
la commande complète est affichée.

Posté par
Glapion Moderateur
re : Simulation avec Algobox 29-04-17 à 12:20

oui effectivement, dans ton SI il faut mettre TRACER_POINT_Vert (x,y)
avec les x et y déjà calculés
si tu mets TRACER_POINT_Vert (random()*5,random()*5) ça choisit de nouveaux nombres aléatoires et ceux-là ne respectent plus la condition du SI

Posté par
lafleur24
re : Simulation avec Algobox 29-04-17 à 12:25

Ok merci
j'ai réussi a faire mon algorithme et mes points vertes en utilisant la bonne technique.

Comme je viens de préciser il me reste a insérer une variable s et e

lafleur24 @ 29-04-2017 à 12:17

il ne reste plus qu'à trouver une variable permettant de déterminer la proportion d'impacts verts par rapport a n.

On me demande aussi aussi de trouver s et e, qui sont respectivement la surface sous la courbe c et la marge d'erreur au seuil de 95%.


merci

Posté par
Glapion Moderateur
re : Simulation avec Algobox 29-04-17 à 12:27

oui et bien fais-le ! lance toi.

Posté par
mathafou Moderateur
re : Simulation avec Algobox 29-04-17 à 12:28

il ne reste plus qu'à trouver une variable permettant de déterminer la proportion d'impacts verts par rapport a n.
(trouver une variable, c'est à toi de la définir et de l'appeler comme tu veux)

si tu avais suivi la méthode que j'ai explicitée tu aurais déja ça puisque c'était dans mon squelette d'algorithme...
(mais déja dit dans mes remarques que ça manquait à ton algorithme)


et la marge d'erreur au seuil de 95%.

pour faire ça il va faloir faire varier le nombre de points et pas dire que c'est toujours 5000
d'ailleurs (je me répète, là aussi) l'énoncé n'a jamais dit 5000 points mais "n" point
donc en Algobox ce serait

LIRE n
Pour i de 1 à n
etc
(avec bien sur la variable i à définir)

Posté par
lafleur24
re : Simulation avec Algobox 29-04-17 à 12:45

D'accord merci, beaucoup maintenant je peux donc faire varier n.
pour la variable je comptais l'appeler r et qu'elle soit égale aux points verts divisé par n,
comment retranscrire cela en langage algobox?

Posté par
fm_31
re : Simulation avec Algobox 29-04-17 à 12:56

Citation :
comment retranscrire cela en langage algobox?


Comme tu l'as fait pour les autres variables : déclaration , initialisation (éventuellement)  , détermination de sa valeur et enfin affichage (éventuellement) .

Mais peut-être que quelqu'un te donnera la réponse toute faite .

Posté par
mathafou Moderateur
re : Simulation avec Algobox 29-04-17 à 13:00

et si tu prenais le squelette que j'ai déja donné :

entrer n
répéter n fois :
tirer au hasard un nombre (réel, pas forcément entier) x entre 0 et 5
tirer au hasard un nombre y entre 0 et 5
si y est < -0.2x² + x alors
peindre en vert le point (x; y)
compter ce point comme étant en dessous de la courbe
(dans la variable r qui contiendra le nombre de points verts trouvés)
fin de la boucle
afficher la proportion par rapport à n = nombre de points comptés divisé par n = r/n

la rédaction d'un tel squelette c'est pour l'utiliser pour construire l'algorithme
pas pour ne jamais plus en tenir compte ensuite.

Posté par
lafleur24
re : Simulation avec Algobox 29-04-17 à 16:11

Merci beaucoup, j'avais tenu compte du squelette mais je n'arrivais pas a le retranscrire. J'y suis enfin parvenu merci



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !