Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Algorithme : Simuler l'évolution d'une population bactérienne

Posté par
Ennho
03-03-17 à 11:38

Salut,
Je suis en 1ère S. J'ai un exercice à faire pour la rentrée sur lequel je bloque depuis le début des vacances. Je finis donc par venir demander de l'aide... Je suis dans le chapitre des suites numériques.
C'est l'exercice suivant :
Un milieu de culture contient 5 bactéries  à l'instant t=0.
- A t=1 seconde, le milieu contient le double de bactéries moins 1 bactéries qui a disparu.
- A t=2 secondes, le milieu contient le double de bactéries moins 2 bactéries qui ont disparu.
- A t=n secondes, le milieu contient le double de bactéries présentes au bout de n-1 secondes moins n bactéries qui ont disparu.
Questions :
1. Écrire un algorithme qui donne le nombre de bactéries présentes dans la solution au bout de n secondes.
2. Au bout de combien de secondes le nombre de bactéries est-il supérieur à 20000 ?

Voilà, le problème c'est qu'on n'a pas vu les algorithmes et que je ne sais plus comment on les fait. J'ai trouvé que pour trouver le nombre de bactéries au bout de n secondes il fallait faire 2(n-1)-n mais je ne sais pas comment le mettre sous forme d'algorithme...
Et pour la question 2, j'ai trouvé manuellement qu'il fallait 13 secondes pour dépassé les 20000 bactéries mais je pense qu'il faut utiliser l'algorithme pour répondre.

Merci de m'aider ! (;

Posté par
ZEDMAT
re : Algorithme : Simuler l'évolution d'une population bactérien 03-03-17 à 11:45

Bonjour,

Citation :
le nombre de bactéries au bout de n secondes il fallait faire 2(n-1)-n


Je crains que non.... essaye ta formule sur les premières valeurs.

pourtant la réponse suivante (13 s) est correcte.

Posté par
carita
re : Algorithme : Simuler l'évolution d'une population bactérien 03-03-17 à 11:46

bonjour

si on appelle Un la suite qui correspond au nb de bactéries au bout de n secondes
,
d'après l'énoncé, on peut écrire
U0 = 5
U1 = 2 * U0 - 1
U2 = 2 * U1 - 2
...
Un = 2 * Un-1 - n  

comprends-tu pourquoi "2(n-1)-n" est faux ?  calcule pour n=2, pour vérifier.

---

pour la question 2, j'ai trouvé manuellement qu'il fallait 13 secondes

pour l'algo, commence par décrire en langage naturel cette démarche que tu as faite manuellement,
sous forme de successions d'étapes : ça va te servir de base pour construire l'algo ensuite.

--

"on n'a pas vu les algorithmes et que je ne sais plus comment on les fait"
si tu ne sais plus comment on les fait, c'est que tu les as déjà vus

Posté par
carita
re : Algorithme : Simuler l'évolution d'une population bactérien 03-03-17 à 11:53

lorsque tu auras décrit les étapes, structure ton algo :

- quelles variables sont nécessaires ici?
- quelles initialisations dois-je faire ? (= quelle valeur à attribuer au départ à quelle variable)
- quels calculs dois-je demander? combien de fois ?
- quelle variable je vais afficher en sortie?

Posté par
Ennho
re : Algorithme : Simuler l'évolution d'une population bactérien 03-03-17 à 11:56

Merci pour les deux réponses ! Je comprends mieux maintenant !
J'ai déjà vu les algorithmes l'année dernière mais rapidement et je ne les ai pas refait cette année alors c'est un peu dur de me remettre dedans... Mais je vais essayer !
Merci encore !

Posté par
ZEDMAT
re : Algorithme : Simuler l'évolution d'une population bactérien 03-03-17 à 12:09

Dans ton passé algorithmique , avais tu utilisé ALGOBOX ?

Si oui, cela vaut la peine de t'y remettre (logiciel gratuit et simple à mettre en oeuvre).

Posté par
Ennho
re : Algorithme : Simuler l'évolution d'une population bactérien 03-03-17 à 12:14

Oui je pense que je l'avais utilisé une fois... Tu as raison, je vais essayer de m'aider avec !
Merci

Posté par
Glapion Moderateur
re : Algorithme : Simuler l'évolution d'une population bactérien 03-03-17 à 12:16

Et pour info tu en as même un algobox en ligne :

Posté par
J-P Posteur d'énigmes
re : Algorithme : Simuler l'évolution d'une population bactérien 03-03-17 à 12:24

Pour le premier algo :

VARIABLES
Bacteries EST_DU_TYPE NOMBRE
duree EST_DU_TYPE NOMBRE
i EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
	Bacteries PREND_LA_VALEUR 5
	LIRE duree
	POUR i ALLANT_DE 1 A duree
		DEBUT_POUR
		Bacteries PREND_LA_VALEUR (2 * Bacteries - i)
		FIN_POUR
		AFFICHER "population de bactéries après "
		AFFICHER duree
		AFFICHER "secondes : "
		AFFICHER Bacteries
FIN_ALGORITHME


Essayer de le comprendre ... et s'en inspirer pour faire le second.

Posté par
Ennho
re : Algorithme : Simuler l'évolution d'une population bactérien 03-03-17 à 12:50

Merci Glapion pour l'algobox en ligne, je l'ai utilisé et il m'a bien aidé !
Et merci J-P, j'ai compris ton algorithme et je les fait sur algobox, ça marche évidemment !
Mais ne puis-je pas tout simplement pour la question 2, utiliser le même algorithme et rentrer duree =20 par exemple et changer jusqu'à ce que je trouve la bonne durée ?
Merci encore

Posté par
alb12
re : Algorithme : Simuler l'évolution d'une population bactérien 03-03-17 à 13:32

salut,
l'enonce demande un algo pas sa traduction dans un langage de programmation

Posté par
Ennho
re : Algorithme : Simuler l'évolution d'une population bactérien 03-03-17 à 13:35

Qu'est ce que le langage de programmation ?

Posté par
carita
re : Algorithme : Simuler l'évolution d'une population bactérien 03-03-17 à 14:00

je réponds à cette question :
Mais ne puis-je pas tout simplement pour la question 2, utiliser le même algorithme et rentrer duree =20 par exemple et changer jusqu'à ce que je trouve la bonne durée ?

oui, il n'est pas demandé de faire un algo pour cette question 2)
tu peux utiliser celui de 1)

ceci dit, à titre personnel, rien ne t'empêche de t'entrainer à faire un second algo qui affichera la durée pour une qté de bactéries donnée (=saisie).

Posté par
carita
re : Algorithme : Simuler l'évolution d'une population bactérien 03-03-17 à 14:16

dit très schématiquement:
un langage de programmation est la syntaxe que l'on doit utiliser pour que la machine comprenne et exécute nos instructions (notre programme).

dans le cas d'algobox, tu vois que les instructions se rédigent en un langage assez proche de notre langage naturel : ce langage de programmation est un interface, volontairement assez simple à utiliser, entre "notre" logique  et le fonctionnement un peu complexe des entrailles d'une machine.

pour des déf. plus formelles, je laisse la place aux puristes

Posté par
J-P Posteur d'énigmes
re : Algorithme : Simuler l'évolution d'une population bactérien 03-03-17 à 19:28

Pour l'algo 2 (si on veut en faire un) :

On peut partir de l'algo 1, mais avec une différence fondamentale.

On ne sait pas, a priori, le nombre de secondes utiles et donc, on ne peut pas utiliser une boucle fermée comme :

POUR i ALLANT_DE 1 A duree
DEBUT_POUR
Bacteries PREND_LA_VALEUR (2 * Bacteries - i)
FIN_POUR

Il faut une boucle ouverte ... qui attend qu'une condition testée dans la boucle soit respectée pour sortir de la boucle.

Dans algobox, une telle boucle peut être :

TANT_QUE (Bactreries < 20000) FAIRE
DEBUT_TANT_QUE
Bacteries PREND_LA_VALEUR (2 * Bacteries - i)
FIN_TANT_QUE

Il faut penser à insérer dans la boucle un "compteur" qui compte le nombre de boucles effectuées.

Et en sortie de boucle, il suffira d'afficher la valeur de ce "compteur" qui sera l'image du temps demandé.
-----------

On peut évidemment aussi traiter le problème autrement qu'en implémentant un algorithme.

... ou bien faire les 2 méthodes pour vérifier si les réponses trouvées concordent.

On peut aussi résoudre le problème 2 en utilisant un tableur (comme Excel ou ...)

Posté par
J-P Posteur d'énigmes
re : Algorithme : Simuler l'évolution d'une population bactérien 04-03-17 à 11:06

On peut aussi démontrer que :

U(n) = 4 * 2^n - (1+n).(n-2)/2

Mais c'est un peu plus difficile que de laisser travailler un algo.
Et cette relation n'est pas très pratique à manipuler pour répondre à la question 2.

Posté par
Ennho
re : Algorithme : Simuler l'évolution d'une population bactérien 04-03-17 à 16:29

Merci beaucoup pour toute vos réponses ! Elle m'ont permis de comprendre et de finir mon exercice à temps !
C'est la première fois que je postais un message ici, je dois dire que c'est très efficace !
Merci encore !



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 !