Oral 2 Algorithmique 1 Introduction du thème dans les programmes

Oral 2
Algorithmique 1
Introduction du thème dans les programmes du secondaire
● Classe de troisième
○ Algorithme donnant le PGCD de deux nombres.
■ Algorithme des soustractions
■ Algorithme d’Euclide
● Classe de Seconde - Première - Terminale
○ Chapitre transversale : programme + autres matières
○ Les boucles itératives - Première
○ Logiciels utilisés
■ Tableurs
■ Calculatrice
■ Logiciel libre de choix pour l’enseignant
● IDE : Environnement de développement intégré) : éditeur +
compilateur https://www.sourcelair.com/
○ Langages utilisés
■ Python
■ C / C++
Classe de l’exercice / Difficultés particulières
● Pas de boucle itérative, seconde
● Exercice accessible aux élèves
○ langage naturelle
● Difficulté de l’exercice
○ les boucles sont emboitées
Réponses aux questions
1. Analysez la production de chaque élève en mettant en évidence ses
compétences dans le domaine de la logique et de l’algorithmique.
● Elève n°1 :
○ Réponse question n°1
■ Compréhension des instructions : SI / SINON
■ Incompréhension de l’instruction TANT QUE
■ Tester le raisonnement avec 4, 32, 10.
● Elève n°2 :
○ Réponse question n°2
■ Raisonnement juste mais ne s’exprime pas clairement
■ Qu’est ce qu’un grand nombre ? 1000 ? Que devient les nombres
entre 21 et 1000 ?
● Elève n°3
○ Réponse question N°3
■ Compréhension de l’énoncé, k = k+1 est bien placé
■ /!\ la valeur de k n’a pas été initialisée
2. Proposez une correction de la question 2 telle que vous l’exposeriez devant
une classe de Seconde.
Conjecture :
Pour tout entier n différent de 0, l'algorithme affichera toujours n = 20.
Preuve :
Pour les entier i supérieurs à 20, on retranche à chaque boucle tant que 4 : i = i - 4
jusqu'à ce que i soit inférieur à 20. Donc pour i > 20 il existe k tel que i - 4 k < 20×
Pour vérifier que le résultat de l’algorithme soit toujours égale à 20, il suffit de vérifier
que la conjecture soit vrai pour tout entier n inférieur à 20.
3. Présentez deux ou trois exercices faisant intervenir un algorithme
Exercice n°1 :
On souhaite écrire un algorithme permettant de réduire la somme au même
b
a+c
d
dénominateur, a,b,c, et d étant des entiers, avec et .=b/ 0 =d/ 0
1. Existe t-il des contraintes sur les valeurs d’entrée a,b,c et d ?
2. Donner un exemple d’entrées telles que la somme ne soit pas décimale.
3. Pour obtenir un résultat exact, on introduit deux variables u et v telles que : ,
b
a+c
d=v
u
u et v seront donc les sorties de cet algorithme.
a. Donner les formules permettant de calculer u et v.
b. Ecrire cet algorithme en langage naturel.
● Pourquoi cet exercice :
○ c’est un TP qui force les élèves à sortir de leur logique habituelle tout en se
basant sur des techniques mathématiques.
○ calcul d’une somme de fractions : mettre sur même dénominateur
○ utilisation du langage naturel idéal pour commencer à s’approprier les
algorithmes.
○ Exercice qui peut être mis en concurrence avec les calculatrices
Exercice n°2 :²
L’algorithme ci-contre écrit en Python, renvoie une valeur y pour tout couple (x;n) où n est un
entier naturel.
Programme :
def f(x,n):
i=n
y=1
if (i==0):
return y
else :
while i>0 :
y=y*x
i=i-1
return y
1. Calculer les valeurs renvoyées pour les couples suivants : (2;0) ; (5;2) ; (3;3)
2. Quelle est l’expression de la valeur renvoyée par l’algorithme en fonction de x et de n
? Justifier la réponse.
● Pourquoi cet exercice :
○ Les couples de nombres dans une fonction sont utilisés
○ Cela montre l’efficacité des algorithmes : on a pas besoin d’écrire à nouveau
les calculs pour chaque couple.
○ L’utilisation du langage en python prépare les élèves qui voudraient faire des
études d’informatique car le langage python est souvent enseigné.
○ L’argumentation est bonne mais deux écoles s’affrontent : l’algorithme pour
les maths ou algorithme pour l’informatique, en tant que professeur de maths
mieux vaut éviter de rentrer dans un langage tel que Python et essayer de
travailler plus sur les algorithmes.
Exercice n°3 :
Soit la fonction f définie sur R-1 par (x)f=x−1
x−5
1. Calculer et (3)f(11)f
2. Calculer et , que constate-t-on ?(f(3))f(f(11))f
3. Lequel de ces algorithmes programmés sur la calculatrice réalise le calcul de (f(x))f
?
a. b. c.
PROGRAM: REPETE PROGRAM: REPETE PROGRAM: REPETE
: Prompt X : Prompt X : Prompt X
: (X-5)/(X-1)->Y : For(I,1,2) : For(I,1,2)
: Y*Y->Y : (X-5)/(X-1)->X : (X-5)/(X-1)->Y
: Disp Y : End : End
: Disp X : Disp Y
4. Démontrer que pour tout réel x, f(f(x))=x
● Pourquoi cet exercice :
○ cet exercice s’appuie sur les fonctions et le fait de trouver le programme qui
fonctionne oblige les élèves à trouver les erreurs des algorithmes ou en tout
cas les différences.
○ l’utilisation du langage des calculatrices pourra être utile pour créer des
algorithmes sur la calculatrice pour la suite du programme
○ Fonction homographique
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!