Enseigner l`algorithmique en lycée

publicité
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Déroulement
• Les algorithmes dans l’histoire
• Des définitions d’un algorithme
• Algorithme et langages de programmation
• Les structures de bases de l’algorithmique
• Un premier algorithme
• Les premiers pas avec AlgoBox
1
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Déroulement
• Une galerie de « portraits »
• Les différents langages informatiques
• Des activités pour la classe de Seconde
• Des prolongements pour les classes de
Première et de Terminale
• Des « conseils » pédagogiques
• Une présentation de plusieurs logiciels à
caractère pédagogique
• Ce que « disent » les programmes
officiels
• Un bilan des 2 journées
2
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Historique
• Les algorithmes ne sont pas nés avec l’informatique :


L’algorithme d’Euclide pour calculer le PGCD de deux entiers
est vieux de plus de 2000 ans !
Des descriptions précises d’algorithmes sont présents dans
la Chine ancienne.
(Par exemple, pour extraire des racines carrées à partir de
divisions effectuées sur une « surface à calculer »)
• L’ origine du mot « algorithme » est lié au nom du savant arabe du IXe
siècle : Al-Khwarizmi.
Ce savant arabe a publié plusieurs méthodes pour le calcul effectif de
racines d’une équation du second degré et grâce à lui les chiffres arabes ont
pu se diffuser en occident.
Les algorithmes dans l’histoire
3
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
• Des définitions plus « modernes » d’un algorithme:
Définitions

Une définition simple :
« Un ensemble d’instructions pour résoudre un problème. »

Une définition plus complète à partir de 5 propriétés : (selon Knuth)
 Finitude : Un algorithme doit toujours se terminer après un nombre fini
d’étapes.
 Précision : Chaque étape d’un algorithme doit être définie précisément; les
actions à transposer doivent être spécifiées rigoureusement et sans ambiguïté
pour chaque cas.
 Entrées : Quantités, prises dans un ensemble d’objets spécifié, qui sont données
à l’algorithme avant qu’il ne commence.
 Sorties : Quantités qui ont une relation spécifiée avec les entrées.
 Rendement : Toutes les opérations que l’algorithme doit accomplir doivent être
suffisamment élémentaires pour pouvoir être en principe réalisées dans une durée
finie par un homme utilisant du papier et un crayon.
des définitions d’un algorithme
4
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
• Algorithme et langage de programmation
Algorithme et langage de programmation
 Un algorithme est rédigé dans un pseudo-langage (en Français).
Il peut ensuite être implémenté dans un langage de programmation donné.
En quoi a-t-on besoin d’un langage spécial, distinct des langages de
programmation compréhensibles par les ordinateurs ?
Parce que l’algorithmique exprime les instructions résolvant un problème
donné indépendamment des particularités de tel ou tel langage.
Pour prendre une image, si un programme était une dissertation,
l’algorithmique serait le plan, une fois mis de côté la rédaction et
l’orthographe. Or, vous savez qu’il vaut mieux faire d’abord le plan et rédiger
ensuite que l’inverse…
Apprendre l’algorithmique, c’est apprendre à manier la structure logique d’un
programme informatique.
Algorithme et langage de programmation
5
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Les 3 étapes d’un algorithme
Les 3 étapes d’un algorithme : les entrées
 Les entrées (ou la déclaration et la saisie des données)
 Le traitement
 Les sorties (ou l’affichage / l’impression des données transformées)
• Les entrées
Il s’agit de repérer les données nécessaires à la résolution du problème.
Ces données peuvent être numériques, ou sous forme de textes (on dit souvent
chaines de caractères), ou de type logique (deux valeurs possibles, vrai ou faux),
ou enfin de type graphique (des points).
Dans cette phase peut aussi figurer ce qu’on appelle l’entrée des données, qui peut
se manifester par la saisie de caractères ou de nombres sur le clavier, ou la
lecture de la position du pointeur de la souris, ou encore par la lecture d’un fichier
contenant ces nombres ou caractères.
Structures de bases d’un algorithme
6
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Les 3 étapes d’un algorithme
Les 3 étapes d’un algorithme : le traitement
 Les entrées (ou la déclaration et la saisie des données)
 Le traitement
 Les sorties (ou l’affichage / l’impression des données transformées)
• Le traitement
Il s’agit de déterminer toutes les étapes des traitements à faire et donc des
"instructions" à donner pour une exécution automatique.
Si ces instructions s’exécutent en séquence, on parle d’algorithme séquentiel.
Si les opérations s’exécutent sur plusieurs processeurs en parallèle, on parle
d’algorithme parallèle. Si les taches s’exécutent sur un réseau de processeurs on
parle d’algorithme réparti ou distribué.
Nous ne traiterons ici que des algorithmes séquentiels.
Structures de bases d’un algorithme
7
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Les 3 étapes d’un algorithme
Les 3 étapes d’un algorithme : les sorties
 Les entrées (ou la déclaration et la saisie des données)
 Le traitement
 Les sorties (ou l’affichage / l’impression des données transformées)
• Les sorties
Les résultats obtenus peuvent être affichés sur l’écran, ou imprimés sur papier, ou
bien encore conservés dans un fichier.
Structures de bases d’un algorithme
8
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Les 3 étapes d’un algorithme
Les 3 étapes d’un algorithme : un exemple simple
 Les entrées (ou la déclaration et la saisie des données)
 Le traitement
 Les sorties (ou l’affichage / l’impression des données transformées)
• Un exemple simple
On se donne deux points A et B du plan.
Cet algorithme décrit la construction
d’un losange dont une diagonale est
[AB].
a. Tracer le cercle de centre A passant par B.
b. Tracer le cercle de centre B passant par A.
c. Nommer C et D les points d’intersection de ces Les entrées sont les points A et B.
cercles.
Le traitement de la construction est
décrit dans les phases a. b. et c.
Construire le polygone ADBC.
La sortie est le polygone ADBC.
Structures de bases d’un algorithme
9
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Les 3 briques de base pour écrire les instructions du traitement
Les 3 briques de base
1.
Affectation de variables
2.
Structure alternative (Si … Alors …. Sinon)
3.
Structures répétitives
(« Boucles » Pour et Tant Que)
Structures de bases d’un algorithme
10
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Affectation de variables : identificateur
1.
Affectation de variables
Les données de l’algorithme peuvent être stockées dans des variables ou
« mémoires ».
Ces données sont représentées par un nom (un identificateur).
Les identificateurs sont des suites de lettres et chiffres (sans espaces) qui
doivent être choisies judicieusement pour que l’algorithme soit
immédiatement lisible et interprétable.
Les données peuvent avoir un type :
 numériques
 chaines de caractères
 booléen (Vrai ou Faux)
 listes (numériques ou de chaînes de caractères)
Structures de bases d’un algorithme
11
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Affectations de variables : exemples d’affectation
1.
Affectation de variables
Exemples d’affectation d’une variable :
A  2
: La variable nommée A prend pour valeur 2 quel que soit
sa valeur précédente
Compteur  Compteur + 1 : La variable nommée Compteur prend pour
valeur la valeur courante de Compteur + 1
(Attention ! : ce n’est pas une équation !)
C2
D3
EC+D
: à la fin des 3 instructions E a pour valeur 5.
Structures de bases d’un algorithme
12
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Affectation de variables : exemple : permutation de variables
1.
Affectation de variables
Exercice : proposer un algorithme qui permute les contenus de deux
variables numériques.
Réponse :
Temp  A
AB
B  Temp
On utilise une variable temporaire nommée ici Temp
Structures de bases d’un algorithme
13
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Structure alternative
2.
Structure alternative
Si condition alors
traitement 1
Sinon
traitement 2
FinSi
Remarque :L’évaluation de la condition est un booléen (qui a pour valeur Vrai ou
Faux).
Exemple :
Si N > 10 alors
Afficher « Le nombre » + N + « est strictement supérieur à 10 »
Sinon
Afficher « Le nombre » + N + « est inférieur ou égal à 10 »
FinSi
Structures de bases d’un algorithme
14
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Structures répétitives : boucle pour
3.
Structures répétitives : boucle Pour
Pour I = 1 à N Faire
traitement
I Suivant
On effectue les instructions nommées « traitement» N fois.
Exemple : Que fait cet algorithme ?
Pour I = 1 à 10 Faire
Afficher I*I
I Suivant
Réponse : Cet algorithme affiche tous les carrés des entiers naturels
compris entre 1 et 10.
Structures de bases d’un algorithme
15
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Structures répétitives : boucle Tant Que
3.
Structures répétitives : boucle « Tant que »
Tant que condition Faire
traitement
FinTantQue
On effectue les instructions nommées « traitement» tant que la condition est
vérifiée.
Exemple : Que fait cet algorithme ?
I1
Tant que I < 100 Faire
Afficher I
II+2
FinTantQue
Réponse : Cet algorithme affiche tous les entiers naturels impairs
compris entre 1 et 100.
Structures de bases d’un algorithme
16
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Structures répétitives : boucle répéter
3.
Structures répétitives : boucle « Répéter … Jusqu’à …. »
Répéter
traitement
Jusqu’ à Condition
On effectue les instructions nommées « traitement» jusqu’ à ce que la condition
ne soit plus vérifiée.
Structures de bases d’un algorithme
17
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
La suite de Syracuse
La suite de Syracuse : présentation du problème
Présentation du problème :
La suite de Syracuse d'un nombre entier N est définie par récurrence, de la
manière suivante :
• u0 = N
• Pour tout entier n naturel :
 si un est pair alors un+1 = un/2;
 si un est impair alors un+1 = 3un + 1
On se propose d’écrire un algorithme en « pseudo-code » qui en entrée lit l’entier
N, calcule et affiche les 5 premiers termes de cette suite.
Un premier algorithme
18
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
La suite de Syracuse
La suite de Syracuse : algorithme
Algorithme : suite de Syracuse
Données
N : entier
I : indice
Premier terme de la suite
Indice du terme courant de la suite un
Traitement
Lire N
On demande la saisie de l’entier N
Pour I = 1 à 5
On effectue une boucle avec 5 itérations.
Afficher N
On affiche le terme courant de la suite.
Si N est pair alors
On teste la parité du terme courant de la suite.
N  N/2
Sinon
On calcule le terme suivant de la suivant selon le
résultat du test de parité.
N  3*N+1
FinSi
FinPour
Un premier algorithme
19
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
La suite de Syracuse avec AlgoBox
La suite de Syracuse avec AlgoBox
Les premiers pas avec AlgoBox
20
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
La suite de Syracuse avec AlgoBox
La suite de Syracuse : Programme AlgoBox
Programme AlgoBox :
1 VARIABLES
2
N EST_DU_TYPE NOMBRE
3
I EST_DU_TYPE NOMBRE
4 DEBUT_ALGORITHME
5
LIRE N
6
POUR I ALLANT_DE 1 A 5
7
DEBUT_POUR
8
AFFICHER N
9
SI (N % 2 == 0) ALORS
10
DEBUT_SI
11
N PREND_LA_VALEUR N/2
12
FIN_SI
13
SINON
14
DEBUT_SINON
15
N PREND_LA_VALEUR 3*N+1
16
FIN_SINON
17
FIN_POUR
18 FIN_ALGORITHME
Les premiers pas avec AlgoBox
21
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
La suite de Syracuse avec AlgoBox
La suite de Syracuse : tests et conjecture
• Tester l’algorithme avec différentes valeurs de N.
• Modifier l’algorithme pour afficher les 20 premiers termes de la suite.
• Quelle conjecture peut-on émettre sur la suite de Syracuse ?
Réponse :
Quel que soit le nombre N de départ, la suite de Syracuse admet un
terme qui a pour valeur 1.
Les premiers pas avec AlgoBox
22
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
La suite de Syracuse avec AlgoBox
La suite de Syracuse : version 2
Modifier l’algorithme précédent pour s’arrêter au premier terme de la suite égal à 1 et
coder le programme AlgoBox correspondant.
Algorithme : suite de Syracuse (version 2)
Données
N : entier
I : indice
Premier terme de la suite
Indice du terme courant de la suite un
Traitement
Lire N
Tant que N <> 1 Faire
Afficher N
Si N est pair alors
N  N/2
Sinon
N  3*N+1
FinSi
FinTantQue
On demande la saisie de l’entier N
On effectue une boucle avec un test d’arrêt.
On affiche le terme courant de la suite.
On teste la parité du terme courant de la suite.
On calcule le terme suivant de la suivant selon le résultat
du test de parité.
Les premiers pas avec AlgoBox
23
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
La suite de Syracuse avec AlgoBox
La suite de Syracuse : programme Algobox Version 2
Suite de Syracuse (version 2) : programme AlgoBox
Suite_syracuse_V2 - 23.08.2010
1 VARIABLES
2 N EST_DU_TYPE NOMBRE
3 I EST_DU_TYPE NOMBRE
4 DEBUT_ALGORITHME
5 LIRE N
6 TANT_QUE (N != 1) FAIRE
7
DEBUT_TANT_QUE
8
AFFICHER N
9
SI (N % 2 == 0) ALORS
10
DEBUT_SI
11
N PREND_LA_VALEUR N/2
12
FIN_SI
13
SINON
14
DEBUT_SINON
15
N PREND_LA_VALEUR 3*N+1
16
FIN_SINON
17
FIN_TANT_QUE
18 AFFICHER N
19 FIN_ALGORITHME
Les premiers pas avec AlgoBox
24
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
La suite de Syracuse avec AlgoBox
La suite de Syracuse : le risque !
Quel est le risque encouru par le dernier algorithme ?
Réponse :
Si la conjecture de Syracuse est erronée il peut exister des entiers N tels que
aucun terme de la suite de soit égal à 1.
Dans ce cas la condition N <> 1 de la boucle Tant Que sera toujours vraie et le
programme bouclera indéfiniment !
Information
A ce jour, la conjecture de Syracuse n’est pas démontrée.
Les premiers pas avec AlgoBox
25
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
La suite de Syracuse avec AlgoBox
La suite de Syracuse : prolongements
Prolongements : Etude de la longueur et de l’altitude du vol liés à la suite de Syracuse
Longueur du vol :
Pour un premier terme u0 donné, on appelle longueur du vol de la suite l’entier l tel
que ul = 1 pour la première fois.
Altitude maximale du vol :
Pour un premier terme u0 donné, on appelle altitude maximale du vol le maximum
des termes de la suite .
Les premiers pas avec AlgoBox
26
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
La suite de Syracuse avec AlgoBox
La suite de Syracuse : prolongements : algos
Prolongements : Etude de la longueur et de l’altitude du vol liés à la suite de Syracuse
Proposition d’algorithmes à implémenter avec AlgoBox :
•
Calculer longueur et altitude pour un vol donné de la suite.
•
Afficher graphiquement (sous forme d’histogramme) les longueurs et altitudes
de vol de la suite pour 1 ≤ u0 ≤ u_max
(avec u_max = 10 ou 100 ou 1000 ou 1000)
et déterminer le vol de longueur maximale et d’altitude maximale
pour 1 ≤ u0 ≤
u_max
Les premiers pas avec AlgoBox
27
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
La suite de Syracuse avec AlgoBox
La suite de Syracuse : prolongements : lg vols
Prolongements : Longueurs des vols de la suite pour 1 ≤ u0 ≤ 100
Les premiers pas avec AlgoBox
28
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
La suite de Syracuse avec AlgoBox
La suite de Syracuse : prolongements : altitude vols
Prolongements : Altitude des vols de la suite pour 1 ≤ u0 ≤ 100
Les premiers pas avec AlgoBox
29
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Exécuter un programme en mode pas à pas
Il est possible d’exécuter un programme AlgoBox en mode pas à pas.
Pour chaque ligne d’instruction est affiché le contenu de chaque variable.
Le mode pas à pas d’AlgoBox
30
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Le mode pas à pas est utile pour mettre au point un programme en cas d’erreur
logique par exemple.
Il est également utile du point de vue pédagogique pour expliquer le déroulement d’un
programme aux élèves.
Le mode pas à pas d’AlgoBox
31
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Il est possible de représenter des points et des segments avec AlgoBox à partir de
coordonnées.
On utilise pour cela, l’onglet « Dessiner dans un repère ».
Représenter des points et des segments avec AlgoBox
32
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Il est possible d’utiliser une fonction numérique à une variable avec AlgoBox.
On utilise pour cela, l’onglet « Utiliser une fonction numérique ».
On définit la fonction nommée F1.
Et on utilise simplement dans les instructions F1(a) pour l’image de a par la fonction
F1 par exemple.
Utiliser des fonctions avec AlgoBox
33
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Portraits : Al-Khawarizmi - Pascal
Mathématicien, géographe, astrologue et astronome
musulman perse dont les écrits, rédigés en langue arabe,
ont permis l'introduction de l'algèbre en Europe.
Al-Khawarizmi
(783 - 850)
Il est à l'origine des mots « algorithme » (qui n'est autre que
son nom latinisé: "algoritmi" [3]) et « algèbre » (issu d'une
méthode et du titre d'un de ses ouvrages) ou encore de
l'utilisation des chiffres arabes
Savant, philosophe et écrivain, il est l'inventeur d'une machine
arithmétique nommée Pascaline.
Blaise Pascal
(1623-1662)
Une galerie de portraits
34
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Portraits : Babbage et Lovelace
Charles Babbage
(1791-1871)
Fils unique d'un banquier, cet anglais, algébriste de
talent, renoncera à une carrière prometteuse de savant
pour consacrer sa vie à la construction d'un calculateur
mécanique.
Il est l'inventeur de la Machine à différences puis de la
Machine Analytique.
Fille du poète romantique Lord George Byron et d'une
mathématicienne et féministe, épouse de William King (futur
comte de Lovelace), elle sera l'élève puis la collaboratrice de
C. BABBAGE.
Elle est aussi à l'origine du "Principe des machines à calculer".
Augusta Ada King Un langage porte son prénom en mémoire de ses travaux.
Lady LOVELACE
(1814-1852)
Une galerie de portraits
35
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Portraits : Boole et Von NEUMAN
Mathématicien anglais, il publie en 1854 les Lois de la
pensée. Dans ce livre, il décrit comment toute la logique
peut être définie par un principe simple: le binaire.
George BOOLE
(1815-1864)
John
Von NEUMANN
(1903-1957)
(Prononcer noy-man).
Il a été l'un des personnages clés des débuts de l'informatique. Il
publia de nombreux articles sur l'algèbre et la mécanique quantique
avant de se consacrer à la construction d'ordinateurs et à la
modélisation mathématique de la réaction en chaîne de la bombe A.
Ses "machines IAS" sont à l'origine de "l'Architecture Von
NEUMANN", c'est à dire celle des ordinateurs tels que nous les
connaissons.
Une galerie de portraits
36
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Portraits : Hopper et Turing
Grace Murray
HOPPER
(1906 - 1992)
Alan TURING
(1912 - 1954)
Cette américaine, mobilisée comme auxiliaire dans la marine
américaine fut affectée aux travaux de programmation et
d'exploitation de l'ENIAC. Puis, devenue une grande spécialise
de la programmation des ordinateurs, elle sera l'une des
principales créatrices du COBOL.
Mathématicien anglais, maître-assistant à Cambridge dès
23 ans. Il a conçu en 1936 une machine logique capable
de résoudre tous les problèmes que l'on peut formuler en
termes d'algorithmes.
Pendant la guerre, il participera à la réalisation de la
Bombe, première machine électromécanique de
décryptage des messages codés avec l'Enigma
Allemande.
Une galerie de portraits
37
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Portraits : Ritchie et Cerf
Dennis
RITCHIE
(1941)
Vinton G.
CERF
(1943 - )
Cet ingénieur des laboratoires Bell, est l'auteur du langage C.
En 1973, avec K. THOMPSON, il réécrira dans ce nouveau
langage le système d'exploitation UNIX.
C'est l'un des pères de l'Internet. Encore étudiant de
l'université de Los Angeles, il fut l'un des auteurs du protocole
TCP/IP et développa avec une équipe de chercheurs les
premiers outils utilisant ce mode de communication. Il est
aujourd'hui président de l'Internet Society qui surveille les
nouveaux standards d'Internet.
Une galerie de portraits
38
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Créateur du langage C++ basé sur le langage C
mais en lui donnant une dimension de Langage
Orienté Objet.
Portraits : Stroustrup et Gosling
Bjarne
STROUSTRUP
(1950 - )
Créateur du langage Java basé sur le langage C++.
La particularité principale de Java est que les
logiciels écrits dans ce langage sont très
facilement portables sur plusieurs systèmes
d’exploitation.
James Gosling
(1955 - )
Une galerie de portraits
39
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Portraits : Gates et Jobs
Ancien président (et fondateur avec P. ALLEN) de Microsoft.
Cette société est à l'origine du MS-DOS, de Windows, du
Basic-Microsoft puis de Visual Basic.
Bill GATES
(1951 - )
S. WOZNIAK (à gauche) et S. JOBS (à droite).
Fondateurs de la société Apple.
Après son éviction d'Apple S. JOBS créera la société Next
avant d'être rappelé pour redresser Apple.
Steve JOBS
(1955 - 2011)
Une galerie de portraits
40
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Portraits : Stallman et Torvalds
Fondateur du projet GNU, lancé en 1984 pour développer le
système d'exploitation libre GNU et donner ainsi aux
utilisateurs des ordinateurs la liberté de coopérer et de
contrôler les logiciels qu'ils utilisent. Il est également le
créateur (entre autres) de l'éditeur Emacs et du compilateur
Richard
STALLMAN gcc.
(1953 - )
Travaillant maintenant aux Etats-Unis mais Finlandais
d'origine, il a construit en 1991 un nouveau système
d'exploitation de type UNIX appelé Linux. Ayant choisi
de le diffuser suivant le principe des logiciels libres,
Linus TORVALDS ne retire aucune royaltie de son travail
sur le noyau Linux. Cela n'empêche pas sa popularité de
croitre de jours en jours.
Linus TORVALDS
(1969 -)
Une galerie de portraits
41
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Portraits : Page, Brin et Zuckerberg
Larry Page
(1973 - )
Sergey Brin
(1973 - )
Créateurs du moteur de recherche Google.
Ces deux jeunes brillants nord-américains ont
lancé leur moteur de recherche en 1999.
Ce mot vient du terme "googol" qui désigne un
chiffre, un 1 suivi de 100 zéros, traduisant
l'exhaustivité du moteur de recherche.
Créateur de Facebook
C'est en 2004 que la première version de
Facebook voit le jour pour mettre en
relation les étudiants de Harvard.
Mark Zuckerberg
(1984 - )
Une galerie de portraits
42
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Les différents langages informatiques
Langages info : machine-assembleur
• Définition :
Un langage informatique est destiné à décrire l'ensemble des actions
consécutives qu'un ordinateur doit exécuter.
• Langage machine :
langage utilisé par le processeur (code binaire, suite de 0 et de
1) : peu compréhensible par un humain
•
Langage assembleur :
langage intermédiaire , proche du langage machine, mais plus
« lisible » par un humain. (dépendant du processeur, donc non
portable)
Les différents langages informatiques
43
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Les différents langages informatiques
Langages info : interprétés/compilés 1
• Langages plus évolués
plus facilement compréhensible que le langage machine.
portabilité : peut être implémenté facilement sur différentes machines
• Langages interprétés / langages compilés : définition
•
Un programme écrit dans un langage interprété a besoin d'un
programme auxiliaire (l'interpréteur) pour traduire au fur et à mesure
les instructions du programme.
•
Un programme écrit dans un langage dit "compilé" va être traduit une
fois pour toutes par un programme annexe (le compilateur) afin de
générer un nouveau fichier qui sera autonome, c'est-à-dire qui n'aura
plus besoin d'un programme autre que lui pour s'exécuter (on dit
d'ailleurs que ce fichier est exécutable).
Les différents langages informatiques
44
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Les différents langages informatiques
Langages info : interprétés/compilés 2
•
Langages interprétés / langages compilés : comparaison
•
•
•
Un programme écrit dans un langage compilé a comme avantage de ne
plus avoir besoin, une fois compilé, de programme annexe pour
s'exécuter.
De plus, la traduction étant faite une fois pour toute, il est plus rapide
à l'exécution.
Toutefois il est moins souple qu'un programme écrit avec un langage
interprété car à chaque modification du fichier source (fichier
intelligible par l'homme: celui qui va être compilé) il faudra recompiler
le programme pour que les modifications prennent effet.
Les différents langages informatiques
45
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Les différents langages informatiques
Langages info : exemples 1
Quelques exemples de langages couramment utilisés
Langage
ADA
BASIC
C
C++
Cobol
Fortran
Java
MATLAB
Mathematica
LISP
Domaine d'application
principal
Le temps réél
Comme son nom l'indique...
Programmation système
Programmation système
objet
Gestion
Calcul scientifique
Programmation orientée
internet
Calcul mathématique
Calcul mathématique
Intelligence artificielle
Compilé/interprété
langage compilé
langage interprété
langage compilé
langage compilé
langage compilé
langage compilé
langage intermédiaire
langage interprété
langage interprété
langage intermédiaire
Les différents langages informatiques
46
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Les différents langages informatiques
Langages info : exemples 2
Quelques exemples de langages couramment utilisés
Langage
Pascal
Prolog
Perl
Python
Domaine d'application
principal
Enseignement
Intelligence artificielle
Traitement de chaînes de
caractères
Enseignement
Domaine scientifique
Langage de script
Compilé/interprété
langage compilé
langage interprété
langage interprété
langage compilé
à la volée
Les différents langages informatiques
47
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Modes de présentation des activités
Différents modes de présentation des activités algorithmiques
• Guidé
: Algorithme à compléter.
• A interpréter : Que fait un algorithme donné ?
• Plus libre
: Algorithme à concevoir par les élèves à partir d’une
description.
• « A la main » : Faire « tourner » manuellement un algorithme donné.
• Evolutif
: Faire évoluer un algorithme donné pour le généraliser ou
l’améliorer.
Quelques conseils pédagogiques liés à mon « expérience »
48
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Travail demandé aux élèves
Le type de travail demandé aux élèves
• Ponctuel
: Un exercice court sur un seul algorithme.
Un « défi » sous forme ludique.
• Dossier à constituer
: Série d’algorithmes et de programmes à
restituer sur une période donnée concernant un
thème particulier (géométrie plane en seconde
par ex.)
Exemple : Sur 7 semaines pendant
l’accompagnement personnalisé entre deux
périodes de vacances scolaires.
• Exposé
: Sur un thème donné (Ex : jeux de hasard)
Avec présentation multimédia
Partie algorithmique + historique +
mathématiques.
Quelques conseils pédagogiques liés à mon « expérience »
49
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Contenu des activités à proposer
Conseils sur les activités à proposer
• Avoir des objectifs peu ambitieux au départ.
• Privilégier les algorithmes qui présentent un intérêt certain.
• Avec l’expérience, présenter des activités qui mélangent plusieurs outils
logiciels
Par exemple, GeoGebra + AlgoBox ou AlgoBox + XCas.
• Toujours inclure si possible la partie mathématique pure dans l’activité
proposée et faire percevoir l’utilisation d’un logiciel comme un simple outil
de conjecture ou bien de confirmation d’un résultat théorique.
• Les activités de simulation liées à la loi des grands nombres sont à mon
avis les plus « spectaculaires » .
(mise en correspondance d’une loi de probabilité avec une simulation).
Quelques conseils pédagogiques liés à mon « expérience »
50
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Des activités pour la classe de Seconde
Activités Seconde
Extrema d’une fonction avec la calculatrice
Sujets d’exposé lié aux calculs de probabilités (AlgoBox)
Simulation de l'intervalle de fluctuation au seuil de 95% (AlgoBox)
Parallélogramme et vecteurs (AlgoBox)
Milieu d'un segment, parallélogramme, distance entre deux points,
nature d'un triangle (XCas et AlgoBox)
Des activités pour la classe de seconde
51
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Des prolongements pour les classes de Première
et de Terminale
Activités Première-Terminale
• Algorithme pour déterminer les solutions d'une équation du
second degré (AlgoBox, Calculatrice, Xcas)
• Divers algorithmes concernant des problèmes d'arithmétique :
Programmes Visual Basic : diviseurs d'un entier, nombre premiers
(crible Eratosthène), nombres parfaits, répartition des nombres
premiers, nombres de Carmichael
Des prolongements pour les classes de Première et de Terminale
52
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
Logiciel XCas
13 et 14 Décembre 2012
1
Une présentation de plusieurs logiciels à caractère pédagogique
53
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
Logiciel Xcas
13 et 14 Décembre 2012
2
Présentation : « le couteau suisse des mathématiques »
• calcul formel: arithmétique, intégration, dérivation, limites,
...
• graphes de fonction, paramétrique, dans le plan et l'espace
• tableur et statistiques: calcul approché et exact
• géométrie interactive: dans le plan et l'espace
• programmation
• tortue logo
• unité physiques : opérations usuelles et conversion
Exemple : Déterminer si un triangle donné est isocèle en
fonction de la donnée des coordonnées de ses 3 sommets.
Une présentation de plusieurs logiciels à caractère pédagogique
54
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
Logiciel XCas
13 et 14 Décembre 2012
points négatifs/positifs
Points positifs :
• Possibilité d’utiliser la « richesse » des fonctions de
géométrie et de calcul formel de ce logiciel multi-usage.
• La syntaxe est en français.
Points négatifs :
• Editeur libre  source d’erreurs de syntaxe
nombreuses, difficiles à gérer avec un groupe d’élève en
simultanée.
• Interface du logiciel un peu « fouillie » et qui « date » !
Une présentation de plusieurs logiciels à caractère pédagogique
55
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Logiciel Scratch
Une présentation de plusieurs logiciels à caractère pédagogique
56
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Logiciel Scratch
Présentation :
Scratch est un logiciel de programmation destiné à apprendre
la programmation aux enfants à partir de 7 ans. On peut créer
facilement animations, jeux, musiques, en y ajoutant de
l’interactivité.
Le principe repose comme les montages Légo avec des briques
que l’on monte et que l’on démonte.
Exemple : Tracé d’un carré
Une présentation de plusieurs logiciels à caractère pédagogique
57
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
Logiciel Scratch
13 et 14 Décembre 2012
: points négatifs/positifs
Points positifs :
• Approche ludique de la programmation
• Pas de problème de syntaxe à mémoriser
• Animation graphique et intégration de sons possibles
• Manipulation par blocs proche de la démarche algorithmique
• La syntaxe est en français.
Points négatifs :
• Manipulation des blocs pas toujours aisée
• L’ approche ludique peut « masquer le sérieux » d’un
algorithme.
Une présentation de plusieurs logiciels à caractère pédagogique
58
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Environnement Excel / Visual Basic
Une présentation de plusieurs logiciels à caractère pédagogique
59
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Environnement Excel / Visual Basic
Présentation :
Le tableur Excel de Microsoft Office possède un
environnement de développement avec un langage de
programmation appelé Visual Basic ( for Applications (VBA)).
Les macros-commandes sont enregistrées automatiquement
dans ce langage
Exemple : Simulation de n lancers de 2 dés.
Etude des fréquences observées de la somme des
deux dés.
Une présentation de plusieurs logiciels à caractère pédagogique
60
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Environnement Excel / Visual Basic
Points positifs :
• Possibilités très riches de mêler les fonctionnalités de calcul
et graphiques du tableur avec de la programmation.
• Possibilité d’obtenir à partir d’une macro une « portion » d’un
code du programme.
Points négatifs :
• Syntaxe en Anglais
• Phase d’apprentissage du langage plus longue qu’avec
d’autres approches.
Une présentation de plusieurs logiciels à caractère pédagogique
61
: points négatifs/positifs
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Logiciel Java’s Cool
Une présentation de plusieurs logiciels à caractère pédagogique
62
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Logiciel Java’s Cool
Présentation :
Java's Cool est un environnement de programmation destiné à
l'apprentissage du java.
Le logiciel dispose d'un macro langage masquant la complexité
de java.
Exemple : Ecriture d’une fonction calculant la division de
deux entiers.
Une présentation de plusieurs logiciels à caractère pédagogique
63
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
Logiciel Java’s Cool
13 et 14 Décembre 2012
: points négatifs/positifs
Points positifs :
• « Apprentissage » d’un langage très utilisé dans le domaine du
développement informatique.
• Puissance du langage
• Modules d’apprentissage préparés (« Proglets »)
Points négatifs :
• La complexité du langage JAVA est toujours sousjacente.
(Fort typage des données, notion d’objet difficilement
contournable)
• Syntaxe en anglais.
• Ecriture des programmes dans un éditeur libre  de
nombreuses sources d’erreur possibles
• Nécessité de compiler le source du programme
(messages du compilateur souvent difficiles à
comprendre).
Une présentation de plusieurs logiciels à caractère pédagogique
64
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Logiciels préconisés
Concernant les logiciels à utiliser
Pour la classe de seconde, les logiciels que je préconise sont :
• AlgoBox notamment pour l’initiation
• Xcas pour des applications sur la géométrie plane
• Eventuellement Excel/VBA pour des applications sur les
probabilités
Concernant les « briques de base » à enseigner
Il me semble réaliste au niveau de la classe de seconde de se
limiter aux 3 premières briques (Affectation de
variables, Structure conditionnelle et boucles)
Les autres « briques » (Fonctions – procédures et
paramètres) pourront être abordées en classe de
Première et Terminale.
Une présentation de plusieurs logiciels à caractère pédagogique
65
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Notion de fonction
Notion de fonction
• Une fonction est un « petit » programme qui en
général renvoie une valeur.
• Elles permettent un découpage de l’algorithme qui
rend sa compréhension et son développement plus
facile.
• Une fonction a une liste de paramètres en entrée et
une valeur en retour.
• Une fonction qui ne retourne rien est appelée une
procédure.
Des prolongements pour les classes de Première et de Terminale
66
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Notion de fonction : somme de deux entiers
Notion de fonction
• Exemple : fonction qui calcule la somme de deux
nombres.
• Résultat somme(a;b)
retourner (a + b)
• Exemple d’appel de cette fonction :
resultat = somme(12;16)
Des prolongements pour les classes de Première et de Terminale
67
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Notion de fonction : PGCD de deux entiers
Notion de fonction
• Exercice : écrire en pseudo-code une fonction qui retourne le
PGCD de deux entiers naturels et l’implémenter avec Visual
Basic.
Des prolongements pour les classes de Première et de Terminale
68
Institut Saint-Cassien
Notion de fonction : PGCD de deux entiers (pseudo-code)
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Notion de fonction
Resultat PGCD( entier a, entier b)
debut
Si b < a alors
temp  b
ba
ab
Finsi
r  mod(a;b)
tant que r <> 0
ab
si r <> 0 alors
br
FinSi
r  mod(a;b)
Fin TantQue
retourner b
fin
Des prolongements pour les classes de Première et de Terminale
69
Institut Saint-Cassien
Notion de fonction : PGCD (pgm VBA)
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Notion de fonction
Public Function pgcd(a, b) As Integer
If a < b Then
temp = b
b=a
a=b
End If
r = a Mod b
While r <> 0
a=b
If r <> 0 Then
b=r
r = a Mod b
End If
Wend
pgcd = b
End Function
Sub test_pgcd()
a = InputBox("Valeur de a")
b = InputBox("Valeur de b")
a = CInt(a)
b = CInt(b)
c = pgcd(a, b)
Cells(1, 1) = c
End Sub
Des prolongements pour les classes de Première et de Terminale
70
Institut Saint-Cassien
Récursivité
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Notion de récursivité
Une fonction qui fait appel à elle-même dans son corps est
dites « récursive »
• De nombreux problèmes ont des solutions récursives «
naturelles »
• Les langages de programmation moderne permettent l’utilisation
de la récursivité.
•
Des prolongements pour les classes de Première et de Terminale
71
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Notion de récursivité
Récursivité : exemples
Exemples :
• Calcul de la factorielle d’un entier : 0! = 1 et pour n≥1 n! = n.(n-1)!
• Calcul des nombres de Fibonacci : F0 = 0, F1 = 1 et
pour n ≥2 Fn = Fn-1 + Fn-2
• Calcul du coefficient binomial C(k,n) : C(0,n) = C(n,n) =1 et pour
1≤k<n, C(k,n) = C(k-1,n-1) + C(k-1,n)
• Résolution du problème des tours de Hanoi
Des prolongements pour les classes de Première et de Terminale
72
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Notion de récursivité
Exemple : calcul de la factorielle d’un entier
1.
Récursivité : factorielle (algo itératif)
Algorithme itératif
entier factorielle_iteratif(entier n)
Début
res  1
Pour i = 1 à n
res = res * i
i Suivant
retourner res
Fin
Des prolongements pour les classes de Première et de Terminale
73
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Notion de récursivité
Récursivité : factorielle (algo récursif)
Exemple : calcul de la factorielle d’un entier
2.
Algorithme récursif
entier factorielle (entier n)
Début
Si n = 0 alors retourner 1
Si n = 1 alors retourner 1
retourner n * factorielle(n – 1)
Fin
Des prolongements pour les classes de Première et de Terminale
74
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Notion de récursivité
Exemple : tours de Hanoï
Récursivité : tours de Hanoï
Le problème des tours de Hanoï est un jeu de réflexion imaginé par le
mathématicien français Édouard Lucas, et consistant à déplacer des
disques de diamètres différents d'une tour de « départ » à une tour
d'« arrivée » en passant par une tour « intermédiaire » et ceci en un
minimum de coups, tout en respectant les règles suivantes :
• on ne peut déplacer plus d'un disque à la fois,
• on ne peut placer un disque que sur un autre disque plus grand que lui ou
sur un emplacement vide.
• On suppose que cette dernière règle est également respectée dans la
configuration de départ.
Des prolongements pour les classes de Première et de Terminale
75
Institut Saint-Cassien
Récursivité : tours de Hanoï : animation
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Notion de récursivité
Exemple : tours de Hanoï
Étapes de la résolution du problème avec 4
disques.
Des prolongements pour les classes de Première et de Terminale
76
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Notion de récursivité
Exemple : tours de Hanoï
Récursivité : tours de Hanoï : principe de résolution
Principe de la résolution :
Pour déplacer une tour de N disques de a vers b, on déplace la tour
des N-1 premiers disques de a vers c, puis le disque N de a vers b,
puis la tour des N-1 disques de c vers b.
Des prolongements pour les classes de Première et de Terminale
77
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Notion de récursivité
Récursivité : tours de Hanoï : algorithme
Exemple : tours de Hanoï
Ce qui conduit naturellement à l’algorithme récursif suivant :
nombre : nombre de disques utilisés
de : emplacement de départ
à : emplacement de destination
par : emplacement intermédiaire
Déplacer (nombre, de, à, par)
Si nombre > 0 alors
Déplacer (nombre - 1, de, par, à)
Bouger-un-disque (de, à)
Déplacer (nombre - 1, par, à, de)
Fin-si
Des prolongements pour les classes de Première et de Terminale
78
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Notion de récursivité
Récursivité : tours de Hanoï : complexité exponentielle
Exemple : tours de Hanoï
On peut montrer facilement par récurrence que pour une tour de n
disques, le nombre de déplacements est de 2n – 1.
Ainsi, un jeu à 64 disques requiert un minimum de 264- 1
déplacements. En admettant qu'il faille 1 seconde pour déplacer un
disque, ce qui fait 86 400 déplacements par jour, la fin du jeu
aurait lieu au bout d'environ 213 000 milliards de jours, ce qui
équivaut à peu près à 584,5 milliards d'années, soit 43 fois l'âge
estimé de l'univers (13,7 milliards d'années) !
On dit que cet algorithme a une complexité exponentielle.
Des prolongements pour les classes de Première et de Terminale
79
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Notion de récursivité
Récursivité : tours de Hanoï : complexité exponentielle
Exercice : Ecrire une version récursive du calcul du PGCD de deux
entiers naturels.
Resultat PGCD(a;b)
Si b = 0 alors
retourner a
Sinon
r  mod(a;b)
PGCD(b;r)
FinSi
Des prolongements pour les classes de Première et de Terminale
80
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Pourquoi mathématiques et algorithmique sont-ils si
intimement liés ?
Notion mathématique
Notion similaire en
algorithmique/programmation
Organisation d’une démonstration Programmation en modules
en géométrie (surtout) en
chaînons déductifs successifs
Raisonnement par disjonction des Structures conditionnelles (Si …
cas
alors …. ) ou bien « Switch case »
Fonction
Notion reprise quasiment à
l’identique
Raisonnement par récurrence
Récursivité
Des prolongements pour les classes de Première et de Terminale
81
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
BO : outils logiciels
Ce que disent les programmes officiels
82
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
BO : objectifs pour le lycée
Ce que disent les programmes officiels
83
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
BO : seconde : activités
Classe de Seconde
Ce que disent les programmes officiels
84
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
BO : seconde : Fonctions et expressions algébriques
Classe de Seconde : points du programme liés à l’algorithmique
Fonctions
:
Même si les logiciels traceurs de courbes permettent
d’obtenir rapidement la représentation graphique d’une
fonction définie par une formule algébrique, il est
intéressant, notamment pour les fonctions définies par
morceaux, de faire écrire aux élèves un algorithme
de tracé de courbe.
Expressions
algébriques
:
Les élèves apprennent à développer des stratégies
s’appuyant sur l’observation de courbes, l’anticipation
et l’intelligence du calcul. Le cas échéant, cela
s’accompagne d’une mobilisation éclairée et pertinente
des logiciels de calcul formel.
Ce que disent les programmes officiels
85
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
BO:seconde: Equations, géométrie
Classe de Seconde : points du programme liés à l’algorithmique
:
Encadrer une racine d’une équation grâce à un
algorithme de dichotomie.
Pour un même problème, combiner résolution
graphique et contrôle algébrique. Utiliser, en particulier,
les représentations graphiques données sur écran par
une calculatrice, un logiciel.
Configurations :
du plan
Le cadre de la géométrie repérée offre la possibilité de
traduire numériquement des propriétés géométriques
et permet de résoudre certains problèmes par la mise
en œuvre d’algorithmes simples.
Géométrie
On entraîne les élèves à l’utilisation autonome d’un
logiciel de géométrie dans l’espace.
Equations
:
Ce que disent les programmes officiels
86
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
BO:Premiere_S:Second_deg, Dérivation, Suites
Classe de Première S : points du programme liés à l’algorithmique
Second degré
: Proposer des activités algorithmiques.
Dérivation
: Si nécessaire dans le cadre de la résolution de
problèmes, le calcul de la dérivée d’une fonction est
facilité par l’utilisation d’un logiciel de calcul formel.
: L’utilisation des outils logiciels facilite l’introduction du
nombre dérivé.
Suites
: Mettre en œuvre des algorithmes permettant d’obtenir
une liste de termes d’une suite et de calculer un terme de
rang donné.
L’utilisation du tableur et la mise en œuvre d’algorithmes
sont l’occasion d’étudier des suites définies par une
relation de récurrence.
Ce que disent les programmes officiels
87
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
BO:Première_S:suites, Statistiques
Classe de Première S : points du programme liés à l’algorithmique
Suites
: Sens de variation
On peut utiliser un algorithme ou un tableur pour traiter
des problèmes de comparaison d’évolution et de seuil.
Approche de la notion de limite
Le tableur et les logiciels de géométrie dynamique et de
calcul sont des outils adaptés à l’étude des suites, en
particulier pour l’approche expérimentale de la notion de
limite.
Statistiques
: On utilise la calculatrice ou un logiciel pour déterminer
la variance et l’écart-type d’une série statistique.
Des travaux réalisés à l’aide d’un logiciel permettant de
faire observer des exemples d’effets de structure lors de
calcul de moyennes.
Ce que disent les programmes officiels
88
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
BO:PremièreS:Proba,Echantillon
Classe de Première S : points du programme liés à l’algorithmique
Probabilités
: On exploite les fonctionnalités de la calculatrice ou d’un
logiciel pour déterminer l’espérance, la variance d’une
série de données.
On peut simuler la loi géométrique tronquée avec un
algorithme.
On peut simuler la loi binomiale avec un algorithme.
Echantillonnage:
L’intervalle de fluctuation peut être déterminé à l’aide d’un
tableur ou d’un algorithme.
Ce que disent les programmes officiels
89
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
BO:Premières_ES_L:second_deg,fonctions,suites
Classe de Premières ES et L : points du programme liés à l’algorithmique
Second degré
:
Proposer des activités algorithmiques.
Etude de fonctions
:
L’utilisation des outils logiciels facilite l’introduction
du nombre dérivé.
Si nécessaire dans le cadre de la résolution de
problèmes, le calcul de la dérivée d’une fonction
est facilité par l’utilisation d’un logiciel de calcul
formel.
Suites
:
Mettre en œuvre des algorithmes permettant
d’obtenir une liste de termes d’une suite et de
calculer un terme de rang donné.
L’utilisation du tableur et la mise en œuvre
d’algorithmes sont l’occasion d’étudier des suites
définies par une relation de récurrence.
Ce que disent les programmes officiels
90
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
BO:Premières_ES_L:Suites,Stats
Classe de Premières ES et L : points du programme liés à l’algorithmique
Suites
: Sens de variation
On peut utiliser un algorithme ou un tableur pour traiter
des problèmes de comparaison d’évolution, de seuil et de
taux moyen.
Statistiques
: On utilise la calculatrice ou un logiciel pour déterminer
la variance et l’écart-type d’une série statistique.
Des travaux réalisés à l’aide d’un logiciel permettant de
faire observer des exemples d’effets de structure lors de
calcul de moyennes.
Ce que disent les programmes officiels
91
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
BO:Premières_ES_L:Proba,Ecchantillonnage
Classe de Première S : points du programme liés à l’algorithmique
Probabilités
:
À l’aide de simulations et d’une approche heuristique de
la loi des grands nombres, on fait le lien avec la
moyenne d’une série de données.
On exploite les fonctionnalités de la calculatrice ou d’un
logiciel pour déterminer l’espérance d’une variable
aléatoire.
Coefficients binomiaux
En pratique, on utilise une calculatrice ou un logiciel pour
obtenir les valeurs des coefficients binomiaux, calculer
directement des probabilités et représenter
graphiquement la loi binomiale.
On peut simuler la loi binomiale avec un algorithme.
Echantillonnage
:
L’intervalle de fluctuation peut être déterminé à l’aide
d’un tableur ou d’un algorithme.
Ce que disent les programmes officiels
92
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
BO:TS:Suites,Continuité
Classe de Terminale S (projet) : points du programme liés à l’algorithmique
:
Dans le cas d’une limite infinie, étant donnés une suite
croissante (un) et un nombre réel A, déterminer à l’aide
d’un algorithme un rang à partir duquel un est supérieur à
A.
Continuité sur :
un intervalle,
théorème des
valeurs
intermédiaires
Des activités algorithmiques sont réalisées dans le cadre
de la recherche de solutions de l’équation f (x) = k .
Suites
Ce que disent les programmes officiels
93
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
BO:TS:Intégration,Espace,Proba
Classe de Terminale S (projet) : points du programme liés à l’algorithmique
Intégration
: Pour une fonction monotone positive, mettre en œuvre
un algorithme pour déterminer un encadrement d’une
intégrale.
Géométrie
l’espace
: On étudie quelques exemples de sections planes du dans
cube. Ce travail est facilité par l’utilisation d’un logiciel de
géométrie dynamique.
Probabilités
: Conditionnement, indépendance
Des activités algorithmiques sont menées dans ce cadre,
notamment pour simuler une marche aléatoire.
Loi uniforme sur [a, b].
L’instruction « nombre aléatoire » d’un logiciel ou d’une
calculatrice permet d’introduire la loi uniforme sur [0,1].
Ce que disent les programmes officiels
94
BO:TS:Intégration, Proba
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Classe de Terminale S (projet) : points du programme liés à l’algorithmique
Probabilités
: Loi uniforme sur [a, b].
L’instruction « nombre aléatoire » d’un logiciel ou d’une
calculatrice permet d’introduire la loi uniforme sur [0,1].
Approfondissement : Méthode de Monte-Carlo.
Ce que disent les programmes officiels
95
BO:TS: Suites, Loi normale
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Classe de Terminales ES-L (projet) : points du programme liés à l’algorithmique
Suites
: Limite de la suite (qn), q étant un nombre réel
strictement positif.
Étant donné une suite (qn) avec 0 < q < 1, mettre en
œuvre un algorithme permettant de déterminer un seuil à
partir duquel qn est inférieur à un réel a positif donné.
Loi normale
N (μ, σ)
: Utiliser une calculatrice ou un tableur pour obtenir une N
probabilité dans le cadre d’une loi normale N (μ, σ).
Ce que disent les programmes officiels
96
Institut Saint-Cassien
Enseigner l’algorithmique en lycée
13 et 14 Décembre 2012
Objectifs visés pour des lycéens
Objectifs pour les lycéens
• Les objectifs « formateurs » de l’algorithmique :
familiariser les élèves avec les grands principes d’organisation d’un algorithme :
– gestion des entrées-sorties,
– affectation d’une valeur et mise en forme d’un calcul, en opérant
essentiellement sur des nombres entiers.
• Les objectifs « opérationnels » de l’algorithmique :
- décrire certains algorithmes en langage naturel ou dans un langage
symbolique ;
- en implémenter quelques uns à l’aide d’un tableur ou d’un petit programme
réalisé sur une calculatrice ou avec un logiciel adapté ;
- interpréter des algorithmes plus complexes.
Objectifs pour des lycéens
97
Téléchargement