--> Algorithmique
  1. Expliquer les instructions du programme ci-dessous :

  2. a = 12.5 b = 8.5 m = (a+b)/2 if m > 10: print("Tu es fort !") else: print("Tu peux mieux faire !")
  3. Modifier la valeur initiale de la variable b pour que le programme affiche "Tu peux mieux faire !".
Le programme suivant permet de déterminer la moyenne de trois nombres a, b et c. Il contient une erreur. Proposer une modification pour que l'algorithme soit opérationnel.

def moyenne(a,b,c): m = (a+b+c)/2.0 return m print( moyenne(10,12,8) ) Le programme suivant permet de déterminer la somme de tous les entiers de 1 jusqu'à 10. Il contient une erreur. Proposer une modification pour que l'algorithme soit opérationnel.

s = 0 for i in range(0,10): s = s+i print(s) Le programme suivant permet de déterminer la moyenne d'une liste de nombres. Il contient une erreur. Proposer une modification pour que l'algorithme soit opérationnel.

def moyenne(L): n = len(L) s = 0.0 for i in range(1,n): s = s+L[i] return s/n liste = [5,15] print( moyenne(liste) ) Le programme suivant modélise un exemple de dérive génétique : à partir de la fréquence initiale f d'un allèle dans une population de taille constante p on donne la fréquence de cet allèle après n générations.
Expliquer chaque instruction de ce programme.

from random import * def derive(f,p,n): freq = f for i in range(1,n+1): a = 0.0 for i in range(0,p): if random() < freq: a = a+1 freq = a/p return freq print( derive(0.5,100,10) )