Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Algo

Posté par
Anaismail
16-04-19 à 13:47

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.

Posté par
patrice rabiller
re : Algo 16-04-19 à 13:58

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.

Posté par
Anaismail
re : Algo 16-04-19 à 14:01

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.

Posté par
patrice rabiller
re : Algo 16-04-19 à 19:07

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 ...

Posté par
Anaismail
re : Algo 16-04-19 à 19:13

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?

Posté par
patrice rabiller
re : Algo 16-04-19 à 19:16

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.

Posté par
Anaismail
re : Algo 16-04-19 à 20:57

Daccord merci à vous

Posté par
Anaismail
re : Algo 17-04-19 à 09:39

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

Posté par
patrice rabiller
re : Algo 17-04-19 à 10:36

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 :

Algo

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 !

Posté par
patrice rabiller
re : Algo 17-04-19 à 10:43

Oups : j'ai inversé la condition. Il faut écrire If YX2 bien sûr.

Posté par
Anaismail
re : Algo 17-04-19 à 10:47

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""

Posté par
patrice rabiller
re : Algo 17-04-19 à 14:52

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.

Posté par
patrice rabiller
re : Algo 17-04-19 à 14:53

Petite faute ...

Or je n'en vois qu'un seul dans ton programme

Posté par
Anaismail
re : Algo 17-04-19 à 19:33

D'accord merci beaucoup à vous mon programme a fini par fonctionner !
🙃



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 1510 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 !