π
<-

Correction algo BAC S 2013 (Nouvelle Calédonie - mars 2014)

Toutes les news concernant les examens (BAC, DNB, etc.) et concours scolaires

Correction algo BAC S 2013 (Nouvelle Calédonie - mars 2014)

Unread postby critor » 09 Mar 2014, 22:37

Voici déjà ce soir la correction de l'algorithme tombé dans le 13ème et dernier sujet de Maths du BAC S 2013: Nouvelle Calédonie, mars 2014.


L'exercice n°3 concerné sur 5 points et donc à traiter en un maximum d'1 heure, commençait par une petite étude de fonction en partie A:


On retiendra juste de cette partie pour la suite que la fonction f est strictement croissante sur ]e-1;+∞[.

Et voici donc la partie B avec l'algorithme, sur la méthode des rectangles pour l'approximation d'une intégrale:



Question B)1)a)
On sait que l'algorithme est destiné à estimer l'intégrale par la méthode des rectangles.
En partant de l'initialisation U=V=0, à chaque itération U est incrémenté de
$mathjax$\frac{1}{n}f\left(1+\frac{k}{n}\right)$mathjax$
et V est incrémenté de
$mathjax$\frac{1}{n}f\left(1+\frac{k+1}{n}\right)$mathjax$
.
Or, comme e-1≤1, f est strictement croissante sur [1;2].
$mathjax$f\left(1+\frac{k}{n}\right)≤f\left(1+\frac{k+1}{n}\right)$mathjax$
et donc
$mathjax$\frac{1}{n}f\left(1+\frac{k}{n}\right)≤\frac{1}{n}f\left(1+\frac{k+1}{n}\right)$mathjax$
.
Ce qui implique à tout moment dans l'algorithme l'invariant U≤V.

U représente donc l'approximation de l'intégrale par les rectangles inférieurs, soit l'aire des rectangles hachurés deux fois.
V représente donc l'approximation de l'intégrale par les rectangles supérieurs, soit l'aire de tous les rectangles hachurés.


Question B)1)b)
Si l'on a parfaitement compris ce que faisait l'algorithme à la question précédente, la réponse est ici simple au sens où il suffit de faire un simple calcul que l'on retrouve si besoin en observant le graphe donné avec l'énoncé:
$mathjax$U=\frac{1}{4}\left(f(1)+f\left(\frac{5}{4}\right)+f\left(\frac{3}{2}\right)+f\left(\frac{7}{4}\right)\right)\approx0,4666$mathjax$

$mathjax$V=\frac{1}{4}\left(f\left(\frac{5}{4}\right)+f\left(\frac{3}{2}\right)+f\left(\frac{7}{4}\right)+f(2)\right)\approx0,8132$mathjax$


Si l'on n'a pas ces résultats ou si l'on en doute, il va donc falloir exécuter l'algorithme.
Notons que cet algorithme utilise une fonction f qu'il ne définit pas.

Lors de la traduction en un programme pour calculatrice graphique, il va falloir en tenir compte, et:
  • soit remplacer toutes les occurrences de f par l'expression associée
  • soit définir la fonction dans l'application de la calculatrice dédiée à cette tâche avant de lancer le programme
  • soit définir la fonction au sein du programme
Nous nous intéresserons ici à ce dernier cas, et rajouterons donc aux initialisations la définition de cette fonction f.

Pour définir une fonction dans un programme sur TI-76/82/83/84, nous allons utiliser l'instruction String>Equ( que l'on peut aller chercher dans la catalogue: :f21: :f102:
Nous y définirons Y1 en fonction de X. Mais le langage de programmation étant procédural et non fonctionnel, pour chaque calcul d'image il faudra donc affecter X avant d'évaluer Y1:
Image Image
L'on confirme bien les résultats précédents.

Sur Casio Graph/fx-CG, l'utilisation d'une fonction définie dans le programme est assez similaire.
ImageImage

Sur Casio Classpad/fx-CP (ci-contre), nous avons vraiment la notion de fonction dans un programme, et la définition et l'utilisation n'en sont que bien plus naturelles.
Nous préciserons toutefois en début de programme que l'on souhaite travailler en écriture décimale avec 'SetDecimal'. Sans cela, la calculatrice utilisera le dernier mode de l'évaluateur de programmes, et affichera possiblement des valeurs exactes que l'on ne demande pas ici.

Mêmes compliments pour le langage de programmation fonctionnel de la TI-Nspire/89/92/Voyage.
Ici, nous devons effectuer le lancement du programme en validant avec :nsct: :nsen: sur les modèles formels, afin de bien obtenir des affichages en écriture décimale et non exacte:
Image Image

Sur HP-39gII/Prime, il existe au moins trois façons de définir une fonction dans un programme. La plus simple, qui de plus a l'avantage de marcher sur les deux modèles me semble toutefois être la suivante:
Image


Question B)1)c)
f(1)=1ln(1)=1×0=0
Or, f est strictement croissante sur [1;2] d'après B)1)a).
Donc, pour tout
$mathjax$x\in[1;2]$mathjax$
, f(x)≥f(1) soit f(x)≥0.
Dans ces conditions,
$mathjax$A=\int_1^2f(x)dx$mathjax$
.
L'encadrement de l'intégrale par la méthode des rectangles est donc aussi un encadrement de l'aire.
0,4666≤A≤0,8132


Voici maintenant la suite de l'exercice:


Question B)2)a)
$mathjax$\begin{align*}V_n-U_n&=\frac{1}{n}\left(f\left(1+\frac{1}{n}\right)+f\left(1+\frac{2}{n}\right)+...+f\left(1+\frac{n-1}{n}\right)+f(2)\right)-\frac{1}{n}\left(f(1)+f\left(1+\frac{1}{n}\right)+f\left(1+\frac{2}{n}\right)+...+f\left(1+\frac{n-1}{n}\right)\right)\\
&=\frac{1}{n}\left(f\left(1+\frac{1}{n}\right)+f\left(1+\frac{2}{n}\right)+...+f\left(1+\frac{n-1}{n}\right)+f(2)-f(1)-f\left(1+\frac{1}{n}\right)-f\left(1+\frac{2}{n}\right)-...-f\left(1+\frac{n-1}{n}\right)\right)\\
&=\frac{1}{n}\left(f(2)-f(1)\right)\\
&=\frac{1}{n}\left(2\ln(2)-1\ln(1)\right)\\
&=\frac{1}{n}\left(2\ln(2)-1×0\right)\\
&=\frac{1}{n}\left(2\ln(2)-0\right)\\
&=\frac{1}{n}\left(2\ln(2)\right)\\
&=\frac{2\ln(2)}{n}\end{align*}$mathjax$

Donc:
$mathjax$V_n-U_n<0,1\Leftrightarrow\frac{2\ln(2)}{n}<0,1\Leftrightarrow2\ln(2)<0,1n$mathjax$
car n≥0
$mathjax$\Leftrightarrow\frac{2\ln(2)}{0,1}<n\Leftrightarrow n>\frac{2\ln(2)}{0,1}$mathjax$

Or,
$mathjax$\frac{2\ln(2)}{0,1}\approx 13,9$mathjax$
d'après la calculatrice.
Donc n≥14.
Le plus petit entier n vérifiant la propriété est donc 14.


Question B)2)b)
Voici une modification possible de l'algorithme:
La boucle 'pour' permettant de calculer l'encadrement, pour rechercher un encadrement avec V-U<0,1, nous allons la répéter tant que cette condition n'est pas satisfaite (V-U≥0,1).
A chaque itération de cette boucle tant que, on incrémente donc n et réinitialise les variables U et V pour pouvoir faire le calcul.
Plus rien n'étant connu sur n, on l'initialise à 0.
Nous initialiserons de plus V à 1, astuce pour garantir que l'on passe au moins une fois dans la boucle tant que suivante (car V-U=1-0=1≥0,1).
Code: Select all
Variables
   k et n sont des entiers naturels
   U, V sont des nombres réels
Initialisation
   U prend la valeur 0
   V prend la valeur 1 (*)
   n prend la valeur 0 (*)
Traitement
   [color=red]Tant que V-U≥0,1
      U prend la valeur 0 (*)
      V prend la valeur 0 (*)
      n prend la valeur n+1 (*)
      Pour k allant de 0 à n-1
         Affecter à U la valeur 
         Affecter à V la valeur 
      Fin pour
   Fin tant que (*)
Affichage
   Afficher U
   Afficher V
(*) lignes modifiées

Ce n'était pas demandé, mais pour savoir si notre algorithme modifié faisait bien ce que l'on voulait, il était bienvenu de le programmer sur la calculatrice encore une fois. De plus, cela pourra permettre de vérifier la cohérence des résultats en fin d'exercice.
On va même en profiter pour rajouter l'affichage de N en fin de programme.

Voici donc des programmes pour TI-76/82/83/84, TI-Nspire/89/92/Voyage, Casio Graph/fx-CG, HP-39gII/Prime et Casio Classpad/fx-CP:
Image Image Image Image

Les programmes se terminent sur calculatrice pour n=14 en fournissant 0,5870≤A≤0,6861, qui est bien une restriction de l'encadrement en B)1)c) d'amplitude inférieure à 0,1.



L'exercice n'est pas tout-à-fait terminé, mais pour les algorithmes, c'est bien fini.
Par rapport aux 'amusements' que nous avions habituellement sur les suites au BAC, c'est donc un algorithme bien plus difficile, surtout si on devait le programmer sur calculatrice, avec cette utilisation d'une fonction dans un programme, cas possiblement jamais rencontré auparavant. Merci d'ailleurs à Planete-Casio à ce sujet.
Si la programmation sur calculatrice pouvait facilement être évitée pour la première question d'algorithme où l'on pouvait aisément répondre autrement, c'était beaucoup moins le cas pour la deuxième question d'algorithme...
Au final, un exercice que je juge difficile de ce point de vue.



Téléchargement : Annales BAC S 2014 - sujets inédits 2013-2014
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41984
Images: 15890
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Correction algo BAC S 2013 (Nouvelle Calédonie - mars 20

Unread postby cpierquet » 10 Mar 2014, 19:01

Je suis d'accord avec le fait que le traitement du deuxième algorithme est un peu particulier... Il m'a laissé (et me laisse encore) perplexe, j'avoue que j'ai essayé de me placer côté élève (avec les algorithmes type vus en TS) et j'ai eu du mal à trouver une démarche efficace et simple...

J'ai tout d'abord pensé à un test après le calcul du U et V (si l'écart est >0,1) puis un LBL GOTO pour recommencer ; une sorte de boucle TANTQUE déguisée car il y avait un problème pour rentrer dans la boucle sinon...

algo_ts_ncmars2k14.png


algo_ts_ncmars2k14_exec.png


Ensuite j'ai pensé comme présenté ici à initialiser V avant arbitrairement pour forcer la rentrée dans la boucle, mais je ne pense pas que les élèves (en majorité) sont à même de gérer une telle subtilité...

Donc idem, je trouve la deuxième partie algorithmique pas évidente du tout...
You do not have the required permissions to view the files attached to this post.
User avatar
cpierquetPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 29.7%
 
Posts: 201
Joined: 10 Mar 2014, 18:34
Location: Chaumont (52)
Gender: Male
Calculator(s):
MyCalcs profile
Class: Prof de Maths [Lycée & BTS]

Re: Correction algo BAC S 2013 (Nouvelle Calédonie - mars 20

Unread postby critor » 10 Mar 2014, 19:49

Ah merci de venir m'apporter un petit peu d'aide.

Peut-être y a-t-il une solution simple, mais perso, j'ai beau y penser, je ne la vois pas.

En effet, la boucle 'tant que' vue au lycée effectue le test avant la 1ère itération.
(sinon, une boucle "faire ... tant que" ou "répéter ... tant que" aurait été plus appropriée)


On peut 'contourner' ce problème d'initialisation 'bizarre' avec une valeur quelconque en initialisant aux résultats de la 1ère itération:
Code: Select all
Initialisation:
   U prend la valeur f(1)
   V prend la valeur f(2)
   N prend la valeur 1
Traitement:
   ...


Là on ne choque pas l'élève au sens où on n'initialise pas à n'importe quoi.
Je ne l'ai pas proposé car ce me déplaisait sur le critère de la "factorisation de code".
En gros, on fait artificiellement le travail de la 1ère itération...


Le 'goto' est en effet une bonne idée d'approche sur la calculatrice, pour y simplifier ce programme nécessitant des boucles imbriquées.
Par contre, nous n'avons pas d'instruction 'goto' en algorithmique, donc si ça nous aide à comprendre, ça n'aidera pas à répondre quelque chose de correct sur la copie.



Bref du point de vue programme officiel et élève, cette partie reste encore un grand mystère pour moi...

Je doute au final que grand monde ait produit une réponse correcte.
Mais bon c'est une question de fin de partie, qui doit valoir un demi-point, et dont la réponse n'est pas essentielle à la réalisation de la partie C.
Certes ceux qui avaient réalisé le programme obtenaient un meilleur encadrement permettant de conforter une des réponses en partie C, mais il y avait bien d'autres moyens de la vérifier.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41984
Images: 15890
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Correction algo BAC S 2013 (Nouvelle Calédonie - mars 20

Unread postby cpierquet » 10 Mar 2014, 20:44

Il serait effectivement intéressant d'avoir un retour sur les consignes de correction (mais confidentielles...) sur cette question, effectivement il ne devait pas y avoir trop de points là-dessus mais par rapport aux algorithmes déjà tombés cela sort de "l'ordinaire" et cela montre d'autres axes pour la fin d'année, quoiqu'il y ait déjà du boulot sur les algorithmes de base !!

J'ai sollicité des collègues pour qu'ils jettent un œil sur cet algorithme, donc peut-être qu'à plusieurs on aura une réponse simple niveau TS ;-)

Affaire à suivre, avec notamment les sujets de Pondichéry, Liban, etc...
User avatar
cpierquetPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 29.7%
 
Posts: 201
Joined: 10 Mar 2014, 18:34
Location: Chaumont (52)
Gender: Male
Calculator(s):
MyCalcs profile
Class: Prof de Maths [Lycée & BTS]

Re: Correction algo BAC S 2013 (Nouvelle Calédonie - mars 20

Unread postby Bisam » 10 Mar 2014, 20:48

Euh, je suis peut-être un peu terre-à-terre, mais moi, je modifierais uniquement la ligne d'affectation de n en changeant la valeur à n=14, puisque on vient de calculer que c'est pour n=14 que l'on obtient la bonne réponse !
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Correction algo BAC S 2013 (Nouvelle Calédonie - mars 20

Unread postby critor » 10 Mar 2014, 21:18

Effectivement... En question B)2)c), remplacer 4 par le 14 venant de la question B)2)b), permet de répondre à la question dans le contexte de cet exercice, et me être une interprétation acceptable devant la formulation de la question.
De plus, cela rentre dans la logique d'utilisation du résultat de la question précédente fort présente au BAC.

Si c'est ça, la question B)2)c) passerait du statut de la question d'algo la plus compliquée du BAC S 2013, à celui de la question d'algo la plus simple... :P


Peut-être pour ça que je n'y ai même pas pensé.
Bisam, tu es génial ! ;)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41984
Images: 15890
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Correction algo BAC S 2013 (Nouvelle Calédonie - mars 20

Unread postby DoOmnimaga » 11 Mar 2014, 17:15

Off-topic, mais ici, est-ce-qu'un seul set de 4 piles AAA est assez pour que la ClassPad II ait le temps d'afficher le résultat, contrairement au programme d'une certaine news le printemps passé? :troll:
ImageImageImageImage
User avatar
DoOmnimagaPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 21.5%
 
Posts: 696
Images: 51
Joined: 21 Feb 2012, 12:04
Location: Quebec, Canada
Gender: Male
Calculator(s):
MyCalcs profile
Class: 11eme annee scolaire termine
YouTube: DJOmnimaga
Facebook: dreamofomnimaga.page

Re: Correction algo BAC S 2013 (Nouvelle Calédonie - mars 20

Unread postby critor » 11 Mar 2014, 17:59

Je me posais justement la question avant de lancer le programme, mais visiblement non.

Ca reste assez lent comparé aux autres calculatrices, mais l'attente est raisonnable: une 15aine de secondes.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41984
Images: 15890
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Correction algo BAC S 2013 (Nouvelle Calédonie - mars 20

Unread postby fakeith » 29 Mar 2014, 14:40

Bonjour,
Pourriez vous m'aider à exécuter cet algorithme sur deux calculatrices : Ti 82 et Ti 89
Sur la 82 j'y arrive mais je ne sais comment, les valeurs de U et V sont différentes et donc fausses.
La 89 est plus compliquée je ne la maitrise pas très bien et je n'arrive même pas à obtenir ne serait ce qu'un résultat.
Merci d'avance :D
User avatar
fakeith
Niveau 1: MD (Membre Débutant)
Niveau 1: MD (Membre Débutant)
Level up: 60%
 
Posts: 4
Joined: 28 Mar 2014, 19:29
Gender: Female
Calculator(s):
MyCalcs profile
Class: Terminale S

Re: Correction algo BAC S 2013 (Nouvelle Calédonie - mars 20

Unread postby critor » 29 Mar 2014, 15:24

Bonjour.

Quel est l'algorithme que tu tentes de programmer? Celui de ce sujet ?

De mémoire il me semble qu'il suffit de saisir le code pour TI-Nspire sur ta TI-89 et ça devrait marcher.
Les deux modèles utilisent un langage Basic fonctionnel très similaire.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41984
Images: 15890
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Next

Return to News Examens / Concours

Who is online

Users browsing this forum: No registered users and 3 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
813 utilisateurs:
>760 invités
>45 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)