Bonjour, j'ai un langage python traduire en langage TI-82 :
From rando import randint
From math import*
Def aire(n):
D=0
For i in range (n):
X=random()
Y=random()
If y <= x**2 :
D=d+1
Return(d/n)
Es c que vous pouvez m'aider sil vous plait.
Bonjour,
Sais-tu au moins ce que fait ton programme écrit en python ?
La première chose à faire c'est d'écrire en français ce que fait ce programme.
Bonjour oui, ce programme calcul l'air d'une courbe, du moins d'une partie hachurée.
Et oui j'ai tout traduit sur une feuille.
Alors, si je comprends bien ton programme python, cela ressemble à ceci :
Début
Lire un entier N (je suppose que c'est un entier mais ce n'est pas précisé)
Initialiser D à zéro
Pour I de 0 à N-1
X <-- nombre aléatoire (entre 0 et 1 peut-être ?)
Y <-- nombre aléatoire (idem)
Si Y X2
Alors D <-- D+1
FinSi
FinPour
Aficher D/N
Fin.
Tu dois pouvoir écrire ça en langage Ti 82 non ?
Maintenant, il faudrait m'expliquer pourquoi cet algorithme calcule l'aire d'une partie hachurée ...
Et bien dans mon énoncé c'est ce qu'il y a écrit
Merci mais je ne comprend pas pourquoi vous avez mis
Pour i de 0 à N-1
Pourquoi le -1?
Lis bien ton cours sur python, en particulier la fonction range() ...
Sinon, comme la variable I n'est pas utilisée dans la boucle, tu peux aussi faire "Pour I de 1 à N". L'essentiel est que la boucle soit parcourue N fois.
Bonjour je viens d'essayer dans le langage T1 que je pensais mais cela est faux pouvez vous me dire ou je me suis tromper sil vous plait ?
Input N
D-->0
For (I,0,N-1)
X----> nbrAleat (0,1)
Y-----> nbrAleat(0,1)
If Y <=X2
Else D+1=D
disp D/N
end
Sachant que je n'arrête de d'essayer de modifier mais cela m'affiche erreur de syntaxe
Il y a plusieurs erreurs, en particulier au niveau des affectations :
Ce n'est pas D --> 0 mais 0 --> D qu'il faut écrire.
Même chose pour les affectations des variables X et Y
Pour l'instruction conditionnelle, il y a également une erreur de syntaxe (il manque le Then [à la place du Else ]et le End). Il faut écrire :
Par ailleurs, l'intruction Disp doit se faire après la fin de la boucle For ... End
Attention aussi : le D+1=D n'a pas de sens. En python, il faudrait écrire D=D+1. Mais pour la calculatrice, le signe = n'est pas le signe d'affectation !
D'accord merci donc :
Input N
0--->D
For (I,0,N-1)
NbrAleat(0,1)-->X
NbreAleat(0,1)--->Y
If Y<=X2
Then
D+1-->D
END
Disp D/N
Mais quand j'essaie de l'exécuter cela m'affiche maintenant ""Done""
C'est normal car il manque un END.
La structure conditionnelle IF doit se terminer par un END.
La structure itérative FOR doit se terminer par un END.
Or je n'en voit qu'un seul dans ton programme.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :