Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
ORME 2.12 : Algorithmique en seconde avecPython
Olivier Brébant
Jeudi 22 mars 2012 / Marseille
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Objectif de l’intervention
Petite présentation d’un langage de programmation pour mettreen œuvre l’algorithmique au lycée : PYTHON.
1 Un exemple simple en classe de seconde
2 Un projet un peu plus ambitieux en AP
3 Côté technique : installation, versions...
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Objectif de l’intervention
Petite présentation d’un langage de programmation pour mettreen œuvre l’algorithmique au lycée : PYTHON.
1 Un exemple simple en classe de seconde
2 Un projet un peu plus ambitieux en AP
3 Côté technique : installation, versions...
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Objectif de l’intervention
Petite présentation d’un langage de programmation pour mettreen œuvre l’algorithmique au lycée : PYTHON.
1 Un exemple simple en classe de seconde
2 Un projet un peu plus ambitieux en AP
3 Côté technique : installation, versions...
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Objectif de l’intervention
Petite présentation d’un langage de programmation pour mettreen œuvre l’algorithmique au lycée : PYTHON.
1 Un exemple simple en classe de seconde
2 Un projet un peu plus ambitieux en AP
3 Côté technique : installation, versions...
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Partie 1*** Un exemple simple en classe de seconde ***
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Algorithme et résolution d’inéquation
Détails du déroulement d’une séance (1h) au lycée :
Niveau : seconde générale,Lieu : salle info (20 postes), demi-groupe (18 élèves)Connaissances : utilisation préalable de l’algorithmique, dutableur et de la machine à calculer dans diversessituations.
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Algorithme et résolution d’inéquation
Détails du déroulement d’une séance (1h) au lycée :
Niveau : seconde générale,
Lieu : salle info (20 postes), demi-groupe (18 élèves)Connaissances : utilisation préalable de l’algorithmique, dutableur et de la machine à calculer dans diversessituations.
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Algorithme et résolution d’inéquation
Détails du déroulement d’une séance (1h) au lycée :
Niveau : seconde générale,Lieu : salle info (20 postes), demi-groupe (18 élèves)
Connaissances : utilisation préalable de l’algorithmique, dutableur et de la machine à calculer dans diversessituations.
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Algorithme et résolution d’inéquation
Détails du déroulement d’une séance (1h) au lycée :
Niveau : seconde générale,Lieu : salle info (20 postes), demi-groupe (18 élèves)Connaissances : utilisation préalable de l’algorithmique, dutableur et de la machine à calculer dans diversessituations.
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Algorithme et résolution d’inéquation
Un problème :Pouvez-vous trouver un (ou des) entier(s) n tels que :
11+
12+
13+ · · ·+ 1
n> 10
Les consignes :
Travail personnel pendant 5 minutesTous les coups sont permis !(Stylo, machine à calculer, ordinateur + logiciels divers...)Une exception : pas d’accès à l’Internet...
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Algorithme et résolution d’inéquation
Un problème :Pouvez-vous trouver un (ou des) entier(s) n tels que :
11+
12+
13+ · · ·+ 1
n> 10
Les consignes :
Travail personnel pendant 5 minutesTous les coups sont permis !(Stylo, machine à calculer, ordinateur + logiciels divers...)Une exception : pas d’accès à l’Internet...
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Déroulement de la séance
a) Besoin d’explication pour les « · · · » de la formule
Exemple
calculs machine du type : 1 +12+
13+
110≈ · · ·
b) Tentatives de certains à la main !
Exemple
1 +12+
13= 1 +
36+
26=
66+
56=
116
< 10
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Déroulement de la séance
a) Besoin d’explication pour les « · · · » de la formule
Exemple
calculs machine du type : 1 +12+
13+
110≈ · · ·
b) Tentatives de certains à la main !
Exemple
1 +12+
13= 1 +
36+
26=
66+
56=
116
< 10
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Déroulement de la séance
a) Besoin d’explication pour les « · · · » de la formule
Exemple
calculs machine du type : 1 +12+
13+
110≈ · · ·
b) Tentatives de certains à la main !
Exemple
1 +12+
13= 1 +
36+
26=
66+
56=
116
< 10
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Déroulement de la séance
a) Besoin d’explication pour les « · · · » de la formule
Exemple
calculs machine du type : 1 +12+
13+
110≈ · · ·
b) Tentatives de certains à la main !
Exemple
1 +12+
13= 1 +
36+
26=
66+
56=
116
< 10
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Déroulement de la séance
c) Tentatives à la machine :
Exemple
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Déroulement de la séance
c) Tentatives à la machine :
Exemple
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Déroulement de la séance
c) Tentatives à la machine :
Exemple
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Déroulement de la séance
d) Utilisation du tableur :
Exemple
Commentaire : on finit par trouver, mais c’est assez laborieux,surtout pour trouver le plus petit entier qui marche...
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Déroulement de la séance
d) Utilisation du tableur :
Exemple
Commentaire : on finit par trouver, mais c’est assez laborieux,surtout pour trouver le plus petit entier qui marche...
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Déroulement de la séance
d) Utilisation du tableur :
Exemple
Commentaire : on finit par trouver, mais c’est assez laborieux,surtout pour trouver le plus petit entier qui marche...
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Déroulement de la séance
e) Utilisation d’un algorithme :
ExempleEn français En python
METTRE 0 dans S et nTANT QUE S<10 FAIRE :
AJOUTER 1 à nAJOUTER 1/n à S
AFFICHER n et S
S,n = 0,0while S<10 :
n = n + 1S = S + 1/n
print("S>10 dès que n =", n)
Résultat : on trouve n > 12367
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Déroulement de la séance
e) Utilisation d’un algorithme :
ExempleEn français En python
METTRE 0 dans S et nTANT QUE S<10 FAIRE :
AJOUTER 1 à nAJOUTER 1/n à S
AFFICHER n et S
S,n = 0,0while S<10 :
n = n + 1S = S + 1/n
print("S>10 dès que n =", n)
Résultat : on trouve n > 12367
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Déroulement de la séance
e) Utilisation d’un algorithme :
ExempleEn français En python
METTRE 0 dans S et n
TANT QUE S<10 FAIRE :AJOUTER 1 à nAJOUTER 1/n à S
AFFICHER n et S
S,n = 0,0while S<10 :
n = n + 1S = S + 1/n
print("S>10 dès que n =", n)
Résultat : on trouve n > 12367
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Déroulement de la séance
e) Utilisation d’un algorithme :
ExempleEn français En python
METTRE 0 dans S et nTANT QUE S<10 FAIRE :
AJOUTER 1 à nAJOUTER 1/n à S
AFFICHER n et S
S,n = 0,0while S<10 :
n = n + 1S = S + 1/n
print("S>10 dès que n =", n)
Résultat : on trouve n > 12367
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Déroulement de la séance
e) Utilisation d’un algorithme :
ExempleEn français En python
METTRE 0 dans S et nTANT QUE S<10 FAIRE :
AJOUTER 1 à n
AJOUTER 1/n à SAFFICHER n et S
S,n = 0,0while S<10 :
n = n + 1S = S + 1/n
print("S>10 dès que n =", n)
Résultat : on trouve n > 12367
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Déroulement de la séance
e) Utilisation d’un algorithme :
ExempleEn français En python
METTRE 0 dans S et nTANT QUE S<10 FAIRE :
AJOUTER 1 à nAJOUTER 1/n à S
AFFICHER n et S
S,n = 0,0while S<10 :
n = n + 1S = S + 1/n
print("S>10 dès que n =", n)
Résultat : on trouve n > 12367
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Déroulement de la séance
e) Utilisation d’un algorithme :
ExempleEn français En python
METTRE 0 dans S et nTANT QUE S<10 FAIRE :
AJOUTER 1 à nAJOUTER 1/n à S
AFFICHER n et S
S,n = 0,0while S<10 :
n = n + 1S = S + 1/n
print("S>10 dès que n =", n)
Résultat : on trouve n > 12367
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Déroulement de la séance
e) Utilisation d’un algorithme :
ExempleEn français En python
METTRE 0 dans S et nTANT QUE S<10 FAIRE :
AJOUTER 1 à nAJOUTER 1/n à S
AFFICHER n et S
S,n = 0,0while S<10 :
n = n + 1S = S + 1/n
print("S>10 dès que n =", n)
Résultat : on trouve n > 12367
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Déroulement de la séance
e) Utilisation d’un algorithme :
ExempleEn français En python
METTRE 0 dans S et nTANT QUE S<10 FAIRE :
AJOUTER 1 à nAJOUTER 1/n à S
AFFICHER n et S
S,n = 0,0while S<10 :
n = n + 1S = S + 1/n
print("S>10 dès que n =", n)
Résultat : on trouve n > 12367
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Partie 2*** Un projet un peu plus ambitieux en AP ***
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Faire des dessins avec Python
Faire des dessins c’est :
Important en mathématiques
Difficile en informatique !
→ sur MIAMMise a disposition d’un module pour dessiner "repere_math.py"
accompagné de sa documentation Exemple
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Faire des dessins avec Python
Faire des dessins c’est :
Important en mathématiques
Difficile en informatique !
→ sur MIAMMise a disposition d’un module pour dessiner "repere_math.py"
accompagné de sa documentation Exemple
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Faire des dessins avec Python
Faire des dessins c’est :
Important en mathématiques
Difficile en informatique !
→ sur MIAMMise a disposition d’un module pour dessiner "repere_math.py"
accompagné de sa documentation Exemple
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Faire des dessins avec Python
Faire des dessins c’est :
Important en mathématiques
Difficile en informatique !
→ sur MIAMMise a disposition d’un module pour dessiner "repere_math.py"
accompagné de sa documentation Exemple
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Faire des dessins avec Python
Faire des dessins c’est :
Important en mathématiques
Difficile en informatique !
→ sur MIAMMise a disposition d’un module pour dessiner "repere_math.py"
accompagné de sa documentation Exemple
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Algorithmique en accompagnement personnalisé
Détaillons le déroulement d’une séquence (3x1h) au lycée :
Niveau : seconde générale, accompagnementpersonnaliséLieu : salle info (20 postes), demi-groupe (18 élèves)Connaissances : boucles et tests en algorithmique
Une problématique :Simulation sur ordinateur de la propagation d’un feux de forêt...
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Algorithmique en accompagnement personnalisé
Détaillons le déroulement d’une séquence (3x1h) au lycée :
Niveau : seconde générale, accompagnementpersonnalisé
Lieu : salle info (20 postes), demi-groupe (18 élèves)Connaissances : boucles et tests en algorithmique
Une problématique :Simulation sur ordinateur de la propagation d’un feux de forêt...
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Algorithmique en accompagnement personnalisé
Détaillons le déroulement d’une séquence (3x1h) au lycée :
Niveau : seconde générale, accompagnementpersonnaliséLieu : salle info (20 postes), demi-groupe (18 élèves)
Connaissances : boucles et tests en algorithmique
Une problématique :Simulation sur ordinateur de la propagation d’un feux de forêt...
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Algorithmique en accompagnement personnalisé
Détaillons le déroulement d’une séquence (3x1h) au lycée :
Niveau : seconde générale, accompagnementpersonnaliséLieu : salle info (20 postes), demi-groupe (18 élèves)Connaissances : boucles et tests en algorithmique
Une problématique :Simulation sur ordinateur de la propagation d’un feux de forêt...
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Algorithmique en accompagnement personnalisé
Détaillons le déroulement d’une séquence (3x1h) au lycée :
Niveau : seconde générale, accompagnementpersonnaliséLieu : salle info (20 postes), demi-groupe (18 élèves)Connaissances : boucles et tests en algorithmique
Une problématique :Simulation sur ordinateur de la propagation d’un feux de forêt...
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Le principe est inspiré des automates cellulaires.On modélise une forêt par une grande matrice, et chaque casepeut se trouver dans l’un des états suivants :
état blanc : zone incombustible (rocher, rivière, ...)état vert : zone combustible (arbres, végétaux, ...)état rouge : zone en feuétat noir : zone en cendre (donc incombustible !)
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Le principe est inspiré des automates cellulaires.On modélise une forêt par une grande matrice, et chaque casepeut se trouver dans l’un des états suivants :
état blanc : zone incombustible (rocher, rivière, ...)
état vert : zone combustible (arbres, végétaux, ...)état rouge : zone en feuétat noir : zone en cendre (donc incombustible !)
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Le principe est inspiré des automates cellulaires.On modélise une forêt par une grande matrice, et chaque casepeut se trouver dans l’un des états suivants :
état blanc : zone incombustible (rocher, rivière, ...)état vert : zone combustible (arbres, végétaux, ...)
état rouge : zone en feuétat noir : zone en cendre (donc incombustible !)
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Le principe est inspiré des automates cellulaires.On modélise une forêt par une grande matrice, et chaque casepeut se trouver dans l’un des états suivants :
état blanc : zone incombustible (rocher, rivière, ...)état vert : zone combustible (arbres, végétaux, ...)état rouge : zone en feu
état noir : zone en cendre (donc incombustible !)
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Le principe est inspiré des automates cellulaires.On modélise une forêt par une grande matrice, et chaque casepeut se trouver dans l’un des états suivants :
état blanc : zone incombustible (rocher, rivière, ...)état vert : zone combustible (arbres, végétaux, ...)état rouge : zone en feuétat noir : zone en cendre (donc incombustible !)
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Etape 0
−→
Etape 1
Les règles de propagations
BLANC
→
BLANCNOIR
→
NOIRROUGE
→
NOIR
VERT
→
{ROUGE si au moins un voisin ROUGEVERT sinon
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Etape 0
−→
Etape 1
Les règles de propagations
BLANC →
BLANC
NOIR →
NOIR
ROUGE →
NOIR
VERT →
{ROUGE si au moins un voisin ROUGEVERT sinon
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Etape 0
−→
Etape 1
Les règles de propagations
BLANC → BLANCNOIR →
NOIR
ROUGE →
NOIR
VERT →
{ROUGE si au moins un voisin ROUGEVERT sinon
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Etape 0
−→
Etape 1
Les règles de propagations
BLANC → BLANCNOIR → NOIRROUGE →
NOIR
VERT →
{ROUGE si au moins un voisin ROUGEVERT sinon
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Etape 0
−→
Etape 1
Les règles de propagations
BLANC → BLANCNOIR → NOIRROUGE → NOIR
VERT →
{ROUGE si au moins un voisin ROUGEVERT sinon
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Etape 0
−→
Etape 1
Les règles de propagations
BLANC → BLANCNOIR → NOIRROUGE → NOIR
VERT →
{ROUGE si au moins un voisin ROUGEVERT sinon
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Etape 0
−→
Etape 1
Les règles de propagations
BLANC → BLANCNOIR → NOIRROUGE → NOIR
VERT →
{ROUGE si au moins un voisin ROUGEVERT sinon
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Un premier jet avec un langage "évolué" pour modéliser notresimulation :
Créer et initialiser un tableau de 50x50Mettre une case en ROUGEAfficher le tableauTant qu’il y a au moins une case en feu faire :
Pour chaque case faire :Si ROUGE alors NOIRSi VERT et "au moins un voisin ROUGE" alors ROUGE
Afficher le tableau
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Un premier jet avec un langage "évolué" pour modéliser notresimulation :
Créer et initialiser un tableau de 50x50
Mettre une case en ROUGEAfficher le tableauTant qu’il y a au moins une case en feu faire :
Pour chaque case faire :Si ROUGE alors NOIRSi VERT et "au moins un voisin ROUGE" alors ROUGE
Afficher le tableau
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Un premier jet avec un langage "évolué" pour modéliser notresimulation :
Créer et initialiser un tableau de 50x50Mettre une case en ROUGE
Afficher le tableauTant qu’il y a au moins une case en feu faire :
Pour chaque case faire :Si ROUGE alors NOIRSi VERT et "au moins un voisin ROUGE" alors ROUGE
Afficher le tableau
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Un premier jet avec un langage "évolué" pour modéliser notresimulation :
Créer et initialiser un tableau de 50x50Mettre une case en ROUGEAfficher le tableau
Tant qu’il y a au moins une case en feu faire :Pour chaque case faire :
Si ROUGE alors NOIRSi VERT et "au moins un voisin ROUGE" alors ROUGE
Afficher le tableau
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Un premier jet avec un langage "évolué" pour modéliser notresimulation :
Créer et initialiser un tableau de 50x50Mettre une case en ROUGEAfficher le tableauTant qu’il y a au moins une case en feu faire :
Pour chaque case faire :Si ROUGE alors NOIRSi VERT et "au moins un voisin ROUGE" alors ROUGE
Afficher le tableau
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Un premier jet avec un langage "évolué" pour modéliser notresimulation :
Créer et initialiser un tableau de 50x50Mettre une case en ROUGEAfficher le tableauTant qu’il y a au moins une case en feu faire :
Pour chaque case faire :
Si ROUGE alors NOIRSi VERT et "au moins un voisin ROUGE" alors ROUGE
Afficher le tableau
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Un premier jet avec un langage "évolué" pour modéliser notresimulation :
Créer et initialiser un tableau de 50x50Mettre une case en ROUGEAfficher le tableauTant qu’il y a au moins une case en feu faire :
Pour chaque case faire :Si ROUGE alors NOIR
Si VERT et "au moins un voisin ROUGE" alors ROUGEAfficher le tableau
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Un premier jet avec un langage "évolué" pour modéliser notresimulation :
Créer et initialiser un tableau de 50x50Mettre une case en ROUGEAfficher le tableauTant qu’il y a au moins une case en feu faire :
Pour chaque case faire :Si ROUGE alors NOIRSi VERT et "au moins un voisin ROUGE" alors ROUGE
Afficher le tableau
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 1)
Un premier jet avec un langage "évolué" pour modéliser notresimulation :
Créer et initialiser un tableau de 50x50Mettre une case en ROUGEAfficher le tableauTant qu’il y a au moins une case en feu faire :
Pour chaque case faire :Si ROUGE alors NOIRSi VERT et "au moins un voisin ROUGE" alors ROUGE
Afficher le tableau
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 2 et 3)
Découpage du travail en tâches élémentaires(procédures/fonctions)
Initialisation aléatoire d’un tableau de 50x50 Code python
Affichage du tableau Code python
Tester si présence d’un voisin ROUGE Code python
Boucle principale Code python
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 2 et 3)
Découpage du travail en tâches élémentaires(procédures/fonctions)
Initialisation aléatoire d’un tableau de 50x50 Code python
Affichage du tableau Code python
Tester si présence d’un voisin ROUGE Code python
Boucle principale Code python
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 2 et 3)
Découpage du travail en tâches élémentaires(procédures/fonctions)
Initialisation aléatoire d’un tableau de 50x50 Code python
Affichage du tableau Code python
Tester si présence d’un voisin ROUGE Code python
Boucle principale Code python
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 2 et 3)
Découpage du travail en tâches élémentaires(procédures/fonctions)
Initialisation aléatoire d’un tableau de 50x50 Code python
Affichage du tableau Code python
Tester si présence d’un voisin ROUGE Code python
Boucle principale Code python
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Simulation de feux de forêt (séance 3)
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Partie 3*** Côté technique : installation, versions... ***
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
2 versions
Un problème à résoudre : 2 versions pas tout à fait compatibles
Les (anciennes) versions 2.xLes (nouvelles) versions 3.x
Les principales différence pour nous :Action Python 2.x Pyhton 3.x1. Afficher print "message" print("message")2. Demander raw_input("Saisir... :") input("Saisir... :")3. Diviser (/) division entière division décimale
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
2 versions
Un problème à résoudre : 2 versions pas tout à fait compatibles
Les (anciennes) versions 2.xLes (nouvelles) versions 3.x
Les principales différence pour nous :Action Python 2.x Pyhton 3.x1. Afficher print "message" print("message")2. Demander raw_input("Saisir... :") input("Saisir... :")3. Diviser (/) division entière division décimale
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
2 versions
Un problème à résoudre : 2 versions pas tout à fait compatibles
Les (anciennes) versions 2.xLes (nouvelles) versions 3.x
Les principales différence pour nous :
Action Python 2.x Pyhton 3.x1. Afficher print "message" print("message")2. Demander raw_input("Saisir... :") input("Saisir... :")3. Diviser (/) division entière division décimale
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
2 versions
Un problème à résoudre : 2 versions pas tout à fait compatibles
Les (anciennes) versions 2.xLes (nouvelles) versions 3.x
Les principales différence pour nous :Action Python 2.x Pyhton 3.x1. Afficher print "message" print("message")
2. Demander raw_input("Saisir... :") input("Saisir... :")3. Diviser (/) division entière division décimale
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
2 versions
Un problème à résoudre : 2 versions pas tout à fait compatibles
Les (anciennes) versions 2.xLes (nouvelles) versions 3.x
Les principales différence pour nous :Action Python 2.x Pyhton 3.x1. Afficher print "message" print("message")2. Demander raw_input("Saisir... :") input("Saisir... :")
3. Diviser (/) division entière division décimale
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
2 versions
Un problème à résoudre : 2 versions pas tout à fait compatibles
Les (anciennes) versions 2.xLes (nouvelles) versions 3.x
Les principales différence pour nous :Action Python 2.x Pyhton 3.x1. Afficher print "message" print("message")2. Demander raw_input("Saisir... :") input("Saisir... :")3. Diviser (/) division entière division décimale
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Notre choix au lycée...
La version 3.2 installée (celle que l’on utilise...) : IDLEhttp://www.python.org/download/
La version 2.5 portable (en cas de besoin...) : PyScripterhttp://www.portablepython.com/wiki/
PortablePython1.1Py2.5.4
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Documentation
Beaucoup de choses sur le net dont :
Livres :Apprendre à programmer avec Python (Gérard Swinnen)Dive into Python (Mark Pilgrim)Tutoriel Python (Guido Van Rossum)
Sites :Le site du zéro...Le site d’Henri Garreta (Fac Luminy)France IOI
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Documentation
Beaucoup de choses sur le net dont :Livres :
Apprendre à programmer avec Python (Gérard Swinnen)Dive into Python (Mark Pilgrim)Tutoriel Python (Guido Van Rossum)
Sites :Le site du zéro...Le site d’Henri Garreta (Fac Luminy)France IOI
Un exemple simple en classe de seconde Un projet un peu plus ambitieux en AP Côté technique : installation, versions...
Documentation
Beaucoup de choses sur le net dont :Livres :
Apprendre à programmer avec Python (Gérard Swinnen)Dive into Python (Mark Pilgrim)Tutoriel Python (Guido Van Rossum)
Sites :Le site du zéro...Le site d’Henri Garreta (Fac Luminy)France IOI
Appendice
Initialisation du tableau en Python
Initialisation aléatoire d’un tableau de 50x50 avec une densitéde végétation de l’ordre de 80% :
def init_tableau() :. . . . . for i in range(50*50*9/10) :. . . . . . . .c = random.randint(0,49) On tire une col. au hasard. . . . . . . . l = random.randint(0,49) On tire une ligne au hasard. . . . . . . . tab[c,l] = 3 On met du vert dans la case
Retour
Affichage du tableau en Python
Affichage du tableau avec les bonnes couleurs :
def aff_tableau() :. . fen.clear() On efface la fenêtre. . for c in range(50) : On parcourt toutes les cases. . . . . for l in range(50) :. . . . . . . .case = tab[c,l]. . . . . . . . if case == 0 : coul = ’white’. . . . . . . .elif case == 1 : coul = ’gray’. . . . . . . .elif case == 2 : coul = ’red’. . . . . . . .elif case == 3 : coul = ’dark green’. . . . . . . . fen.trace_point(c,l,couleur=coul, taille = 3) On dessine
Retour
Test des voisins en Python
Test des cases voisines (Nord, Sud, Est, Ouest) :
def voisin(tableau,col,lig) :. . for dx,dy in ((-1,0),(1,0),(0,-1),(0,1)) : On parcourt les voisins. . . . . if tableau[col+dx,lig+dy]==2 :. . . . . . . . return True On retourne VRAI si voisin rouge. . return False On retourne FAUX dans la cas contraire
Retour
La boucle principale en Python
C’est finalement une partie un peu technique :
def evolution() :. . tab_temp = tab.copy() On fait une copie du tableau. . for c in range(50) : On parcourt toutes les cases. . . . . for l in range(50) :. . . . . . . . if tab_temp[c,l]==2 : tab[c,l]=1 Si Rouge alors Noir. . . . . . . . if tab_temp[c,l]==3 and voisin(tab_temp,c,l) : tab[c,l]=2. . afficher() On affiche le tableau. . fen.after(100,evolution) Après 100 ms, on recommence...
Retour
Un extrait de la documentation
Retour
Un extrait du site MIAM
Retour