Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Algorithme

Posté par
Lyline63
23-04-20 à 18:55

Bonjour,
J'ai un exercice avec de l'algorithme en python et j'ai trouvé des résultats mais je suis pas sûr qu'il soit juste.
L'exercice consiste à compléter des trous dans un algorithme,  le voici:
( les points de suspension correspondent aux parties manquantes)

Compléter l'algorithme suivant qui renvoie l'espérance mathématique d'une variable X qui suit la loi donnée par les listes : valeurs et probabilités
def esperance (..........) :
      n=........
      E=0
      for i in range (0,n) :
            E=..........
       Return E

Pour le premier espacement manquant j'ai mis (valeurs,  probabilités),  le deuxième n=n+1 et le troisième 😬 v[i]  *p[i]  ?

Est-ce que vous pourriez m'aider s'il vous plaît ?
Merci d'avance.

Posté par
alb12
re : Algorithme 23-04-20 à 19:11

salut, es tu capable de tester ce programme ?

Posté par
Lyline63
re : Algorithme 23-04-20 à 19:21

Oui sur python2ide mai ça me dit erreur et l'application plante quand je mets les deux points à la fin de la première ligne

Posté par
Lyline63
re : Algorithme 23-04-20 à 19:21

Mais*

Posté par
alb12
re : Algorithme 23-04-20 à 20:01

peux tu ecrire ton code entre ces 2 balises [code][/code] ?

Posté par
ty59847
re : Algorithme 23-04-20 à 20:29

Dans le 3ème ... tu mets : E=v+p[i]

Donc le programme va faire quoi, il va lire le tableau [i]v
et il va prendre l'élément de rang i.
élément de rang i, ok i est connu, sur la ligne juste au-dessus, on dit que i prend successivement toutes les valeurs entre 0 et n
mais ce tableau v, il vient d'où ?  C'est le seul endroit où on parle d'un tableau nommé v, et on demande de le lire. Bizarre.

Autre point, tu dis que tu fais E=v[i]+p[i]

Donc quand on passe la première fois ici, on met une certaine valeur dans E.
Puis quand on passe une 2ème fois sur cette ligne, on écrase ce qu'on vient de faire, et on met une nouvelle valeur dans cette variable E.
Et idem à chaque passage.
Du coup, pourquoi faire l'opération plein de fois ? Pourquoi ne pas faire uniquement le dernier passage, puisqu'à chaque passage, on prend une gomme et on efface ce qu'on vient de faire.

Posté par
vham
re : Algorithme 23-04-20 à 20:49

Bonsoir,

Le n=......... semble devoir être la longueur des listes passées en paramêtres.
Qant à E il faut cumuler, soit E=E+.... Ou mieux E+=.......

Posté par
alb12
re : Algorithme 23-04-20 à 20:59

Peut-on attendre le code de Lyline63

Posté par
Lyline63
re : Algorithme 25-04-20 à 17:54

Bonjour,
À vrai dire l'algorithmique n'est pas mon fort,  je ne comprends pas ce que signifie

 
.
Pour le v[i]  *p[i]  c'est un camarade qui a essayé de m'aider mais à vrai dire j'ai compris l'idée sans comprendre ce que cela signifie vraiment.

Posté par
Lyline63
re : Algorithme 25-04-20 à 17:56

* ce que signifie [code][/code]

Posté par
alb12
re : Algorithme 25-04-20 à 19:25

ok belle franchise
v est une liste de valeurs par exemple [-3,-2,1,4]
v[0] est le premier element de la liste cad -3, v[1] le deuxieme etc
p est la liste des probas correspondantes par ex [1/6,1/3,1/12,5/12]
v[0]*p[0] est donc 13*1/6 etc

Posté par
Lyline63
re : Algorithme 25-04-20 à 21:11

Ahhh d'accord j'ai compris !
Mais dans mon cas je n'ai pas de valeurs si ce n'ai E =0  et n je ne vois pas quelle valeur lui attribué c'est pour cela qur j'ai essayé de bidouiller avec n+1 😅
Comment je pourrais faire pour que n corresponde aux longueurs des listes passées en paramètres ?
Et E pourrait il être égal à E+n?

Posté par
alb12
re : Algorithme 25-04-20 à 21:35


def esperance(v,p): # v et p sont des listes de meme longueur
  # local n,E,i (facultatif)
  n=len(v) # n est la longueur commune des 2 listes
  E=0 # E est l'esperance (la moyenne de X) cad la somme des xi*pi
  for i in range(0,n): # i varie de 0 à n-1
    E= à completer
  return E

Posté par
Lyline63
re : Algorithme 25-04-20 à 21:44

Donc E= vn*pn?

Posté par
alb12
re : Algorithme 25-04-20 à 22:27

non E est la somme des xi*pi cad v[0]*p[0]+v[1]*p[1]+etc
don ecrire E=E+??

Posté par
Lyline63
re : Algorithme 28-04-20 à 00:42

Hum ça j'avais compris mais je ne sais pas comment exprimer une répétitions sans noté tout les caractères un par un

Posté par
alb12
re : Algorithme 28-04-20 à 08:05

il faut ecrire
E prend la valeur E+v[i]*p[i]

Posté par
Lyline63
re : Algorithme 28-04-20 à 16:21

Ahhh d'accord !
C'est plus facile que ça en avait l'air !
Merci beaucoup



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 !