<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Forum du club des développeurs et IT Pro - Algorithmes et structures de données</title>
		<link>https://www.developpez.net/forums/</link>
		<description><![CDATA[Forum d'entraide sur l'algorithmique. Avant de poster : Cours d'algorithmique]]></description>
		<language>fr</language>
		<lastBuildDate>Fri, 17 Apr 2026 05:20:29 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.png</url>
			<title>Forum du club des développeurs et IT Pro - Algorithmes et structures de données</title>
			<link>https://www.developpez.net/forums/</link>
		</image>
		<item>
			<title>Mathématiques ensemble Q les quotients</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182068&amp;goto=newpost</link>
			<pubDate>Thu, 12 Feb 2026 12:43:10 GMT</pubDate>
			<description>Bonjour ! 
Je suis peut-etre...</description>
			<content:encoded><![CDATA[<div>Bonjour !<br />
Je suis peut-etre en train de réinventer la roue...<br />
Deux petits bouts de code pour utiliser, modeliser des quotients...<br />
C'est gratuit et libre... Vous pouvez utiliser, modifier à votre guise :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
&nbsp;
#ifndef QTT
#define QTT
&nbsp;
    <span style="color: #0000ff;">class</span> quotient
    <span class="br0">&#123;</span>
        <span style="color: #0000ff;">private</span>:
            <span style="color: #0000ff;">int</span> numerateur;
            <span style="color: #0000ff;">int</span> denominateur;
&nbsp;
        <span style="color: #0000ff;">public</span>:
            quotient<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span>numerateur = <span style="color: #cc66cc;">1</span>; denominateur = <span style="color: #cc66cc;">1</span>;<span class="br0">&#125;</span>
            quotient<span class="br0">&#40;</span><span style="color: #0000ff;">int</span>, <span style="color: #0000ff;">int</span><span class="br0">&#41;</span>;
            quotient<span class="br0">&#40;</span><span style="color: #0000ff;">int</span> n<span class="br0">&#41;</span><span class="br0">&#123;</span>numerateur = n; denominateur = <span style="color: #cc66cc;">1</span>;<span class="br0">&#125;</span>
            <span style="color: #0000ff;">void</span> reduire<span class="br0">&#40;</span><span class="br0">&#41;</span>;
            <span style="color: #0000ff;">void</span> addition<span class="br0">&#40;</span>quotient, quotient<span class="br0">&#41;</span>;
            <span style="color: #0000ff;">void</span> soustraction<span class="br0">&#40;</span>quotient, quotient<span class="br0">&#41;</span>;
            <span style="color: #0000ff;">void</span> multiplication<span class="br0">&#40;</span>quotient, quotient<span class="br0">&#41;</span>;
            <span style="color: #0000ff;">void</span> division<span class="br0">&#40;</span>quotient, quotient<span class="br0">&#41;</span>;
            <span style="color: #0000ff;">void</span> saisie<span class="br0">&#40;</span><span class="br0">&#41;</span>;
            <span style="color: #0000ff;">void</span> affichage<span class="br0">&#40;</span><span class="br0">&#41;</span>;
    <span class="br0">&#125;</span>;</pre></td></tr></table></code><hr />
</div>et :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
&nbsp;
#include <span style="color: #FF0000;">&quot;quotient.hpp&quot;</span>
#include &lt;iostream&gt;
&nbsp;
quotient::quotient<span class="br0">&#40;</span><span style="color: #0000ff;">int</span> n, <span style="color: #0000ff;">int</span> d<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span>d == <span style="color: #cc66cc;">0</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        std::cout &lt;&lt; <span style="color: #FF0000;">&quot;erreur !<span style="color: #800000;">\n</span>division par zero !<span style="color: #800000;">\n</span>&quot;</span>;
    <span class="br0">&#125;</span>
    <span style="color: #0000ff;">else</span>
    <span class="br0">&#123;</span>
        numerateur = n;
        denominateur = d;
        reduire<span class="br0">&#40;</span><span class="br0">&#41;</span>;
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> quotient::saisie<span class="br0">&#40;</span><span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    <span style="color: #0000ff;">int</span> n, d;
    std::cout &lt;&lt; <span style="color: #FF0000;">&quot;numerateur : &quot;</span>;
    std::cin &gt;&gt; n;
    std::cout &lt;&lt; <span style="color: #FF0000;">&quot;denominateur : &quot;</span>;
    std::cin &gt;&gt; d;
    <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span>d == <span style="color: #cc66cc;">0</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        std::cout &lt;&lt; <span style="color: #FF0000;">&quot;erreur !<span style="color: #800000;">\n</span>division par zero !<span style="color: #800000;">\n</span>&quot;</span>;
    <span class="br0">&#125;</span>
    <span style="color: #0000ff;">else</span>
    <span class="br0">&#123;</span>
        numerateur = n;
        denominateur = d;
        reduire<span class="br0">&#40;</span><span class="br0">&#41;</span>;
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> quotient::affichage<span class="br0">&#40;</span><span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span>numerateur == <span style="color: #cc66cc;">0</span><span class="br0">&#41;</span><span class="br0">&#123;</span>std::cout &lt;&lt; <span style="color: #FF0000;">&quot;0<span style="color: #800000;">\n</span>&quot;</span>; <span style="color: #0000ff;">return</span>;<span class="br0">&#125;</span>
    <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span>denominateur == <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span><span class="br0">&#123;</span>std::cout &lt;&lt; numerateur &lt;&lt; <span style="color: #FF0000;">'<span style="color: #800000;">\n</span>'</span>;<span class="br0">&#125;</span>
    <span style="color: #0000ff;">else</span>
    <span class="br0">&#123;</span>std::cout &lt;&lt; numerateur &lt;&lt; <span style="color: #FF0000;">'/'</span> &lt;&lt; denominateur &lt;&lt; <span style="color: #FF0000;">'<span style="color: #800000;">\n</span>'</span>;<span class="br0">&#125;</span>
<span class="br0">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> quotient::addition<span class="br0">&#40;</span>quotient a, quotient b<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    numerateur = a.numerateur*b.denominateur + b.numerateur*a.denominateur;
    denominateur = a.denominateur*b.denominateur;
    reduire<span class="br0">&#40;</span><span class="br0">&#41;</span>;
<span class="br0">&#125;</span>
<span style="color: #0000ff;">void</span> quotient::soustraction<span class="br0">&#40;</span>quotient a, quotient b<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    numerateur = a.numerateur*b.denominateur - b.numerateur*a.denominateur;
    denominateur = a.denominateur*b.denominateur;
    reduire<span class="br0">&#40;</span><span class="br0">&#41;</span>;
<span class="br0">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> quotient::multiplication<span class="br0">&#40;</span>quotient a, quotient b<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    numerateur = a.numerateur*b.numerateur;
    denominateur = a.denominateur*b.denominateur;
    reduire<span class="br0">&#40;</span><span class="br0">&#41;</span>;
<span class="br0">&#125;</span>
<span style="color: #0000ff;">void</span> quotient::division<span class="br0">&#40;</span>quotient a, quotient b<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    numerateur = a.numerateur*b.denominateur;
    denominateur = a.denominateur*b.numerateur;
    reduire<span class="br0">&#40;</span><span class="br0">&#41;</span>;
<span class="br0">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> quotient::reduire<span class="br0">&#40;</span><span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span>numerateur &lt;= denominateur<span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span style="color: #0000ff;">int</span> m = <span style="color: #cc66cc;">2</span>;
        <span style="color: #0000ff;">while</span> <span class="br0">&#40;</span>m &lt;= numerateur<span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span>numerateur%m == <span style="color: #cc66cc;">0</span> &amp;&amp; denominateur%m == <span style="color: #cc66cc;">0</span><span class="br0">&#41;</span>
            <span class="br0">&#123;</span>numerateur = numerateur/m; denominateur = denominateur/m;<span class="br0">&#125;</span>
            <span style="color: #0000ff;">else</span>
            <span class="br0">&#123;</span>m++;<span class="br0">&#125;</span>
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span>
    <span style="color: #0000ff;">else</span>
    <span class="br0">&#123;</span>
        <span style="color: #0000ff;">int</span> m = <span style="color: #cc66cc;">2</span>;
        <span style="color: #0000ff;">while</span> <span class="br0">&#40;</span>m &lt;= denominateur<span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span>numerateur%m == <span style="color: #cc66cc;">0</span> &amp;&amp; denominateur%m == <span style="color: #cc66cc;">0</span><span class="br0">&#41;</span>
            <span class="br0">&#123;</span>numerateur = numerateur/m; denominateur = denominateur/m;<span class="br0">&#125;</span>
            <span style="color: #0000ff;">else</span>
            <span class="br0">&#123;</span>m++;<span class="br0">&#125;</span>
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></td></tr></table></code><hr />
</div>Ca mériterait d'etre amélioré.<br />
Je suis plutot fier de mon algorithme de reduction de la fraction.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f60/general-developpement/algorithme-mathematiques/algorithmes-structures-donnees/">Algorithmes et structures de données</category>
			<dc:creator>GraineDeDev</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182068/general-developpement/algorithme-mathematiques/algorithmes-structures-donnees/mathematiques-ensemble-q-quotients/</guid>
		</item>
		<item>
			<title>Algorithmes pseudo code Algobox</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2179214&amp;goto=newpost</link>
			<pubDate>Fri, 12 Sep 2025 14:41:14 GMT</pubDate>
			<description><![CDATA[Bonjour, j'utilise Algo box...]]></description>
			<content:encoded><![CDATA[<div>Bonjour, j'utilise Algo box afin de réaliser mes instructions algorithmiques, cependant j'essaie d'utiliser l'appel de fonction ci-dessous :<br />
<br />
Ma fonction est la suivante :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br /></div></td><td valign="top"><pre style="margin: 0">FONCTIONS_UTILISEES
  <span style="color: #0000ff;">FONCTION</span> rendreTableau<span class="br0">&#40;</span>tab<span class="br0">&#41;</span>
    VARIABLES_FONCTION
      u EST_DU_TYPE NOMBRE
    DEBUT_FONCTION
    <span style="color: #0000ff;">POUR</span> u <span style="color: #0000ff;">ALLANT_DE</span> u A <span style="color: #cc66cc;">7</span>
      DEBUT_POUR
      <span style="color: #0080ff;">AFFICHER</span>* tab<span class="br0">&#91;</span>u<span class="br0">&#93;</span>
      <span style="color: #0000ff;">FIN_POUR</span>
    FIN_FONCTION</pre></td></tr></table></code><hr />
</div>Mon appel de fonction ci-dessous :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">APPELER_FONCTION rendreTableau<span class="br0">&#40;</span>T<span class="br0">&#41;</span></code><hr />
</div>Hélas l'algorithme ci-dessous ne fonctionne pas a cause de la fonction, celle-ci l'arréte !!, celle-ci et t'elle bien déclaré et appélé avec ses différents passage de paramétres ?<br />
<br />
<br />
<br />
L'algorithme au complet ci-dessous:<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
FONCTIONS_UTILISEES
  <span style="color: #0000ff;">FONCTION</span> rendreTableau<span class="br0">&#40;</span>tab<span class="br0">&#41;</span>
    VARIABLES_FONCTION
      u EST_DU_TYPE NOMBRE
      tab EST_DU_TYPE LISTE
    DEBUT_FONCTION
    <span style="color: #808080;">//tableau PREND_LA_VALEUR tab</span>
    <span style="color: #0000ff;">POUR</span> u <span style="color: #0000ff;">ALLANT_DE</span> u A <span style="color: #cc66cc;">7</span>
      DEBUT_POUR
      <span style="color: #0080ff;">AFFICHER</span>* tab<span class="br0">&#91;</span>u<span class="br0">&#93;</span>
      <span style="color: #0000ff;">FIN_POUR</span>
    FIN_FONCTION
<span style="color: #0000ff;">VARIABLES</span>
  i EST_DU_TYPE NOMBRE
  j EST_DU_TYPE NOMBRE
  T EST_DU_TYPE LISTE
  temp EST_DU_TYPE NOMBRE
  posmin EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
  T<span class="br0">&#91;</span><span style="color: #cc66cc;">0</span><span class="br0">&#93;</span> PREND_LA_VALEUR <span style="color: #cc66cc;">25</span>
  T<span class="br0">&#91;</span><span style="color: #cc66cc;">1</span><span class="br0">&#93;</span> PREND_LA_VALEUR <span style="color: #cc66cc;">10</span>
  T<span class="br0">&#91;</span><span style="color: #cc66cc;">2</span><span class="br0">&#93;</span> PREND_LA_VALEUR <span style="color: #cc66cc;">13</span>
  T<span class="br0">&#91;</span><span style="color: #cc66cc;">3</span><span class="br0">&#93;</span> PREND_LA_VALEUR <span style="color: #cc66cc;">31</span>
  T<span class="br0">&#91;</span><span style="color: #cc66cc;">4</span><span class="br0">&#93;</span> PREND_LA_VALEUR <span style="color: #cc66cc;">22</span>
  T<span class="br0">&#91;</span><span style="color: #cc66cc;">5</span><span class="br0">&#93;</span> PREND_LA_VALEUR <span style="color: #cc66cc;">4</span>
  T<span class="br0">&#91;</span><span style="color: #cc66cc;">6</span><span class="br0">&#93;</span> PREND_LA_VALEUR <span style="color: #cc66cc;">2</span>
  T<span class="br0">&#91;</span><span style="color: #cc66cc;">7</span><span class="br0">&#93;</span> PREND_LA_VALEUR <span style="color: #cc66cc;">18</span>
  i PREND_LA_VALEUR <span style="color: #cc66cc;">0</span>
  j PREND_LA_VALEUR <span style="color: #cc66cc;">0</span>
  temp PREND_LA_VALEUR <span style="color: #cc66cc;">0</span>
  <span style="color: #0000ff;">POUR</span> i <span style="color: #0000ff;">ALLANT_DE</span> i A <span style="color: #cc66cc;">6</span>
    DEBUT_POUR
    posmin PREND_LA_VALEUR i
    <span style="color: #0080ff;">AFFICHER</span> <span style="color: #FF0000;">&quot; Passage &quot;</span>
    <span style="color: #0080ff;">AFFICHER</span>* i
    <span style="color: #0000ff;">POUR</span> j <span style="color: #0000ff;">ALLANT_DE</span> i + <span style="color: #cc66cc;">1</span> A <span style="color: #cc66cc;">7</span>
      DEBUT_POUR
      <span style="color: #0080ff;">AFFICHER</span> <span style="color: #FF0000;">&quot;J =&quot;</span>
      <span style="color: #0080ff;">AFFICHER</span> j
      <span style="color: #0000ff;">SI</span> <span class="br0">&#40;</span>T<span class="br0">&#91;</span>j<span class="br0">&#93;</span> &lt; T<span class="br0">&#91;</span>posmin<span class="br0">&#93;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">ALORS</span>
        DEBUT_SI
        <span style="color: #0080ff;">AFFICHER</span> <span style="color: #FF0000;">&quot;la condition est verifi&eacute; &quot;</span>
        <span style="color: #0080ff;">AFFICHER</span> T<span class="br0">&#91;</span>j<span class="br0">&#93;</span>
        <span style="color: #0080ff;">AFFICHER</span> <span style="color: #FF0000;">&quot; inf&eacute;rieur &agrave; &quot;</span>
        <span style="color: #0080ff;">AFFICHER</span> T<span class="br0">&#91;</span>posmin<span class="br0">&#93;</span>
        <span style="color: #0080ff;">AFFICHER</span> <span style="color: #FF0000;">&quot; , position min &quot;</span>
        <span style="color: #0080ff;">AFFICHER</span> posmin
        <span style="color: #0080ff;">AFFICHER</span> <span style="color: #FF0000;">&quot;, la position minimum est maintenant &quot;</span>
        posmin PREND_LA_VALEUR j
        <span style="color: #0080ff;">AFFICHER</span> posmin
        <span style="color: #0080ff;">AFFICHER</span> <span style="color: #FF0000;">&quot; sa valeur est &quot;</span>
        <span style="color: #0080ff;">AFFICHER</span> T<span class="br0">&#91;</span>j<span class="br0">&#93;</span>
        <span style="color: #0080ff;">AFFICHER</span> <span style="color: #FF0000;">&quot; , la valeur &agrave; &ecirc;tre compar&eacute; est maintenant &quot;</span>
        <span style="color: #0080ff;">AFFICHER</span>* T<span class="br0">&#91;</span>j<span class="br0">&#93;</span>
        <span style="color: #0000ff;">FIN_SI</span>
        <span style="color: #0000ff;">SINON</span>
          DEBUT_SINON
          <span style="color: #0080ff;">AFFICHER</span> <span style="color: #FF0000;">&quot;la condition est pas verifi&eacute; &quot;</span>
          <span style="color: #0080ff;">AFFICHER</span> T<span class="br0">&#91;</span>j<span class="br0">&#93;</span>
          <span style="color: #0080ff;">AFFICHER</span> <span style="color: #FF0000;">&quot; &quot;</span>
          <span style="color: #0080ff;">AFFICHER</span>* T<span class="br0">&#91;</span>posmin<span class="br0">&#93;</span>
          FIN_SINON
      <span style="color: #0000ff;">FIN_POUR</span>
    temp PREND_LA_VALEUR T<span class="br0">&#91;</span>posmin<span class="br0">&#93;</span>
    T<span class="br0">&#91;</span>posmin<span class="br0">&#93;</span> PREND_LA_VALEUR T<span class="br0">&#91;</span>i<span class="br0">&#93;</span>
    T<span class="br0">&#91;</span>i<span class="br0">&#93;</span> PREND_LA_VALEUR temp
    APPELER_FONCTION rendreTableau<span class="br0">&#40;</span>T<span class="br0">&#41;</span>
    <span style="color: #0000ff;">FIN_POUR</span>
FIN_ALGORITHME</pre></td></tr></table></code><hr />
</div>Merci de m'éclairer de vos lumières les amis</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f60/general-developpement/algorithme-mathematiques/algorithmes-structures-donnees/">Algorithmes et structures de données</category>
			<dc:creator>chlock62</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2179214/general-developpement/algorithme-mathematiques/algorithmes-structures-donnees/algorithmes-pseudo-code-algobox/</guid>
		</item>
		<item>
			<title><![CDATA[[python] ajuster une courbe avec scipy.optimize.curve_fit()]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2177969&amp;goto=newpost</link>
			<pubDate>Wed, 09 Jul 2025 06:52:29 GMT</pubDate>
			<description>Bonjour ou bonsoir, je...</description>
			<content:encoded><![CDATA[<div>Bonjour ou bonsoir, je travaille avec Python (v.3.13) pour modéliser mes données (mesures de spectres de raies en spectrométrie), (x_i, y_i) i=range(n), avec divers types de courbes, dont la base est une somme en nombre variable de gaussiennes (ou autres formes, mais laissons ça de côté). Pour ça, je recours à la fonction du package scipy, &quot;scipy.optimize.curve_fit&quot;. Mon problème est que &quot;curve_fit&quot; s'attend à recevoir la fonction à ajuster (enfin, ses paramètres), avec une liste explicite et &quot;figée&quot; de paramètres. Pour simplifier, je suppose ici que je connais exactement la position et la largeur des gaussiennes, et que je n'ai que leurs hauteurs à ajuster. Si par exemple, j'ai 3 raies, ma fonction d'ajustement sera :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br /></div></td><td valign="top"><pre style="margin: 0">def spectreTh&eacute;oriq<span class="br0">&#40;</span>xdata, haut1, haut2, haut3<span class="br0">&#41;</span> :
   <span style="color: #0000ff;">return</span> <span class="br0">&#40;</span> haut1*gaus1<span class="br0">&#40;</span>xdata<span class="br0">&#41;</span> + haut2*gaus2<span class="br0">&#40;</span>xdata<span class="br0">&#41;</span> + haut3*gaus3<span class="br0">&#40;</span>xdata<span class="br0">&#41;</span> <span class="br0">&#41;</span></pre></td></tr></table></code><hr />
</div>où les (trois) fonctions &quot;gaus1&quot;, etc., sont définies avant dans mon code. L'ajustement se fera ainsi :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">parmOptim = scipy.optimize.curve_fit<span class="br0">&#40;</span>spectreTh&eacute;oriq, xDonn&eacute;es, yDonn&eacute;es<span class="br0">&#41;</span></code><hr />
</div>où xDonnées est le vecteur des [x_i, i=1..n] (notation non python…) et similairement pour yDonnées.<br />
<br />
Mon problème est donc le suivant : je préfèrerais passer, ici le triplet des paramètres à ajuster, via un vecteur : parms = [haut1, haut2, haut3], parce que, comme dit plus haut, le nombre des gaussiennes est variable (et en réalité, j'ai aussi les autres paramètres comme les positions et les largeurs de ces &quot;gaussiennes&quot; à ajuster ; ici j'ai simplifié). Voici un script simplifié qui fonctionne, mais redemande du travail si je veux prendre en compte la 4è raie ! :-(<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br /></div></td><td valign="top"><pre style="margin: 0">#!/usr/bin/env python3
## fit_spectre_exmpl.py
&nbsp;
import numpy as np
import matplotlib.pyplot as plt
import scipy.optimize as sop
&nbsp;
def gaus_<span class="br0">&#40;</span>xdata, posit, larg<span class="br0">&#41;</span> :
   <span style="color: #0000ff;">return</span> np.<span style="color: #0080ff;">exp</span><span class="br0">&#40;</span><span style="color: #cc66cc;">-0.5</span>*<span class="br0">&#40;</span><span class="br0">&#40;</span>xdata-posit<span class="br0">&#41;</span>/larg<span class="br0">&#41;</span>**<span style="color: #cc66cc;">2</span><span class="br0">&#41;</span>
def gaus1<span class="br0">&#40;</span>xdata<span class="br0">&#41;</span> : <span style="color: #0000ff;">return</span> gaus_<span class="br0">&#40;</span>xdata, <span style="color: #cc66cc;">2.5</span>, <span style="color: #cc66cc;">0.3</span><span class="br0">&#41;</span>
def gaus2<span class="br0">&#40;</span>xdata<span class="br0">&#41;</span> : <span style="color: #0000ff;">return</span> gaus_<span class="br0">&#40;</span>xdata, <span style="color: #cc66cc;">4.5</span>, <span style="color: #cc66cc;">0.4</span><span class="br0">&#41;</span>
def gaus3<span class="br0">&#40;</span>xdata<span class="br0">&#41;</span> : <span style="color: #0000ff;">return</span> gaus_<span class="br0">&#40;</span>xdata, <span style="color: #cc66cc;">6.0</span>, <span style="color: #cc66cc;">0.4</span><span class="br0">&#41;</span>
def gaus4<span class="br0">&#40;</span>xdata<span class="br0">&#41;</span> : <span style="color: #0000ff;">return</span> gaus_<span class="br0">&#40;</span>xdata, <span style="color: #cc66cc;">8.0</span>, <span style="color: #cc66cc;">0.3</span><span class="br0">&#41;</span>
&nbsp;
np.random.seed<span class="br0">&#40;</span><span style="color: #cc66cc;">145320</span><span class="br0">&#41;</span> # reproductibilit&eacute; du hasard
xDonn&eacute;es = np.linspace<span class="br0">&#40;</span><span style="color: #cc66cc;">0.5</span>,<span style="color: #cc66cc;">10.</span>,<span style="color: #cc66cc;">100</span><span class="br0">&#41;</span>
yDonn&eacute;es = <span style="color: #cc66cc;">1.2</span> * gaus1<span class="br0">&#40;</span>xDonn&eacute;es<span class="br0">&#41;</span> + <span style="color: #cc66cc;">3.2</span> * gaus2<span class="br0">&#40;</span>xDonn&eacute;es<span class="br0">&#41;</span>
yDonn&eacute;es += <span style="color: #cc66cc;">2.1</span> * gaus3<span class="br0">&#40;</span>xDonn&eacute;es<span class="br0">&#41;</span> + <span style="color: #cc66cc;">0.7</span> * gaus4<span class="br0">&#40;</span>xDonn&eacute;es<span class="br0">&#41;</span>
yDonn&eacute;es += <span style="color: #cc66cc;">0.2</span> * np.random.randn<span class="br0">&#40;</span>len<span class="br0">&#40;</span>xDonn&eacute;es<span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp;
def spectreTh&eacute;oriq<span class="br0">&#40;</span>xObs, h1, h2, h3<span class="br0">&#41;</span> :
   <span style="color: #0000ff;">return</span> <span class="br0">&#40;</span> h1 * gaus1<span class="br0">&#40;</span>xObs<span class="br0">&#41;</span> + h2 * gaus2<span class="br0">&#40;</span>xObs<span class="br0">&#41;</span> + h3 * gaus3<span class="br0">&#40;</span>xObs<span class="br0">&#41;</span> <span class="br0">&#41;</span>
&nbsp;
hOpt, hCov = sop.curve_fit<span class="br0">&#40;</span>spectreTh&eacute;oriq, xDonn&eacute;es, yDonn&eacute;es<span class="br0">&#41;</span>
<span style="color: #0080ff;">print</span><span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Hauteurs optimis&eacute;es =&quot;</span>, hOpt<span class="br0">&#41;</span>
yAjust&eacute;s = spectreTh&eacute;oriq<span class="br0">&#40;</span>xDonn&eacute;es, *hOpt<span class="br0">&#41;</span>
&nbsp;
plt.plot<span class="br0">&#40;</span>xDonn&eacute;es, yDonn&eacute;es, <span style="color: #FF0000;">&quot;bo-&quot;</span><span class="br0">&#41;</span>
plt.plot<span class="br0">&#40;</span>xDonn&eacute;es, yAjust&eacute;s, <span style="color: #FF0000;">&quot;r-&quot;</span><span class="br0">&#41;</span>
plt.show<span class="br0">&#40;</span><span class="br0">&#41;</span>
##</pre></td></tr></table></code><hr />
</div>Comment faire pour travailler avec un &quot;def spectreThéoriq(xObs, hautS) :&quot; où l vecteur hautS contient les (ici 3) paramètres ? Sur la base de l'utilisation des &quot;arguments étoilés&quot;, j'ai essayé ceci :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br /></div></td><td valign="top"><pre style="margin: 0">def spectreTh&eacute;oriq<span class="br0">&#40;</span>xObs, *hautS<span class="br0">&#41;</span> :
   hautS = hautS<span class="br0">&#91;</span><span style="color: #cc66cc;">0</span><span class="br0">&#93;</span>
   nParm = len<span class="br0">&#40;</span>hautS<span class="br0">&#41;</span>
  ...</pre></td></tr></table></code><hr />
</div>mais curve_fit me renvoie cette erreur :<br />
   ValueError: Unable to determine number of fit parameters.<br />
<br />
Merci par avance de vos suggestions. -- ÉLw.py</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f60/general-developpement/algorithme-mathematiques/algorithmes-structures-donnees/">Algorithmes et structures de données</category>
			<dc:creator>ELw.py</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2177969/general-developpement/algorithme-mathematiques/algorithmes-structures-donnees/python-ajuster-courbe-scipy-optimize-curve_fit/</guid>
		</item>
		<item>
			<title>langage avec accolades et étoile</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2177871&amp;goto=newpost</link>
			<pubDate>Thu, 03 Jul 2025 10:40:26 GMT</pubDate>
			<description><![CDATA[Bonjour, 
 
quelqu'un sait-il...]]></description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
quelqu'un sait-il ce que signifie :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">Langage L1 = <span class="br0">&#123;</span>a&lowast; b<span class="br0">&#125;</span></code><hr />
</div></div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f60/general-developpement/algorithme-mathematiques/algorithmes-structures-donnees/">Algorithmes et structures de données</category>
			<dc:creator>emmesse</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2177871/general-developpement/algorithme-mathematiques/algorithmes-structures-donnees/langage-accolades-etoile/</guid>
		</item>
		<item>
			<title>Les adolescents de la Gen Z utilisent ChatGPT pour obtenir des conseils financiers et investir en bourse</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2176473&amp;goto=newpost</link>
			<pubDate>Mon, 28 Apr 2025 09:20:36 GMT</pubDate>
			<description>*Les adolescents utilisent...</description>
			<content:encoded><![CDATA[<div><b><font size="4">Les adolescents utilisent ChatGPT pour obtenir des conseils financiers et réaliser des investissements en bourse</font></b><br />
<b><font size="1">mais les experts mettent en garde contre les risques liés aux conseils « hallucinés »</font></b><br />
<br />
<b>Une étude a rapporté qu'environ un adolescent sur 5 ayant entendu parler de ChatGPT l'a utilisé pour ses travaux scolaires. Mais les experts avertissent que <a href="https://intelligence-artificielle.developpez.com/actu/363172/" target="_blank">l'IA générative encourage la tricherie et rend les écoliers et les étudiants paresseux et incompétents</a>. Aujourd'hui, il apparaît que lorsque ces apprenants ne font pas appel à ChatGPT dans le cadre de leurs devoirs, ils l'utilisent pour investir l'argent de leur travail extrascolaire ; et ils gagnent gros parfois. ChatGPT peut toutefois donner des conseils erronés ou trompeurs. Selon les spécialistes du secteur, il est peut-être préférable de ne pas se fier à l'IA (uniquement) pour obtenir des conseils financiers.</b><br />
<br />
Selon l'étude Charles Schwab Modern Wealth Survey of 2024, l'investisseur moyen de la génération Z est entré sur le marché à 19 ans seulement, contre 25 ans pour les Millennials, 32 ans pour la génération X et 35 ans pour les Boomers. Cependant, certains Zoomers, attirés par les influenceurs et les promesses d'enrichissement rapide sur TikTok, investissent dans des cryptomonnaies douteuses et des actions mimétiques sans avoir fait leurs recherches.<br />
<br />
Grâce à un mélange d'outils d'IA, d'emplois après l'école et de parents financièrement avisés, les Zoomers se lancent dans le marché boursier plus tôt que n'importe quelle génération précédente. Les adolescents de la génération Z transforment l'argent de leur travail extrascolaire en gains boursiers importants.<br />
<br />
<b><font size="3">Ces adolescents qui s'appuient sur l'IA générative pour investir en bourse</font></b><br />
<br />
Ryan Sorrell n'avait que 8 ans lorsqu'il a fait son premier investissement dans le bitcoin. Aujourd'hui âgé de 15 ans, il est serveur dans une maison de retraite et investit ses 800 dollars mensuels dans des actions Bitcoin et MicroStrategy. Jusqu'à présent, il a réalisé 6 000 dollars de bénéfices, avec l'aide d'outils d'IA comme ChatGPT. « Cela m'aide beaucoup de faire des scénarios, de voir où j'en serais si je faisais cela dans 10 ans », a déclaré Ryan Sorrell. <br />
<br />
<div style="text-align: center;">
<div class="video-container"><iframe class="restrain" title="YouTube video player" width="560" height="315" allowfullscreen src="//www.youtube.com/embed/dG6ivADe6E4?wmode=transparent&amp;fs=1" frameborder="0"></iframe></div>
</div><br />
Il affirme que le fait d'investir tôt a changé sa façon d'appréhender l'argent : « je le place sur le marché et j'en tire un rendement au lieu de le perdre pour acheter une paire de chaussures, par exemple ». Mais les experts financiers mettent en garde contre l'achat de memecoins ou de cryptomonnaies douteuses. « Investissez toujours dans des choses que vous utilisez », affirme Brian Belski, stratège en chef des investissements chez BMO Capital Markets.<br />
<br />
Sophia Castiblanco, aujourd'hui âgée de 18 ans et en première année d'université, a commencé à investir à l'âge de 14 ans en utilisant l'argent de sa chaîne YouTube de critiques de jouets. Elle a d'abord investi 300 dollars par mois, puis 3 000 dollars par mois dans des entreprises technologiques de premier plan telles que Tesla, Amazon et Nvidia. Même après les récentes turbulences sur les marchés financiers, Sophia Castiblanco a continué à investir.<br />
<br />
« Je pense que c'est le moment idéal pour placer de l'argent sur le marché », a-t-elle déclaré. Elle espère que ses bénéfices serviront à financer un bien d'investissement pour obtenir des revenus passifs. Sophia Castiblanco souhaite également que davantage de jeunes femmes se lancent tôt dans la finance. « Il serait très utile que les écoles proposent des cours de finance dès le plus jeune âge, afin que les élèves acquièrent une meilleure culture financière ».<br />
<br />
Perrin Myerson a commencé à s'intéresser aux actions à l'âge de 14 ans, après avoir découvert le forum WallStreetBets de Reddit. Il a ouvert son premier compte avec l'aide de son père, puis a investi son salaire de Taco Bell dans des actions telles qu'Amazon et Palantir. Aujourd'hui âgé de 22 ans, il dirige une startup et se targue d'un retour sur investissement de 51 %. « Trop de jeunes de mon âge cherchent à s'enrichir rapidement », prévient Perrin Myerson.<br />
<br />
Isaiah Jones, un lycéen de 16 ans, a constitué un portefeuille de cryptomonnaies avec l'argent de la tonte de pelouse et affirme que le trading est désormais « courant » dans son école de Richmond, en Virginie. « Au début, le trading était ringard, mais aujourd'hui, il est devenu courant », a-t-il déclaré.<br />
<br />
<b><font size="3">Utilisation de ChatGPT pour obtenir des conseils financiers : les risques</font></b><br />
<br />
ChatGPT peut aider dans de nombreux domaines, de la recherche à la génération d'images en passant par la planification de plans. Mais lorsqu'il s'agit de conseils financiers, il est probablement préférable de s'en remettre aux experts (humains). Près de la moitié (47 %) des personnes interrogées dans le cadre d'une enquête Experian réalisée en octobre 2024 ont déclaré avoir essayé d'utiliser des outils d'IA générative pour obtenir des conseils financiers.<br />
<br />
Mais une nouvelle étude du site d'analyse des courtiers, Investing in the Web, a révélé que les outils tels que ChatGPT ne sont peut-être pas très efficaces dans ce domaine. Les chercheurs ont posé à ChatGPT 100 questions relatives à la finance et ont ensuite fait examiner les réponses par des experts du secteur au sein de leur entreprise. Les résultats ont révélé que ChatGPT ainsi que ses rivaux ne sont pas les conseillers financiers les plus qualifiés.<br />
<br />
Selon le rapport de l'étude, ChatGPT a répondu de manière incorrecte à 35 % des questions financières, une réponse sur trois étant hallucinée pour les questions centrées sur les finances et les investissements. Dans le cadre de l'étude, les chercheurs ont posé des questions toujours d'actualité, notamment :<br />
<br />
<ul><li style="">comment épargner pour l'éducation de mon enfant ?</li><li style="">comment la pension moyenne se compare-t-elle au salaire moyen ?</li><li style="">quels sont les avantages et les inconvénients de l'investissement dans l'or ?</li></ul><br />
<br />
Le chatbot a répondu correctement à 65 % des questions, tandis que 29 % ont été qualifiées d'incomplètes ou de trompeuses, et 6 % se sont révélées complètement incorrectes. Andrew Lo, directeur du laboratoire d'ingénierie financière à la Sloan School of Management du MIT, a déclaré à Fortune en janvier dernier qu'il y a trois domaines principaux où il est « assez dangereux » de demander des conseils à l'IA générative : droit, financier et médical.<br />
<br />
« Ces trois domaines présentent de très grands dangers s'ils ne sont pas bien gérés », a déclaré l'expert Andrew Lo. Pedro Braz, directeur général de la plateforme Investing in the Web, a déclaré dans un communiqué qu'il est important de vérifier ses sources, en particulier lorsqu'il s'agit d'informations financières reposant sur des données actualisées susceptibles de changer, telles que les taux d'intérêt et les performances boursières quotidiennes.<br />
<br />
« ChatGPT a des problèmes bien connus en ce qui concerne les informations actualisées. Il est préférable d'aller à la source même de l'information, plutôt que de demander des données [financières] à des chatbots d'IA », a déclaré Pedro Braz. Selon les experts, les conséquences peuvent être dangereuses.<br />
<br />
<b><font size="3">Conclusion</font></b><br />
<br />
Une nouvelle vague d'investisseurs de la génération Z utilise ChatGPT pour obtenir des conseils financiers et prendre des décisions d'investissement. Cela illustre la manière dont l'IA générative est de plus en plus intégrée dans les stratégies d'investissement, tant par les jeunes que par les investisseurs plus expérimentés. Mais bien que les gains des adolescents semblent indiquer que cette stratégie est payante, les experts affirment que les risques sont importants.<br />
<br />
ChatGPT peut halluciner des conseils financiers et induire en erreur les investisseurs non avertis. Selon les experts, travailler avec un conseiller financier humain permet une planification financière plus rigoureuse. Les détails de la situation et des objectifs financiers d'une personne peuvent être discutés plus en détail afin de créer un plan personnalisé qui comprend une compréhension de tous les risques liés aux mouvements d'argent potentiels. <br />
<br />
Mais l'IA générative fournira des conseils financiers à partir de quelques détails mineurs, et les personnes qui s'en inspirent sans réfléchir risquent de commettre des erreurs coûteuses. <a href="https://droit.developpez.com/actu/369598/" target="_blank">Des avocats ont déjà payé le prix fort pour s'être appuyés sur des jurisprudences hallucinées par ChatGPT</a>, sans vérification.<br />
<br />
Source : rapport d'étude (<a rel="nofollow" href="https://www.experianplc.com/newsroom/press-releases/2024/experian--americans-are-embracing-gen-ai-to-make-smart-money-mov" target="_blank">1</a>, <a rel="nofollow" href="https://mit-genai.pubpub.org/pub/l89uu140/release/2?readingCollection=9410b119" target="_blank">2</a>)<br />
<br />
<b>Et vous ?</b><br />
<br />
:fleche: Quel est votre avis sur le sujet ?<br />
:fleche: Avez-vous déjà utilisé l'IA pour obtenir des conseils financiers ? Si oui, partagez votre expérience.<br />
:fleche: L'utilisation de l'IA pour obtenir des conseils financiers est-elle une bonne pratique ? Quid des risques ?<br />
<br />
<b>Voir aussi</b><br />
<br />
:fleche: <a href="https://intelligence-artificielle.developpez.com/actu/363172/" target="_blank">Une enseignante a surpris des étudiants en train d'utiliser ChatGPT lors de leur premier devoir qui consistait à se présenter, l'IA générative encourage la tricherie et rend paresseux et incompétent</a><br />
<br />
:fleche: <a href="https://intelligence-artificielle.developpez.com/actu/371400/" target="_blank">Les enseignants se servent de ChatGPT et d'autres IA pour corriger les évaluations et préparer leurs cours mais l'interdisent aux élèves, l'IA s'invite dans les salles de classe... mais pas pour tout le monde</a><br />
<br />
:fleche: <a href="https://intelligence-artificielle.developpez.com/actu/362003/" target="_blank">Le cycle d'engouement montre que l'IA générative en finance est au sommet des attentes exagérées, les dirigeants financiers devraient tempérer les attentes autour de la GenAI en finance, d'après Gartner</a></div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f60/general-developpement/algorithme-mathematiques/algorithmes-structures-donnees/">Algorithmes et structures de données</category>
			<dc:creator>Mathis Lucas</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2176473/general-developpement/algorithme-mathematiques/algorithmes-structures-donnees/adolescents-gen-z-utilisent-chatgpt-obtenir-conseils-financiers-investir-bourse/</guid>
		</item>
	</channel>
</rss>
