{"id":1003,"date":"2017-03-31T01:44:40","date_gmt":"2017-03-30T23:44:40","guid":{"rendered":"http:\/\/www2.mathnique.com\/site\/?page_id=1003"},"modified":"2019-12-12T14:53:48","modified_gmt":"2019-12-12T13:53:48","slug":"terminaison-des-programmes","status":"publish","type":"page","link":"https:\/\/www.mathnique.com\/site\/terminaison-des-programmes\/","title":{"rendered":"Terminaison des programmes"},"content":{"rendered":"<ul>\n<li><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2811 aligncenter\" src=\"http:\/\/www.mathnique.com\/site\/wp-content\/uploads\/2019\/11\/prof.jpg\" alt=\"\" width=\"135\" height=\"128\" \/><br \/>Non seulement un programme <strong>doit \u00eatre correct<\/strong> mais <strong>en plus il doit se terminer.<\/strong><\/li>\n<li>Par exemple, dans le cas d'une boucle dont on ne conna\u00eet pas le nombre de r\u00e9p\u00e9titions, il faut qu'<strong>\u00e0 l'int\u00e9rieur de ces boucles l'\u00e9tat de la m\u00e9moire \u00e9volue pour satisfaire la condition d'arr\u00eat. <\/strong>\n<p><strong><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2847 aligncenter\" src=\"http:\/\/www.mathnique.com\/site\/wp-content\/uploads\/2019\/12\/filleordi-300x220.png\" alt=\"\" width=\"300\" height=\"220\" srcset=\"https:\/\/www.mathnique.com\/site\/wp-content\/uploads\/2019\/12\/filleordi-300x220.png 300w, https:\/\/www.mathnique.com\/site\/wp-content\/uploads\/2019\/12\/filleordi.png 313w\" sizes=\"auto, (max-width: 300px) 85vw, 300px\" \/><br \/><\/strong><\/p>\n<ul>\n<li><strong><span style=\"color: #ff0000;\">boucle while \u00a0condition bool\u00e9enne do ..end<\/span><\/strong><span style=\"color: #ff0000;\">do<\/span><br \/><em>exemple 1 :<\/em><br \/>input('N = ',N);<br \/>I := 0;<br \/>while I &lt; N do<br \/>begin<br \/>I :=I + 1 ;<br \/>writeln(I);<br \/>end;<\/li>\n<li>\u00a0<span style=\"color: #ff0000;\">boucle repeat .. until condition bool\u00e9enne<\/span><br \/>exemple 2 :<br \/>input('N = ',N);<br \/>I := 0;<br \/>repeat<br \/>I :=I + 1 ;<br \/>writeln(I);<br \/>until I = N;<\/li>\n<li><strong><span style=\"color: #ff0000;\">Autre exemple : R\u00e9solution de $f(x) = 0$ par dichotomie\u00a0<\/span><\/strong><br \/>Le th\u00e9or\u00e8me de BOLZANO qui est un corollaire du Th\u00e9or\u00e8me des valeurs interm\u00e9diaires affirme que :<br \/>Si $f$ est continue sue $[a \\ ; \\ b]$ et si $f(a)$ et $f(b)$ sont de signes contraires alors $\\exists \\ c \\in [a \\ ; \\ b] \\quad f(c) =0$<br \/>Pour d\u00e9terminer une valeur approch\u00e9e de $c$ on peut proc\u00e9der par dichotomie :\n<ul>\n<li>on part de l'intervalle $[ a \\ ; \\ b ]$ pour encadrer $c$<\/li>\n<li>puis on subdivise cet intervalle en deux sous-intervalles de m\u00eame longueur<\/li>\n<li>on cherche dans quel sous-intervalle se trouve $c$<\/li>\n<li>on r\u00e9it\u00e8re ce proc\u00e9d\u00e9 autant de fois qu'il faut jusqu'\u00e0 atteindre la pr\u00e9cision demand\u00e9e\u00a0<br \/><strong>d\u00e9but<\/strong><br \/><em>(* entr\u00e9e des donn\u00e9es *)<\/em><br \/>\u00a0 \u00a0 lire au clavier(a);<br \/>\u00a0 \u00a0 lire au clavier(b);<br \/>\u00a0 \u00a0 lire au clavier(n)<br \/><em>(* traitement *)<\/em><br \/>\u00a0 \u00a0 r\u00e9p\u00e9ter<br \/>\u00a0 \u00a0 \u00a0 \u00a0 $ x := a; y := f(x);$ afficher(y);<br \/>\u00a0 \u00a0 \u00a0 \u00a0 $e := y; x:=\\dfrac{a + b}{2};y := f(x); $afficher(y);<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0si $y*e &gt; O$ alors a:=x<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0sinon $b:=x$;<br \/>\u00a0 \u00a0 \u00a0 afficher('nouvelle valeur de a = ',a);<br \/>\u00a0 \u00a0 \u00a0afficher('nouvelle valeur de b = ',b);<br \/>\u00a0jusqu'\u00e0 $\\mid (b - a) \\mid &lt; 10^{-n}$ \u00a0<br \/><em>(* affichage des r\u00e9sultats *)<\/em><br \/>\u00a0 \u00a0 afficher(\"par d\u00e9faut \u00e0 $10^{-n} \\ c \\approx $\",a); <br \/>\u00a0 \u00a0 afficher(\"par exc\u00e8s \u00e0 $10^{-n} \\ c \\approx $\",b); <br \/>\u00a0 \u00a0afficher(\" \u00e0 $10^{-n} \\ c \\approx $\",$\\dfrac{a + b}{2}$);<br \/><strong>fin\u00a0<\/strong><\/li>\n<li>Cet algorithme se termine car la largeur de l'intervalle contenant $c$ d\u00e9cro\u00eet vers $0$ quand $n$ grandit.<br \/>au d\u00e9but $c$ \u00a0se trouve dans un intervalle de longueur $b - a$.<br \/>au 1er tour $c$ \u00a0se trouve dans un intervalle de longueur $\\dfrac{b - a}{2}$.<br \/>au 2\u00e8me tour $c$ \u00a0se trouve dans un intervalle de longueur $\\dfrac{b - a}{2^2}$.<br \/>etc...<br \/>au 1er tour $c$ \u00a0se trouve dans un intervalle de longueur $\\dfrac{b - a}{2^n}$.<\/li>\n<li>\u00a0<\/li>\n<li>\u00a0 \u00a0 \u00a0\u00a0<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><!--more--><\/p>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Non seulement un programme doit \u00eatre correct mais en plus il doit se terminer. Par exemple, dans le cas d'une boucle dont on ne conna\u00eet pas le nombre de r\u00e9p\u00e9titions, il faut qu'\u00e0 l'int\u00e9rieur de ces boucles l'\u00e9tat de la m\u00e9moire \u00e9volue pour satisfaire la condition d'arr\u00eat. boucle while \u00a0condition bool\u00e9enne do ..enddoexemple 1 :input('N &hellip; <a href=\"https:\/\/www.mathnique.com\/site\/terminaison-des-programmes\/\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;Terminaison des programmes&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-1003","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.mathnique.com\/site\/wp-json\/wp\/v2\/pages\/1003","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mathnique.com\/site\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.mathnique.com\/site\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.mathnique.com\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mathnique.com\/site\/wp-json\/wp\/v2\/comments?post=1003"}],"version-history":[{"count":9,"href":"https:\/\/www.mathnique.com\/site\/wp-json\/wp\/v2\/pages\/1003\/revisions"}],"predecessor-version":[{"id":2854,"href":"https:\/\/www.mathnique.com\/site\/wp-json\/wp\/v2\/pages\/1003\/revisions\/2854"}],"wp:attachment":[{"href":"https:\/\/www.mathnique.com\/site\/wp-json\/wp\/v2\/media?parent=1003"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}