Expliquer les instructions du programme ci-dessous :
a = 12.5
b = 8.5
m = (a+b)/2
if m > 10:
print("Tu es fort !")
else:
print("Tu peux mieux faire !")
Modifier la valeur initiale de la variable b pour que le programme affiche « Tu peux mieux faire ! ».
Modifier la valeur initiale de la variable x pour que le programme afiche « Bingo ! »
x = 100
if 3*x == 132:
print("Bingo !")
else:
print("Défaite...")
Modifier la valeur initiale de la variable x pour que le programme afiche « Bingo ! »
x = 10
if 3*x-7 > -0.1 and 3*x-7 < 0.1:
print("Bingo !")
else:
print("Défaite...")
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 j in range(0,p):
if random() < freq:
a = a+1
freq = a/p
return freq
print( derive(0.5,100,10) )
Un exemple avec un graphique pour visualiser l'évolution allélique.
Les paramètres de fréquence f, taille de la population p et nombre de générations n, sont modifiables aux lignes 35, 36 et 37.
Xmin = -1
Xmax = 10.1
Ymin = -0.1
Ymax = 1.1
function derive(f,p,n){
F = [];
freq = f;
for(i = 0; i < n; i++){
a = 0
for(var j = 0; j < p; j++){
if(Math.random() < freq){
a = a+1;
}
}
freq = a/p
F.push(freq)
}
return F
}
function traceEvol(F, coul){
n = F.length;
pas = 10/n;
couleur = coul
for(var i = 0; i < n-1; i++){
segment([pas*i,F[i]],[pas*(i+1),F[i+1]])
}
}
couleur = noir;
AxeX = true
AxeY = true
f = 0.5
p = 100
n = 200
traceEvol(derive(f,p,n),"rgb(255,0,0)");
traceEvol(derive(f,p,n),"rgb(0,255,0)");
traceEvol(derive(f,p,n),"rgb(0,0,255)");