<?xml version="1.0" encoding="UTF-8"?>

<upm-export>
	<title>Enseignement de l&#039;informatique et du numérique au lycée Boissy d&#039;Anglas</title>
	<link>https://icn-isn-boissy.yj.fr/wp</link>
	<description></description>
	<pubDate>Fri Jun 12 1:59:58 2026 / +0000  GMT</pubDate>
	<generator>Universal Post Manager 1.1.2 [ www.ProfProjects.com ] </generator>
	<language></language>
	
			<item>
			<title>Le principe du “diviser pour régner” en Python EXERCICES</title>
			<link>https://icn-isn-boissy.yj.fr/wp/?p=3136</link>
			<pubDate>Fri Jun 12 1:59:58 2026 / +0000  GMT</pubDate>
			<guid isPermaLink="false">https://icn-isn-boissy.yj.fr/wp/?p=3136</guid>
			<content-encoded><![CDATA[<!-- wp:heading -->
<h2>Exercice 1: Recherche valeur dans une liste</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Algorithme:</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>fonction chercher : (tableau, clé) ----&gt; booléen<br>1. Pour un tableau de taille 1, il contient la clé si valeur est la clé<br>2. On sépare le tableau en deux parties sensiblement de même taille (gauche et droite)<br>3. Le tableau contient la clé si<br>chercher(gauche, clé) ou chercher(droite, clé)<br>est vrai.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br>Exemple<br>tableau = [4, 10, 20, 5]<br>clé = 10<br>A-t-on clé dans tableau ?<br>Exemple<br>clé = 10<br>                             [4, 10, 20, 5]</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>diviser         [4, 10]                          [20, 5]</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>diviser     [4]     [10]                     [20]         [5]</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>combiner Faux ou Vrai       Faux ou Faux</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>combiner      Vrai              ou     Faux</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>combiner               Vrai</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Implémenter cette fonction sous python.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Exercice 2: Calcul y puissance x</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>On souhaite calculer&nbsp;N=7<sup>52</sup>. La méthode basique consiste à multiplier le nombre 7 par lui-même 52 fois… Ce qui n'est pas très rapide !</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>L'idée consiste donc à diviser le problème en 2 : on va calculer&nbsp;&nbsp;7<sup>26</sup>×&nbsp;7<sup>26</sup>, c'est-à-dire(&nbsp;7<sup>26</sup>)<sup>2</sup>. Là, il n'y a plus que 26 + 1 opérations (26 multiplications pour calculer 7<sup>26</sup>, et une dernière pour faire le carré du résultat.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>On recommence ensuite avec&nbsp;7<sup>26</sup>&nbsp;: on le calcule en faisant&nbsp;(7<sup>13</sup>)<sup>2</sup>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;N&nbsp;se calcule alors en 13+1+1 opérations au lieu de 52 initialement.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>On ne s'arrête pas là, bien entendu : on continue tant que l'on peut utiliser ce principe :</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>N=7<sup>52</sup></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>    =(7<sup>26</sup>)<sup>2</sup></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>    =((7<sup>13</sup>)<sup>2</sup>)<sup>2</sup></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>    =[[(7<sup>6</sup>)<sup>2</sup>×7]<sup>2</sup>]<sup>2</sup></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>    =[[((7<sup>3</sup>)<sup>2</sup>)<sup>2</sup>×7]<sup>2</sup>]<sup>2</sup></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>    =[[((7<sup>2</sup>×7)<sup>2</sup>)<sup>2</sup>×7]<sup>2</sup>]<sup>2</sup></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le principe est, vous l'avez peut-être remarqué, récursif.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Implémentation en Python du “diviser pour régner”</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Nous allons écrire une fonction “puissance(x,n)” basée sur ce paradigme, où&nbsp;<em>x</em>&nbsp;et&nbsp;<em>n</em>&nbsp;sont deux entiers (positif pour&nbsp;<em>n</em>). Pour cela, nous allons prendre en compte que:</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":3143,"sizeSlug":"large"} -->
<figure class="wp-block-image size-large"><img src="https://icn-isn-boissy.yj.fr/wp/wp-content/uploads/2020/12/Capture.png" alt="" class="wp-image-3143"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Implémenter cette fonction avec python</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Exercice 3: Faire pivoter une image</h2>
<!-- /wp:heading -->

<!-- wp:image {"id":3192,"sizeSlug":"large","linkDestination":"media"} -->
<figure class="wp-block-image size-large"><a href="https://icn-isn-boissy.yj.fr/wp/wp-content/uploads/2020/12/Avatar_cat.png"><img src="https://icn-isn-boissy.yj.fr/wp/wp-content/uploads/2020/12/Avatar_cat.png" alt="" class="wp-image-3192"/></a></figure>
<!-- /wp:image -->

<!-- wp:file {"id":3193,"href":"https://icn-isn-boissy.yj.fr/wp/wp-content/uploads/2021/01/quartdetour-1.pdf"} -->
<div class="wp-block-file"><a href="https://icn-isn-boissy.yj.fr/wp/wp-content/uploads/2021/01/quartdetour-1.pdf">quartdetour</a><a href="https://icn-isn-boissy.yj.fr/wp/wp-content/uploads/2021/01/quartdetour-1.pdf" class="wp-block-file__button" download>Télécharger</a></div>
<!-- /wp:file -->]]></content-encoded>
			<excerpt-encoded><![CDATA[]]></excerpt-encoded>
			<wp-post_id>3136</wp-post_id>
			<wp-post_date>2020-12-14 14:27:09</wp-post_date>
			<wp-post_date_gmt>2020-12-14 13:27:09</wp-post_date_gmt>
				</item>
</upm-export>
