<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://www.mathematiques.club/spip.php?page=backend.xslt" ?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>Math&#233;matiques.club</title>
	<link>https://www.mathematiques.club/</link>
	<description>Un site pour aider les &#233;l&#232;ves &#224; pr&#233;parer leur Bac.</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://www.mathematiques.club/spip.php?id_rubrique=8&amp;page=backend" rel="self" type="application/rss+xml" />

	<image>
		<title>Math&#233;matiques.club</title>
		<url>https://www.mathematiques.club/local/cache-vignettes/L128xH128/siteon0-b9b71.png?1766851971</url>
		<link>https://www.mathematiques.club/</link>
		<height>128</height>
		<width>128</width>
	</image>



<item xml:lang="fr">
		<title>Ecrire un algorithme de seuil</title>
		<link>https://www.mathematiques.club/terminale-es-et-l-specialite/algorithmes/article/ecrire-un-algorithme-de-seuil</link>
		<guid isPermaLink="true">https://www.mathematiques.club/terminale-es-et-l-specialite/algorithmes/article/ecrire-un-algorithme-de-seuil</guid>
		<dc:date>2017-03-26T20:48:32Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Neige</dc:creator>



		<description>
&lt;p&gt;M&#233;thode &lt;br class='autobr' /&gt;
Ecrire un algorithme n'est pas toujours facile. On pr&#233;sente ici le cas particulier de l'&#233;criture d'un algorithme &#034;de seuil&#034;. &lt;br class='autobr' /&gt;
Un algorithme &#034;de seuil&#034; permet de d&#233;terminer une valeur pour laquelle une condition est respect&#233;e pour la premi&#232;re fois. Ce type d'algorithme peut &#234;tre utilis&#233; pour r&#233;pondre, par exemple, &#224; ce genre de question : &#171; d&#233;terminer la plus petite valeur de $n$ pour laquelle $u_n \gt 4,99$ &#187;. &lt;br class='autobr' /&gt;
Concr&#232;tement, on consid&#232;re une suite $(u_n)$ et on cherche &#224; &#233;crire (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.mathematiques.club/terminale-es-et-l-specialite/algorithmes/" rel="directory"&gt;Algorithmes&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;M&#233;thode&lt;/h2&gt;
&lt;p&gt;Ecrire un algorithme n'est pas toujours facile. &lt;br class='autobr' /&gt;
On pr&#233;sente ici le cas particulier de l'&#233;criture d'un algorithme &#034;de seuil&#034;.&lt;/p&gt;
&lt;p&gt;Un algorithme &#034;de seuil&#034; permet de d&#233;terminer une valeur pour laquelle une condition est respect&#233;e pour la premi&#232;re fois.&lt;br class='autobr' /&gt;
Ce type d'algorithme peut &#234;tre utilis&#233; pour r&#233;pondre, par exemple, &#224; ce genre de question : &#171; d&#233;terminer la plus petite valeur de &lt;span class=&#034;spip-math&#034;&gt;$n$&lt;/span&gt; pour laquelle &lt;span class=&#034;spip-math&#034;&gt;$u_n \gt 4,99$&lt;/span&gt; &#187;.&lt;/p&gt;
&lt;p&gt;Concr&#232;tement, on consid&#232;re une suite &lt;span class=&#034;spip-math&#034;&gt;$(u_n)$&lt;/span&gt; et on cherche &#224; &#233;crire un algorithme &#034;de seuil&#034; sur cette suite. &lt;br class='autobr' /&gt;
Le mod&#232;le &#224; utiliser est le suivant (o&#249; les termes de la suite sont repr&#233;sent&#233;s par la lettre U et les rangs par la lettre N) :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;N prend sa valeur initiale (souvent 0 ou 1)
U prend sa valeur initiale
TANT QUE ... (la condition d&#233;pend de l'exercice) N prend la valeur N+1 U prend la valeur .... (le terme suivant qui d&#233;pend de l'exercice)
FIN TANT QUE
Afficher ... (selon la question)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;&lt;i&gt;Remarque : &#224; l'int&#233;rieur de la boucle &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;TANT QUE&lt;/code&gt;, l'ordre de l'actualisation de N et U peut &#234;tre invers&#233; (d'abord U puis N). M&#234;me remarque pour l'initialisation de N et U en d&#233;but d'algorithme&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;On s'aper&#231;oit que l'algorithme calcule les termes successifs de &lt;span class=&#034;spip-math&#034;&gt;$(u_n)$&lt;/span&gt; et que la boucle &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;TANT QUE&lt;/code&gt; va tourner tant que la condition sera vraie. D&#232;s que la condition deviendra fausse, on va sortir de cette boucle et afficher un r&#233;sultat.&lt;/p&gt;
&lt;p&gt;Il est important de conna&#238;tre ce mod&#232;le et de suivre les recommandations suivantes :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &#233;crire le squelette du mod&#232;le.&lt;/li&gt;&lt;li&gt; &#233;crire la condition. En fait, cette condition doit devenir fausse d&#232;s qu'on veut arr&#234;ter l'algorithme (il faut donc &#233;crire le contraire de la condition qui appara&#238;t dans la question pos&#233;e) .&lt;/li&gt;&lt;li&gt; &#233;crire le passage d'un terme U au suivant et du rang N au suivant &#224; l'int&#233;rieur de la boucle &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;TANT QUE&lt;/code&gt;.&lt;/li&gt;&lt;li&gt; &#233;crire l'affichage final (en v&#233;rifiant qu'on r&#233;pond bien &#224; la question).&lt;/li&gt;&lt;li&gt; tester l'algorithme &#233;crit en l'ex&#233;cutant pas &#224; pas (on pourra pour cela consulter la m&#233;thode : &lt;a href='https://www.mathematiques.club/terminale-es-et-l-specialite/algorithmes/article/faire-tourner-un-algorithme' class=&#034;spip_in&#034;&gt;Faire &#034;tourner&#034; un algorithme&lt;/a&gt;).&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt;Un exemple en vid&#233;o&lt;/h2&gt;&lt;div class=&#034;capsule-video&#034;&gt;&lt;div class=&#034;mini_capsule-video&#034;&gt; &lt;iframe title=&#034;Ecrire un algorithme de seuil&#034; width=&#034;560&#034; height=&#034;315&#034; src=&#034;//www.youtube-nocookie.com/embed/43fhvxftsxo?hd=1&amp;wmode=opaque&amp;autoplay=0&amp;rel=0&amp;enablejsapi=1&#034; allowfullscreen class=&#034;youtube-player&#034;&gt;&lt;/iframe&gt; &lt;/div&gt;&lt;/div&gt; &lt;!-- .capsule-video .mini_capsule-video --&gt;&lt;h2 class=&#034;spip&#034;&gt;D'autres exemples pour comprendre&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Niveau facile&lt;br class='autobr' /&gt;
On consid&#232;re la suite &lt;span class=&#034;spip-math&#034;&gt;$(u_n)$&lt;/span&gt; d&#233;finie par &lt;span class=&#034;spip-math&#034;&gt;$u_0=26$&lt;/span&gt; et pour tout &lt;span class=&#034;spip-math&#034;&gt;$n \in \mathbb{N}$&lt;/span&gt; par &lt;span class=&#034;spip-math&#034;&gt;$u_{n+1}=1,2u_n-5$&lt;/span&gt;.&lt;br class='autobr' /&gt;
On admet que cette suite est croissante et tend vers &lt;span class=&#034;spip-math&#034;&gt;$+\infty$&lt;/span&gt;.&lt;br class='autobr' /&gt;
Dans ce contexte, &#224; quoi sert l'algorithme suivant ?&lt;/li&gt;&lt;/ul&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;N prend la valeur 0
U prend la valeur 26
TANT QUE U&#8804;100 FAIRE N prend la valeur N+1 U prend la valeur 1,2U-5
FIN TANT QUE
Afficher N&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class='cs_blocs'&gt;&lt;h6 class='blocs_titre blocs_replie blocs_click'&gt;&lt;a href='javascript:;' class='ouvrir_fermer'&gt;Voir la r&#233;ponse&lt;/a&gt;&lt;/h6&gt;&lt;div class='blocs_destination blocs_invisible blocs_slide'&gt;
&lt;p&gt;Cet algorithme affiche la plus petite valeur de &lt;span class=&#034;spip-math&#034;&gt;$n$&lt;/span&gt; telle que &lt;span class=&#034;spip-math&#034;&gt;$u_n \gt 100$&lt;/span&gt;.&lt;br class='autobr' /&gt;
Explications : on commence &#224; ex&#233;cuter l'algorithme pas &#224; pas.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;N=0
U=26
(U&#8804;100 : on entre dans la boucle)
N=1
U=26,2
(U&#8804;100 : on entre dans la boucle)
N=2
U=26,44
...
...
(U&gt;100 : on sort de la boucle)
On affiche N&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On s'aper&#231;oit que cet algorithme calcule les termes successifs de &lt;span class=&#034;spip-math&#034;&gt;$(u_n)$&lt;/span&gt;. On entre dans la boucle tant que U&#8804;100 et on en sortira d&#232;s que U deviendra strictement sup&#233;rieur &#224; 100.&lt;br class='autobr' /&gt;
Une fois sorti de la boucle &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;TANT QUE&lt;/code&gt;, on affiche N, le plus petit entier pour lequel U est strictement sup&#233;rieur &#224; 100.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Niveau facile&lt;br class='autobr' /&gt;
On appelle &lt;span class=&#034;spip-math&#034;&gt;$v_n$&lt;/span&gt; le nombre de voitures d&#233;tenues par les habitants d'un village en juillet de l'ann&#233;e &lt;span class=&#034;spip-math&#034;&gt;$2010+n$&lt;/span&gt;. On sait que la suite &lt;span class=&#034;spip-math&#034;&gt;$(v_n)$&lt;/span&gt; est d&#233;finie par &lt;span class=&#034;spip-math&#034;&gt;$v_0=100$&lt;/span&gt; (c'est &#224; dire qu'on compte 100 voitures en juillet 2010) et pour tout &lt;span class=&#034;spip-math&#034;&gt;$n \in \mathbb{N}$&lt;/span&gt; par &lt;span class=&#034;spip-math&#034;&gt;$v_{n+1}=1,5v_n+1$&lt;/span&gt;.&lt;br class='autobr' /&gt;
On admet que cette suite est croissante et tend vers &lt;span class=&#034;spip-math&#034;&gt;$+\infty$&lt;/span&gt;.&lt;br class='autobr' /&gt;
Compl&#233;ter l'algorithme suivant pour qu'il affiche l'ann&#233;e &#224; partir de laquelle le nombre de voitures d&#233;passera 10 000 unit&#233;s.&lt;/li&gt;&lt;/ul&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;N prend la valeur 0
V prend la valeur 100
TANT QUE V&#8804;10 000 FAIRE N prend la valeur N+1 V prend la valeur 1,5V+1
FIN TANT QUE
Afficher ...&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class='cs_blocs'&gt;&lt;h6 class='blocs_titre blocs_replie blocs_click'&gt;&lt;a href='javascript:;' class='ouvrir_fermer'&gt;Voir la r&#233;ponse&lt;/a&gt;&lt;/h6&gt;&lt;div class='blocs_destination blocs_invisible blocs_slide'&gt;
&lt;p&gt;On cherche &#224; afficher la plus petite ann&#233;e pour laquelle le nombre de voitures d&#233;passera 10 000 unit&#233;s. Or, cet algorithme sort de la boucle &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;TANT QUE&lt;/code&gt; d&#232;s que le nombre de voitures V d&#233;passe 10 000. Il suffit donc de r&#233;cup&#233;rer la valeur de N en fin d'algorithme et de faire afficher 2010+N :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;N prend la valeur 0
V prend la valeur 100
TANT QUE V&#8804;10 000 FAIRE N prend la valeur N+1 V prend la valeur 1,5V+1
FIN TANT QUE
Afficher 2010+N&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Niveau moyen&lt;br class='autobr' /&gt;
On consid&#232;re la suite &lt;span class=&#034;spip-math&#034;&gt;$(u_n)$&lt;/span&gt; d&#233;finie par &lt;span class=&#034;spip-math&#034;&gt;$u_0=25$&lt;/span&gt; et pour tout entier naturel &lt;span class=&#034;spip-math&#034;&gt;$n$&lt;/span&gt; par &lt;span class=&#034;spip-math&#034;&gt;$u_{n+1}=0,8\times u_n+10$&lt;/span&gt;. &lt;br class='autobr' /&gt;
On admet que cette suite est croissante et a pour limite 50.&lt;br class='autobr' /&gt;
Compl&#233;ter l'algorithme suivant pour qu'il calcule la plus petite valeur de &lt;span class=&#034;spip-math&#034;&gt;$n$&lt;/span&gt; telle que &lt;span class=&#034;spip-math&#034;&gt;$u_n \geq 49$&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;N prend la valeur 0
U prend la valeur 25
TANT QUE ... FAIRE N prend la valeur ... U prend la valeur ...
FIN TANT QUE
Afficher N&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class='cs_blocs'&gt;&lt;h6 class='blocs_titre blocs_replie blocs_click'&gt;&lt;a href='javascript:;' class='ouvrir_fermer'&gt;Voir la r&#233;ponse&lt;/a&gt;&lt;/h6&gt;&lt;div class='blocs_destination blocs_invisible blocs_slide'&gt;
&lt;p&gt;Cet algorithme va calculer les termes successifs de la suite &lt;span class=&#034;spip-math&#034;&gt;$(u_n)$&lt;/span&gt; et va boucler dans le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;TANT QUE&lt;/code&gt; tant que U sera inf&#233;rieur &#224; 49. Il en sortira d&#232;s que U sera sup&#233;rieur ou &#233;gal &#224; 49. La condition &#224; &#233;crire est donc &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;TANT QUE U&lt;49 FAIRE&lt;/code&gt;.&lt;br class='autobr' /&gt;
A l'int&#233;rieur de la boucle &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;TANT QUE&lt;/code&gt;, il suffit d'actualiser les valeurs de N et U, ce qui donne :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;N prend la valeur 0
U prend la valeur 25
TANT QUE U&lt;49 FAIRE N prend la valeur N+1 U prend la valeur 0,8U+10
FIN TANT QUE
Afficher N&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Niveau moyen&lt;br class='autobr' /&gt;
On appelle &lt;span class=&#034;spip-math&#034;&gt;$a_n$&lt;/span&gt; la valeur d'une action c&#244;t&#233;e en bourse le 1er janvier de l'ann&#233;e &lt;span class=&#034;spip-math&#034;&gt;$2017+n$&lt;/span&gt;. Des sp&#233;cialistes ont affirm&#233; que la suite &lt;span class=&#034;spip-math&#034;&gt;$(a_n)$&lt;/span&gt; &#233;tait d&#233;finie pour tout entier naturel &lt;span class=&#034;spip-math&#034;&gt;$n$&lt;/span&gt; par &lt;span class=&#034;spip-math&#034;&gt;$u_n=60\times 0,9^n+40$&lt;/span&gt;.&lt;br class='autobr' /&gt;
On admet que cette suite est d&#233;croissante et a pour limite 40.&lt;br class='autobr' /&gt;
Compl&#233;ter l'algorithme suivant afin de d&#233;terminer &#224; partir de quelle ann&#233;e le cours de l'action descendra en dessous de 50 &#8364; (selon les sp&#233;cialiste).&lt;/li&gt;&lt;/ul&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;N prend la valeur 0
A prend la valeur ...
TANT QUE ... FAIRE N prend la valeur ... A prend la valeur ...
FIN TANT QUE
Afficher ...&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class='cs_blocs'&gt;&lt;h6 class='blocs_titre blocs_replie blocs_click'&gt;&lt;a href='javascript:;' class='ouvrir_fermer'&gt;Voir la r&#233;ponse&lt;/a&gt;&lt;/h6&gt;&lt;div class='blocs_destination blocs_invisible blocs_slide'&gt;
&lt;p&gt;Comme dans les cas pr&#233;c&#233;dents, cet algorithme calcule les termes successifs de &lt;span class=&#034;spip-math&#034;&gt;$(a_n)$&lt;/span&gt; et sort de la boucle &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;TANT QUE&lt;/code&gt; d&#232;s que &lt;span class=&#034;spip-math&#034;&gt;$a_n&lt;50$&lt;/span&gt;. On obtient donc :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;N prend la valeur 0
A prend la valeur 100
TANT QUE A&#8805;50 FAIRE N prend la valeur N+1 A prend la valeur 60&#215;0,9^N+40
FIN TANT QUE
Afficher N+2017&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;i&gt;Remarque : ^N signifie &#034;&#224; la puissance N&#034;&lt;/i&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Niveau difficile&lt;br class='autobr' /&gt;
On consid&#232;re la suite &lt;span class=&#034;spip-math&#034;&gt;$(u_n)$&lt;/span&gt; d&#233;finie par &lt;span class=&#034;spip-math&#034;&gt;$u_1=10$&lt;/span&gt; et pour tout entier naturel non nul &lt;span class=&#034;spip-math&#034;&gt;$n$&lt;/span&gt; par &lt;span class=&#034;spip-math&#034;&gt;$u_{n+1}=0,9\times u_n+25-4\times n$&lt;/span&gt;. &lt;br class='autobr' /&gt;
On admet que cette suite admet des valeurs n&#233;gatives.&lt;br class='autobr' /&gt;
Ecrire un algorithme qui permette de d&#233;terminer la plus petite valeur de &lt;span class=&#034;spip-math&#034;&gt;$n$&lt;/span&gt; telle que &lt;span class=&#034;spip-math&#034;&gt;$u_n&lt;0$&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class='cs_blocs'&gt;&lt;h6 class='blocs_titre blocs_replie blocs_click'&gt;&lt;a href='javascript:;' class='ouvrir_fermer'&gt;Voir la r&#233;ponse&lt;/a&gt;&lt;/h6&gt;&lt;div class='blocs_destination blocs_invisible blocs_slide'&gt;
&lt;p&gt;Comme dans les cas pr&#233;c&#233;dents, cet algorithme calcule les termes successifs de &lt;span class=&#034;spip-math&#034;&gt;$(u_n)$&lt;/span&gt; et sort de la boucle &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;TANT QUE&lt;/code&gt; d&#232;s que &lt;span class=&#034;spip-math&#034;&gt;$u_n&lt;0$&lt;/span&gt;. On obtient donc :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;N prend la valeur 1
U prend la valeur 10
TANT QUE U&#8805;0 FAIRE U prend la valeur 0,9U+25-4&#215;N N prend la valeur N+1
FIN TANT QUE
Afficher N&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;i&gt;Remarque&lt;/i&gt; : la valeur de N est actualis&#233;e apr&#232;s celle de U car, pour calculer &lt;span class=&#034;spip-math&#034;&gt;$u_{n+1}$&lt;/span&gt;, c'est l'ancienne valeur de &lt;span class=&#034;spip-math&#034;&gt;$n$&lt;/span&gt; qui intervient. Pour s'en rendre compte, on peut ex&#233;cuter cet algorithme pas &#224; pas.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Au Bac&lt;/h2&gt;
&lt;p&gt;On peut utilser cette m&#233;thode pour r&#233;soudre :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; la question 4 de &lt;a href='https://www.mathematiques.club/terminale-es-et-l-specialite/exercices-corriges-du-bac/article/asie-juin-2016-exercice-3-non-spe#Q4' class=&#034;spip_in&#034;&gt;Asie, Juin 2016 - Exercice 3 (non sp&#233;)&lt;/a&gt;.&lt;/li&gt;&lt;li&gt; la question 3a de &lt;a href='https://www.mathematiques.club/terminale-es-et-l-specialite/exercices-corriges-du-bac/article/centres-etrangers-juin-2018-exercice-2#Q3a' class=&#034;spip_in&#034;&gt;Centres &#233;trangers, Juin 2018 - Exercice 2&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="https://www.mathematiques.club/43fhvxftsxo" length="0" />
		

	</item>
<item xml:lang="fr">
		<title>Faire &#034;tourner&#034; un algorithme</title>
		<link>https://www.mathematiques.club/terminale-es-et-l-specialite/algorithmes/article/faire-tourner-un-algorithme</link>
		<guid isPermaLink="true">https://www.mathematiques.club/terminale-es-et-l-specialite/algorithmes/article/faire-tourner-un-algorithme</guid>
		<dc:date>2016-12-24T23:34:44Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Neige</dc:creator>



		<description>
&lt;p&gt;M&#233;thode &lt;br class='autobr' /&gt;
Un algorithme est une liste d'instruction basiques qui se succ&#232;dent. En g&#233;n&#233;ral, on con&#231;oit un algorithme pour le faire fonctionner sur une machine (calculatrice, ordinateur, ...). Faire &#034;tourner&#034; un algorithme, consiste &#224; se mettre &#224; la place de la machine et effectuer les instructions, ligne apr&#232;s ligne. &lt;br class='autobr' /&gt;
On passe ainsi d'une ligne &#224; une autre dans le sens de la lecture &#224; trois exceptions pr&#232;s : &lt;br class='autobr' /&gt;
1. La structure SI... ALORS... SINON... FIN SI Elle s'utilise souvent ainsi : (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.mathematiques.club/terminale-es-et-l-specialite/algorithmes/" rel="directory"&gt;Algorithmes&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;M&#233;thode&lt;/h2&gt;
&lt;p&gt;Un algorithme est une liste d'instruction basiques qui se succ&#232;dent. &lt;br class='autobr' /&gt;
En g&#233;n&#233;ral, on con&#231;oit un algorithme pour le faire fonctionner sur une machine (calculatrice, ordinateur, ...).&lt;br class='autobr' /&gt;
Faire &#034;tourner&#034; un algorithme, consiste &#224; se mettre &#224; la place de la machine et effectuer les instructions, ligne apr&#232;s ligne.&lt;/p&gt;
&lt;p&gt;On passe ainsi d'une ligne &#224; une autre dans le sens de la lecture &#224; trois exceptions pr&#232;s :&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; La structure &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; SI... ALORS... SINON... FIN SI&lt;/code&gt;&lt;br class='autobr' /&gt;
Elle s'utilise souvent ainsi :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;ligne 1 : SI conditions ALORS
ligne 2 : instructions A
ligne 3 : SINON
ligne 4 : instructions B
ligne 5 : FIN SI
ligne 6 : (suite de l'algorithme)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On commence &#224; la ligne 1.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Si les conditions sont VRAIES alors on passe &#224; la ligne 2 et on effectue les instructions A.&lt;br class='autobr' /&gt;
On passe ensuite &#224; la ligne 6 pour poursuivre l'ex&#233;cution de l'algorithme.&lt;/li&gt;&lt;li&gt; Si les conditions sont FAUSSES alors on passe &#224; la ligne 4 et on effectue les instructions B.&lt;br class='autobr' /&gt;
On passe ensuite &#224; la ligne 6 pour poursuivre l'ex&#233;cution de l'algorithme.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; La structure &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;POUR i entre a et b FAIRE... FIN POUR&lt;/code&gt;&lt;br class='autobr' /&gt;
Elle s'utilise souvent ainsi (avec a et b des nombres entiers) :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;ligne 1 : POUR i entre a et b FAIRE
ligne 2 : instructions A
ligne 3 : FIN POUR
ligne 4 : (suite de l'algorithme)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On commence &#224; la ligne 1.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; i prend la valeur a.&lt;br class='autobr' /&gt;
On passe &#224; la ligne 2 et on effectue les instructions A.&lt;br class='autobr' /&gt;
&lt;strong&gt;On remonte &#224; la ligne 1 en ajoutant 1 &#224; la valeur de i&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt; i prend la valeur a+1.&lt;br class='autobr' /&gt;
On passe &#224; la ligne 2 et on effectue les instructions A.&lt;br class='autobr' /&gt;
&lt;strong&gt;On remonte &#224; la ligne 1 en ajoutant 1 &#224; la valeur de i&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt; i prend la valeur a+2.&lt;br class='autobr' /&gt;
On passe &#224; la ligne 2 et on effectue les instructions A.&lt;br class='autobr' /&gt;
etc...&lt;/li&gt;&lt;li&gt; i prend la valeur b, c'est le dernier &#034;passage&#034;.&lt;br class='autobr' /&gt;
On passe &#224; la ligne 2 et on effectue les instructions A.&lt;br class='autobr' /&gt;
Cette fois, on passe &#224; la ligne 4 et on poursuit l'ex&#233;cution de l'algorithme.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt; La structure &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;TANT QUE conditions FAIRE... FIN TANT QUE&lt;/code&gt;&lt;br class='autobr' /&gt;
Elle s'utilise souvent ainsi :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;ligne 1 : TANT QUE conditions FAIRE
ligne 2 : instructions A
ligne 3 : FIN TANT QUE
ligne 4 : (suite de l'algorithme)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On commence &#224; la ligne 1.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Si les conditions sont FAUSSES, on saute directement &#224; la ligne 4 (sans effectuer les instructions A) et on poursuit l'ex&#233;cution de l'algorithme.&lt;/li&gt;&lt;li&gt; Si les conditions sont VRAIES alors on passe &#224; la ligne 2 et on effectue les instructions A.&lt;br class='autobr' /&gt;
&lt;strong&gt;On remonte &#224; la ligne 1 et on teste &#224; nouveau les conditions&lt;/strong&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Si les conditions sont FAUSSES, on saute directement &#224; la ligne 4 et on poursuit l'ex&#233;cution de l'algorithme.&lt;/li&gt;&lt;li&gt; Si les conditions sont VRAIES alors on passe &#224; la ligne 2 et on effectue les instructions A.&lt;br class='autobr' /&gt;
&lt;strong&gt;On remonte &#224; la ligne 1 et on teste &#224; nouveau les conditions&lt;/strong&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt;etc...&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Si les conditions sont toujours VRAIES, l'algorithme ne termine jamais, il r&#233;alise une boucle infinie, c'est un bug. &lt;br class='autobr' /&gt;
Normalement, au bout d'un certain nombre de &#034;passages&#034;, les conditions deviennent FAUSSES et on peut poursuivre l'algorithme.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Un exemple en vid&#233;o&lt;/h2&gt;&lt;div class=&#034;capsule-video&#034;&gt;&lt;div class=&#034;mini_capsule-video&#034;&gt; &lt;iframe title=&#034;Faire &#034;tourner&#034; un algorithme &#224; la main&#034; width=&#034;560&#034; height=&#034;315&#034; src=&#034;//www.youtube-nocookie.com/embed/rR_N-ZHDRSA?hd=1&amp;wmode=opaque&amp;autoplay=0&amp;rel=0&amp;enablejsapi=1&#034; allowfullscreen class=&#034;youtube-player&#034;&gt;&lt;/iframe&gt; &lt;/div&gt;&lt;/div&gt; &lt;!-- .capsule-video .mini_capsule-video --&gt;&lt;h2 class=&#034;spip&#034;&gt;D'autres exemples pour comprendre&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Niveau facile&lt;br class='autobr' /&gt;
Faire &#034;tourner&#034; l'algorithme suivant :&lt;/li&gt;&lt;/ul&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;ligne 1 : a prend la valeur 2
ligne 2 : b prend la valeur -3
ligne 3 : SI a+b&gt;0 ALORS
ligne 4 : c prend la valeur 10
ligne 5 : SINON
ligne 6 : c prend la valeur 20
ligne 7 : FIN SI
ligne 8 : Afficher c&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class='cs_blocs'&gt;&lt;h6 class='blocs_titre blocs_replie blocs_click'&gt;&lt;a href='javascript:;' class='ouvrir_fermer'&gt;Voir la r&#233;ponse&lt;/a&gt;&lt;/h6&gt;&lt;div class='blocs_destination blocs_invisible blocs_slide'&gt;
&lt;p&gt;Dans ce qui suit, on a indiqu&#233; les num&#233;ros des lignes mais ce n'est pas n&#233;cessaire.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;a=2 (ligne 1)
b=-3 (ligne 2)
a+b=-1&lt;0 (ligne 3)
c=20 (ligne 6)
On affiche 20 (ligne 8)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Niveau moyen&lt;br class='autobr' /&gt;
Faire &#034;tourner&#034; l'algorithme suivant :&lt;/li&gt;&lt;/ul&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;ligne 1 : u prend la valeur -1
ligne 2 : n prend la valeur 0
ligne 3 : TANT QUE n&lt;5
ligne 4 : n prend la valeur n+1
ligne 5 : u prend la valeur 2u-3
ligne 6 : FIN TANT QUE
ligne 7 : Afficher n
ligne 8 : Afficher u&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class='cs_blocs'&gt;&lt;h6 class='blocs_titre blocs_replie blocs_click'&gt;&lt;a href='javascript:;' class='ouvrir_fermer'&gt;Voir la r&#233;ponse&lt;/a&gt;&lt;/h6&gt;&lt;div class='blocs_destination blocs_invisible blocs_slide'&gt;
&lt;p&gt;Dans ce qui suit, on a indiqu&#233; les num&#233;ros des lignes mais ce n'est pas n&#233;cessaire.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;u=-1 (ligne 1)
n=0 (ligne 2)
n=0&lt;5 (ligne 3)
n=0+1=1 (ligne 4)
u=2&#215;(-1)-3=-5 (ligne 5)
n=1&lt;5 (ligne 3)
n=1+1=2 (ligne 4)
u=2&#215;(-5)-3=-13 (ligne 5)
n=2&lt;5 (ligne 3)
n=2+1=3 (ligne 4)
u=2&#215;(-13)-3=-29 (ligne 5)
n=3&lt;5 (ligne 3)
n=3+1=4 (ligne 4)
u=2&#215;(-29)-3=-61 (ligne 5)
n=4&lt;5 (ligne 3)
n=4+1=5 (ligne 4)
u=2&#215;(-61)-3=-125 (ligne 5)
n=5, cela rend la condition de la ligne 3 FAUSSE
On affiche n=5 (ligne 7)
On affiche u=-125 (ligne 8)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Remarque : cet algorithme pourrait servir &#224; calculer &lt;span class=&#034;spip-math&#034;&gt;$u_{5}$&lt;/span&gt; pour la suite d&#233;finie par &lt;span class=&#034;spip-math&#034;&gt;$u_{0}=-1$&lt;/span&gt; et pour tout entier naturel &lt;span class=&#034;spip-math&#034;&gt;$n, u_{n+1}=2\times u_{n}-3$&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Niveau difficile&lt;br class='autobr' /&gt;
Faire &#034;tourner&#034; l'algorithme suivant :&lt;/li&gt;&lt;/ul&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;ligne 1 : a prend la valeur 3
ligne 2 : b prend la valeur 1
ligne 3 : POUR i entre 1 et 2 FAIRE
ligne 4 : b prend la valeur b+i
ligne 5 : POUR j entre 5 et 7 FAIRE
ligne 6 : a prend la valeur a+i+j
ligne 7 : Afficher a&#215;b
ligne 8 : FIN POUR
ligne 9 : FIN POUR&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class='cs_blocs'&gt;&lt;h6 class='blocs_titre blocs_replie blocs_click'&gt;&lt;a href='javascript:;' class='ouvrir_fermer'&gt;Voir la r&#233;ponse&lt;/a&gt;&lt;/h6&gt;&lt;div class='blocs_destination blocs_invisible blocs_slide'&gt;
&lt;p&gt;Dans ce qui suit, on a indiqu&#233; les num&#233;ros des lignes mais ce n'est pas n&#233;cessaire.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;a=3 (ligne 1)
b=1 (ligne 2)
i=1 (ligne 3)
b=1+1=2 (ligne 4)
j=5 (ligne 5)
a=3+1+5=9 (ligne 6)
On affiche 9&#215;2=18 (ligne 7)
j=6 (ligne 5)
a=9+1+6=16 (ligne 6)
On affiche 16&#215;2=32 (ligne 7)
j=7 (ligne 5)
a=16+1+7=24 (ligne 6)
On affiche 24&#215;2=48 (ligne 7)
i=2 (ligne 3)
b=2+2=4 (ligne 4)
j=5 (ligne 5)
a=24+2+5=31
On affiche 31&#215;4=124 (ligne 7)
j=6 (ligne 5)
a=31+2+6=39 (ligne 6)
On affiche 39&#215;4=156 (ligne 7)
j=7 (ligne 5)
a=39+2+7=48 (ligne 6)
On affiche 48&#215;4=192 (ligne 7)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Au Bac&lt;/h2&gt;
&lt;p&gt;On peut utilser cette m&#233;thode pour r&#233;soudre :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; la question 3 de &lt;a href='https://www.mathematiques.club/terminale-es-et-l-specialite/exercices-corriges-du-bac/article/amerique-du-sud-novembre-2016-exercice-3-non-spe#Q3' class=&#034;spip_in&#034;&gt;Am&#233;rique du Sud, Novembre 2016 - Exercice 3 (non sp&#233;)&lt;/a&gt;.&lt;/li&gt;&lt;li&gt; la question B.3a de &lt;a href='https://www.mathematiques.club/terminale-es-et-l-specialite/exercices-corriges-du-bac/article/nouvelle-caledonie-novembre-2016-exercice-2-non-spe#QB3a' class=&#034;spip_in&#034;&gt;Nouvelle Cal&#233;donie, Novembre 2016 - Exercice 2 (non sp&#233;)&lt;/a&gt;.&lt;/li&gt;&lt;li&gt; la question 1a de &lt;a href='https://www.mathematiques.club/terminale-es-et-l-specialite/exercices-corriges-du-bac/article/antilles-guyane-septembre-2016-exercice-4#Q1a' class=&#034;spip_in&#034;&gt;Antilles-Guyane, Septembre 2016 - Exercice 4&lt;/a&gt;.&lt;/li&gt;&lt;li&gt; la question 3b de &lt;a href='https://www.mathematiques.club/terminale-es-et-l-specialite/exercices-corriges-du-bac/article/centres-etrangers-juin-2018-exercice-2#Q3b' class=&#034;spip_in&#034;&gt;Centres &#233;trangers, Juin 2018 - Exercice 2&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="https://www.mathematiques.club/rR_N-ZHDRSA" length="0" />
		

	</item>



</channel>

</rss>
