<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Méthode « Diviser pour régner » on Accueil</title>
		<link>https://dlatreyte.github.io/terminales-nsi/diviser-pour-regner/</link>
		<description>Recent content in Méthode « Diviser pour régner » on Accueil</description>
		<generator>Hugo</generator>
		<language>fr</language>
		
		
		
		
			<lastBuildDate>Sun, 29 Jan 2023 23:13:31 +0400</lastBuildDate>
		
			<atom:link href="https://dlatreyte.github.io/terminales-nsi/diviser-pour-regner/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Somme des $n$ nombres d&#39;un tableau</title>
				<link>https://dlatreyte.github.io/terminales-nsi/diviser-pour-regner/7-somme-nombres/</link>
				<pubDate>Sun, 29 Jan 2023 23:13:31 +0400</pubDate>
				<guid>https://dlatreyte.github.io/terminales-nsi/diviser-pour-regner/7-somme-nombres/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;L’objectif de ce document est d’écrire et d’implémenter un algorithme s’appuyant sur le raisonnement « Diviser pour régner » qui permet de déterminer la somme des $n$ nombres (entiers) d&amp;rsquo;un tableau.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Écrire le code de fonction &lt;code&gt;somme1&lt;/code&gt; dont la spécification est :&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;somme1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tab&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;List&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;float&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;float&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    Calcul de la somme des nombres éléments&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    de tab.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    Algorithme : Récursivité enveloppée&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;Penser à écrire un jeu de tests.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Diviser pour régner</title>
				<link>https://dlatreyte.github.io/terminales-nsi/diviser-pour-regner/0-diviser-pour-regner/</link>
				<pubDate>Sun, 29 Jan 2023 21:53:04 +0400</pubDate>
				<guid>https://dlatreyte.github.io/terminales-nsi/diviser-pour-regner/0-diviser-pour-regner/</guid>
				<description>&lt;h2 id=&#34;dans-quel-cas-&#34;&gt;Dans quel cas ?&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;On parvient à découper un problème en &lt;strong&gt;sous-problèmes indépendants les uns des autres&lt;/strong&gt;. On poursuit cette démarche jusqu&amp;rsquo;à aboutir à une situation simple : &lt;strong&gt;cas de base&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;La solution du &lt;strong&gt;cas de base&lt;/strong&gt; est généralement simple à obtenir et permet la construction de la solution du problème.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;remarque&#34;&gt;Remarque&lt;/h4&gt;&#xA;&lt;p&gt;C&amp;rsquo;est l&amp;rsquo;indépendance des sous-problèmes qui permet la construction de la solution globale &lt;strong&gt;directe&lt;/strong&gt; par recombinaison des solutions intermédiaires.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Décomposition d&#39;un problème en sous-problèmes</title>
				<link>https://dlatreyte.github.io/terminales-nsi/diviser-pour-regner/0-decomposition-pb/</link>
				<pubDate>Sun, 29 Jan 2023 21:48:22 +0400</pubDate>
				<guid>https://dlatreyte.github.io/terminales-nsi/diviser-pour-regner/0-decomposition-pb/</guid>
				<description>&lt;h2 id=&#34;principe&#34;&gt;Principe&lt;/h2&gt;&#xA;&lt;div class=&#34;note tip&#34;&gt;&#xA;  &lt;ul&gt;&#xA;&lt;li&gt;On décompose le problème en sous-problèmes plus simples.&lt;/li&gt;&#xA;&lt;li&gt;On résout les sous-problèmes.&lt;/li&gt;&#xA;&lt;li&gt;On combine les sous-problèmes de façon à construire la solution du problème initial.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;indépendance-des-sous-problèmes&#34;&gt;Indépendance des sous-problèmes&lt;/h2&gt;&#xA;&lt;div class=&#34;note tip&#34;&gt;&#xA;  &lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;Si les sous-problèmes sont indépendants les uns des autres&lt;/em&gt; : &lt;strong&gt;« Diviser pour règner »&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Si les sous-problèmes dépendent les uns des autres&lt;/em&gt; : &lt;strong&gt;« Programmation dynamique »&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Recherche numérique de zéros de fonctions</title>
				<link>https://dlatreyte.github.io/terminales-nsi/diviser-pour-regner/5-recherche-zero/</link>
				<pubDate>Thu, 03 Feb 2022 21:28:05 +0400</pubDate>
				<guid>https://dlatreyte.github.io/terminales-nsi/diviser-pour-regner/5-recherche-zero/</guid>
				<description>&lt;p&gt;Dans ce document on introduit une méthode permettant d&amp;rsquo;évaluer numériquement une solution de l&amp;rsquo;équation $f (x) = 0$, avec $f$ une fonction de $\mathbb{R}$ dans $\mathbb{R}$ (lorsque la solution existe, bien sur) : la &lt;strong&gt;méthode de dichotomie&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;La &lt;strong&gt;méthode de dichotomie&lt;/strong&gt; est &lt;em&gt;efficace et converge relativement vite&lt;/em&gt;. De plus, les conditions de son utilisation sont assez simples : la fonction $f$ doit seulement être &lt;strong&gt;continue&lt;/strong&gt; et &lt;strong&gt;changer de signe sur l&amp;rsquo;intervalle choisi&lt;/strong&gt; ;&lt;/li&gt;&#xA;&lt;li&gt;La &lt;strong&gt;méthode de Newton&lt;/strong&gt; &lt;em&gt;converge étonnement vite&lt;/em&gt; ! Les conditions de son utilisation sont cependant plus contraignantes : la fonction $f$ &lt;strong&gt;doit être dérivable&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;méthode-de-la-dichotomie&#34;&gt;Méthode de la dichotomie&lt;/h2&gt;&#xA;&lt;p&gt;Le raisonnement à mettre en œuvre s&amp;rsquo;appuie sur le théorème des valeurs intermédiaires.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Problème de la sous-séquence de somme maximale</title>
				<link>https://dlatreyte.github.io/terminales-nsi/diviser-pour-regner/4-max-somme-sous-tableau/</link>
				<pubDate>Fri, 28 Jan 2022 06:12:48 +0400</pubDate>
				<guid>https://dlatreyte.github.io/terminales-nsi/diviser-pour-regner/4-max-somme-sous-tableau/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;Ce document étudie le &lt;strong&gt;problème de la sous-séquence de somme maximale&lt;/strong&gt;. Ce problème est intéressant parce qu’il existe nombre d’algorithmes pour le résoudre et la complexité (en nombre d’opérations de somme) de ces algorithmes varie considérablement.&#xA;Seulement deux algorithmes seront abordés, un prochain document présentera l&amp;rsquo;algorithme le plus efficace (cf. &lt;strong&gt;programmation dynamique&lt;/strong&gt;).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;présentation&#34;&gt;Présentation&lt;/h2&gt;&#xA;&lt;div class=&#34;note normal&#34;&gt;&#xA;  Étant donné un tableau &lt;code&gt;tab[1..n]&lt;/code&gt; d’entiers (&lt;strong&gt;positifs et négatifs&lt;/strong&gt;), déterminer la valeur maximale du sous-tableau &lt;code&gt;tab[g..h]&lt;/code&gt; donnant &lt;em&gt;la plus grande somme de tous les sous-tableaux contigus&lt;/em&gt; de &lt;code&gt;tab&lt;/code&gt;.&#xA;Pour plus de commodité, la sous-séquence de somme maximale est 0 si tous les entiers sont négatifs.&#xA;&lt;/div&gt;&#xA;&lt;h4 id=&#34;exemples&#34;&gt;Exemples&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pour le tableau &lt;code&gt;tab = [-2, -5, 6, -2, -3, 1, 5, -6]&lt;/code&gt;, la sous séquence de somme maximale est &lt;code&gt;[6, -2, -3, 1, 5]&lt;/code&gt; et sa somme est 7.&lt;/li&gt;&#xA;&lt;li&gt;Pour le tableau &lt;code&gt;tab = [0, 1, 2, -2, 3, 2]&lt;/code&gt;, la sous séquence de somme maximale est &lt;code&gt;[1, 2, -2, 3, 2]&lt;/code&gt; et sa somme est 6.&lt;/li&gt;&#xA;&lt;li&gt;Pour le tableau &lt;code&gt;tab = [1, -2, 3, 10, -4, 7, 2, -5]&lt;/code&gt;, la sous séquence de somme maximale est &lt;code&gt;[3, 10, -4, 7, 2]&lt;/code&gt; et sa somme est 18.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;paradigme--brute-force-&#34;&gt;Paradigme « Brute force »&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;On envisage dans un premier temps un algorithme basé sur le paradigme « Brute force » : on évalue la somme de chaque sous-tableau (parmi les $n(n + 1)/2$ sous-tableaux possibles) et à chaque évaluation on mémorise la somme maximale.&#xA;Écrire le code de la fonction &lt;code&gt;sous_tab_max&lt;/code&gt; dont la spécification est :&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;sous_tab_max&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tab&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;List&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;int&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;int&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    Recherche de la somme maximale dans un tableau.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    Paradigme : « Brute force ».&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;Tester cette fonction.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Recherche des plus grand et petit éléments dans un tableau</title>
				<link>https://dlatreyte.github.io/terminales-nsi/diviser-pour-regner/2-minmax/</link>
				<pubDate>Wed, 26 Jan 2022 05:14:44 +0400</pubDate>
				<guid>https://dlatreyte.github.io/terminales-nsi/diviser-pour-regner/2-minmax/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;L&amp;rsquo;objectif de ce document est d&amp;rsquo;écrire et d&amp;rsquo;implémenter un algorithme s&amp;rsquo;appuyant sur le raisonnement « Diviser pour régner » qui permet de déterminer le maximum et le minimum des éléments dans un tableau.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Générer une liste contenant un million de termes choisis aléatoirement entre un et mille milliards.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;hr /&gt;&#xA;&lt;details style=&#34;background-color: #f2f2f2;&#34;&gt;&#xA;    &lt;summary&gt;&#xA;        &lt;strong&gt; Réponse&lt;/strong&gt;&#xA;    &lt;/summary&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;random&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;randint&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;vm&#34;&gt;__name__&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;tab&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;randint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;int&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;1e12&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;int&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;1e6&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/details&gt;&#xA;&lt;hr /&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;Utiliser les fonctions &lt;code&gt;min&lt;/code&gt; et &lt;code&gt;max&lt;/code&gt; fournies par le langage Python afin d&amp;rsquo;afficher les maximum et minimum dans la liste.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;hr /&gt;&#xA;&lt;details style=&#34;background-color: #f2f2f2;&#34;&gt;&#xA;    &lt;summary&gt;&#xA;        &lt;strong&gt; Réponse&lt;/strong&gt;&#xA;    &lt;/summary&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Fonctions Python&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;val_min&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;val_max&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;min&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tab&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;max&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tab&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;min = &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, max = &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;format&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;val_min&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;val_max&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/details&gt;&#xA;&lt;hr /&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;Écrire le code de la fonction &lt;code&gt;maxmin1&lt;/code&gt; qui, à partir d&amp;rsquo;un algorithme de « brute force », détermine les maximum et minimum dans la liste passée en argument.&#xA;La spécification de la fonction est :&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;maxmin1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tab&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;List&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;float&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Tuple&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;float&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;float&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    Recherche du minimum et du maximum dans le tableau tab.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    Paradigme « Brute force »&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;hr /&gt;&#xA;&lt;details style=&#34;background-color: #f2f2f2;&#34;&gt;&#xA;    &lt;summary&gt;&#xA;        &lt;strong&gt; Réponse&lt;/strong&gt;&#xA;    &lt;/summary&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;maxmin1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tab&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;List&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;float&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Tuple&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;float&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;float&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    Recherche du minimum et du maximum dans le tableau tab.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    Paradigme « Brute force »&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;    &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;val_max&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tab&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;val_min&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tab&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;elt&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tab&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;elt&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;val_max&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;val_max&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;elt&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;elt&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;val_min&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;val_min&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;elt&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;val_min&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;val_max&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/details&gt;&#xA;&lt;hr /&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;Vérifier le bon fonctionnement de la fonction &lt;code&gt;maxmin1&lt;/code&gt; en affichant les maximum et minimum dans la liste, à la suite de ceux déterminés à l&amp;rsquo;aide des fonctions fournies par Python.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;hr /&gt;&#xA;&lt;details style=&#34;background-color: #f2f2f2;&#34;&gt;&#xA;    &lt;summary&gt;&#xA;        &lt;strong&gt; Réponse&lt;/strong&gt;&#xA;    &lt;/summary&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Recherche « Brute Force »&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;val_min&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;val_max&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;maxmin1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tab&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;min = &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, max = &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;format&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;val_min&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;val_max&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/details&gt;&#xA;&lt;hr /&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;Quelle est la complexité de la fonction &lt;code&gt;maxmin1&lt;/code&gt; ?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;hr /&gt;&#xA;&lt;details style=&#34;background-color: #f2f2f2;&#34;&gt;&#xA;    &lt;summary&gt;&#xA;        &lt;strong&gt; Réponse&lt;/strong&gt;&#xA;    &lt;/summary&gt;&#xA;&lt;p&gt;Il est nécessaire de parcourir tout le tableau, la complexité est donc en $O(N)$.&lt;/p&gt;&#xA;&lt;/details&gt;</description>
			</item>
			<item>
				<title>Les tours de Hanoï</title>
				<link>https://dlatreyte.github.io/terminales-nsi/diviser-pour-regner/3-tour-hanoi/</link>
				<pubDate>Tue, 24 Nov 2020 04:54:14 +0400</pubDate>
				<guid>https://dlatreyte.github.io/terminales-nsi/diviser-pour-regner/3-tour-hanoi/</guid>
				<description>&lt;div class=&#34;note normal&#34;&gt;&#xA;  &lt;p&gt;Le problème mathématique des tours de Hanoï a été inventé par Édouard Lucas. Paru d&amp;rsquo;abord en fascicule en 1889 , il est publié ensuite dans le tome 3 de ses « Récréations mathématiques », parues à titre posthume en 1892. Il annonce que ce problème est dû à un de ses amis, N. Claus de Siam (anagramme de Lucas d&amp;rsquo;Amiens, Amiens étant sa ville de naissance), prétendument professeur au collège de Li-Sou-Stian (anagramme de Saint Louis, le lycée où Lucas enseignait).&lt;/p&gt;&#xA;&lt;p&gt;Sous le titre « Les brahmes tombent », Lucas relate que « &lt;em&gt;N. Claus de Siam a vu, dans ses voyages pour la publication des écrits de l&amp;rsquo;illustre Fer-Fer-Tam-Tam, dans le grand temple de Bénarès, au-dessous du dôme qui marque le centre du monde, trois aiguilles de diamant, plantées dans une dalle d&amp;rsquo;airain, hautes d&amp;rsquo;une coudée et grosses comme le corps d&amp;rsquo;une abeille.&lt;/em&gt; &lt;em&gt;Sur une de ces aiguilles, Dieu enfila au commencement des siècles, 64 disques d&amp;rsquo;or pur, le plus large reposant sur l&amp;rsquo;airain, et les autres, de plus en plus étroits, superposés jusqu&amp;rsquo;au sommet. C&amp;rsquo;est la tour sacrée du Brahmâ.&lt;/em&gt; &lt;em&gt;Nuit et jour, les prêtres se succèdent sur les marches de l&amp;rsquo;autel, occupés à transporter la tour de la première aiguille sur la troisième, sans s&amp;rsquo;écarter des règles fixes que nous venons d&amp;rsquo;indiquer, et qui ont été imposées par Brahma.&lt;/em&gt; &lt;em&gt;Quand tout sera fini, la tour et les brahmes tomberont, et ce sera la fin des mondes !&lt;/em&gt; ».&lt;/p&gt;&#xA;&lt;div style=&#34;text-align: right;&#34;&gt;&#xA;&lt;a href=&#34;https://fr.wikipedia.org/wiki/Tours_de_Hanoï&#34; target=&#34;_blank&#34;&gt;Wikipedia&lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Rotation d&#39;une image bitmap d&#39;un quart de tour</title>
				<link>https://dlatreyte.github.io/terminales-nsi/diviser-pour-regner/6-rotation-image/</link>
				<pubDate>Wed, 18 Nov 2020 17:12:52 +0400</pubDate>
				<guid>https://dlatreyte.github.io/terminales-nsi/diviser-pour-regner/6-rotation-image/</guid>
				<description>&lt;p&gt;L&amp;rsquo;objectif de cette activité est l&amp;rsquo;écriture d&amp;rsquo;une fonction qui effectue la rotation d&amp;rsquo;une image bitmap de 90 degrés en utilisant le principe « Diviser pour régner ».&lt;/p&gt;&#xA;&lt;p&gt;On peut manipuler des images en Python à l&amp;rsquo;aide du &lt;strong&gt;module PIL (Python Image Library)&lt;/strong&gt;. Une première partie de l&amp;rsquo;activité est consacrée à la prise en main de ce module. Dans un second temps, la fonction de manipulation des bits est développée.&lt;/p&gt;&#xA;&lt;h2 id=&#34;images-numériques&#34;&gt;Images numériques&lt;/h2&gt;&#xA;&lt;h3 id=&#34;définition&#34;&gt;Définition&lt;/h3&gt;&#xA;&lt;div class=&#34;note normal&#34;&gt;&#xA;  &lt;h4 id=&#34;limage-matricielle&#34;&gt;L&amp;rsquo;image matricielle&lt;/h4&gt;&#xA;&lt;p&gt;Une &lt;strong&gt;image matricielle&lt;/strong&gt;, ou « carte de points » (de l&amp;rsquo;anglais « bitmap »), est une image constituée d&amp;rsquo;une &lt;em&gt;matrice de points colorés&lt;/em&gt;, c&amp;rsquo;est-à-dire, constituée d&amp;rsquo;&lt;em&gt;un tableau, d&amp;rsquo;une grille, où chaque case possède une couleur qui lui est propre et est considérée comme un point&lt;/em&gt;. Il s&amp;rsquo;agit donc d&amp;rsquo;une juxtaposition de points de couleurs formant, dans leur ensemble, une image.&lt;/p&gt;&#xA;&lt;div style=&#34;text-align: right;&#34;&gt;&#xA;&lt;a href=&#34;https://fr.wikipedia.org/wiki/Image_matricielle&#34;&gt;Wikipedia&lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Le tri fusion</title>
				<link>https://dlatreyte.github.io/terminales-nsi/diviser-pour-regner/1-tri-fusion/</link>
				<pubDate>Wed, 18 Nov 2020 17:12:24 +0400</pubDate>
				<guid>https://dlatreyte.github.io/terminales-nsi/diviser-pour-regner/1-tri-fusion/</guid>
				<description>&lt;h2 id=&#34;le-tri-fusion-dun-tableau&#34;&gt;Le tri fusion d&amp;rsquo;un tableau&lt;/h2&gt;&#xA;&lt;h3 id=&#34;description-du-tri&#34;&gt;Description du tri&lt;/h3&gt;&#xA;&lt;p&gt;Dans cette partie, nous allons essayer de comprendre les principes sur lesquels s&amp;rsquo;appuie ce tri. Son implémentation, pour des tableaux ou des listes chaînées, sera développée dans les prochaines sections.&lt;/p&gt;&#xA;&lt;p&gt;Le tri fusion s&amp;rsquo;appuie sur la méthode &lt;strong&gt;Diviser pour régner&lt;/strong&gt; pour trier les $n$ éléments d&amp;rsquo;une séquence $S$ :&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Diviser :&lt;/strong&gt; Si la séquence $S$ est composée de 0 ou un élément, retourner $S$ immédiatement ; cette séquence est déjà triée. Si la séquence $S$ est composée de plus de deux éléments, la diviser en deux sous-séquences $S_1$ et $S_2$ contenant chacune environ la moitié des éléments de $S$ ; donc $S_1$ est formée des $\left\lfloor \dfrac{n}{2} \right\rfloor$ premiers éléments de $S$ contient les $\left\lceil \dfrac{n}{2} \right\rceil$ derniers éléments de $S$.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Régner :&lt;/strong&gt; Trier récursivement $S_1$ et $S_2$.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Combiner :&lt;/strong&gt; Reformer la séquence $S$ en combinant, dans l&amp;rsquo;ordre, les éléments des séquences triées $S_1$ et $S_2$.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
			</item>
	</channel>
</rss>
