tag:linuxfr.org,2005:/tags/calcul/publicLinuxFr.org : les contenus étiquetés avec « calcul »2019-10-27T23:40:03+01:00/favicon.pngtag:linuxfr.org,2005:Post/405522019-10-17T15:11:54+02:002019-10-17T15:11:54+02:00Opérations sur les lignes d'un fichier (soustraction de chiffres)<p>Bonjour, </p>
<p>Je souhaiterais soustraire la ligne i+1 à la ligne i d'un fichier pour i allant du début du fichier jusqu'à la fin en mettant 0 ou une ligne vide pour la première ligne.</p>
<p>Si on prend l'exemple d'un fichier test qui contient : <br>
ligne1 -> 0<br>
ligne2 -> 2<br>
ligne3 -> 3<br>
ligne4 -> 6<br>
ligne5 -> 5<br>
ligne6 -> 10</p>
<p>Je voudrais effectuer les soustractions pour obtenir :<br>
ligne1 -><br>
ligne2 -> 2<br>
ligne3 -> 1<br>
ligne4 -> 3<br>
ligne5 -> -1<br>
ligne6 -> 5</p>
<p>Je vous remercie d'avance pour votre aide. </p>
<p>Bonne journée, <br>
Martin</p>
<div><a href="https://linuxfr.org/forums/programmation-shell/posts/operations-sur-les-lignes-d-un-fichier-soustraction-de-chiffres.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/118370/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/programmation-shell/posts/operations-sur-les-lignes-d-un-fichier-soustraction-de-chiffres#comments">ouvrir dans le navigateur</a>
</p>
MartinD07https://linuxfr.org/nodes/118370/comments.atomtag:linuxfr.org,2005:Diary/375122017-09-28T16:27:38+02:002017-09-28T16:27:38+02:00Calculs numériques en précision absolue.Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#introduction">Introduction</a></li>
<li>
<a href="#les-expressions">Les expressions</a><ul>
<li><a href="#formats">Formats</a></li>
<li><a href="#notation-alg%C3%A9brique">Notation algébrique</a></li>
<li><a href="#notation-rpn">Notation <em>RPN</em></a></li>
</ul>
</li>
<li>
<a href="#installation-et-utilisation">Installation et utilisation</a><ul>
<li><a href="#g%C3%A9n%C3%A9ralit%C3%A9s">Généralités</a></li>
<li><a href="#nodejs"><em>Node.js</em></a></li>
<li><a href="#jre-java"><em>JRE</em> (<em>Java</em>).</a></li>
<li><a href="#ligne-de-commande">Ligne de commande</a></li>
</ul>
</li>
<li><a href="#%C3%89volution">Évolution</a></li>
</ul><h2 id="introduction">Introduction</h2>
<p>La lecture de ce <a href="//linuxfr.org/users/niconico/journaux/sql-decimal-vs-double">journal</a> m'a remémoré une bibliothèque de calcul numérique que j'ai développée et qui pourrait peut-être en intéresser quelques-uns ici.</p>
<p>J'ai rarement utilisé les nombres flottants à cause de leur précision limitée, et les entiers se sont parfois révélés inadaptés de par leur intervalles limités. Aussi ai-je développé une bibliothèque de gestion d'entiers dynamiques, et, en m'appuyant sur cette dernière, une bibliothèque de gestion de nombres rationnels qui prend en charge les 4 opérations mathématiques de base avec une précision absolue.</p>
<p>Les logiciels que je présente ici ne sont, pour l'instant, que capable de calculer le résultat d'une chaîne de caractères contenant une expression numérique. Ce calcul peut se réaliser à l'aide d'un utilitaire en ligne de commande, d'un <em>addon</em> <em>Node.js</em>, ou d'un composant <em>Java</em>.</p>
<p>Il est possible d'essayer cette bibliothèque en ligne, pour peu que l'on ai quelques rudiments en <em>Javascript</em> et le navigateur adéquat, en se rendant à cette adresse : <a href="http://q37.info/runkit/rncq/">http://npm.runkit.com/rncq/</a>.</p>
<p>L'expression à évaluer peut être algébrique (<code>1 + 2 / 3</code>) ou <em><a href="http://q37.info/s/x/RPN_fr/">RPN</a></em> (<code>1 2 + 3 /</code>). La version en ligne de commande propose en outre deux options :</p>
<ul>
<li>
<code>--to-float</code> qui convertit le résultat final en <em>float</em>,</li>
<li>
<code>--use-float</code> qui réalise le calcul à l'aide du type <em>float</em>.</li>
</ul><p>La mise en œuvre d'une de ces deux options peut avoir des résultats inattendus, de par la précision limité du type <em>float</em>, mais aussi parce que les calculs peuvent aboutir à des nombres qui dépassent largement les capacités du type <em>float</em>. </p>
<h2 id="les-expressions">Les expressions</h2>
<h3 id="formats">Formats</h3>
<p>Une expression peut être exprimée au format algébrique (<code>1 + 2 * 3</code>) ou <em>RPN</em> (<code>1 2 3 * +</code>). Elle peut contenir un nombre décimal (le séparateur est <code>.</code> ou <code>,</code>), auquel cas il est convertit en sa fraction équivalente. Par exemple, <code>12.345</code> est convertit en <code>2469/200</code> (qui est égal à <code>12345/1000</code>).</p>
<p>Les opérateurs reconnus sont :</p>
<ul>
<li>
<code>+</code> pour l'addition,</li>
<li>
<code>-</code> pour la soustraction,</li>
<li>
<code>*</code>, <code>x</code>et <code>X</code> pour la multiplication,</li>
<li>
<code>/</code> et <code>:</code> pour la division.</li>
</ul><p>Lorsque l'expression à évaluer est un argument de ligne de commande, il faut prendre garde aux opérateurs utilisés. Par exemple, l'opérateur de multiplication usuel (<code>*</code>) peut poser problème sous système <em>POSIX</em>, car l'interpréteur le remplace par une liste de fichiers ; il faut donc l'échapper (<code>\*</code>), mettre l'expression entre guillemets ou utiliser l'un des symboles alternatifs (<code>x</code>ou <code>X</code>). De la même manière, si l'expression contient des espaces, il faut mettre toute l'expression entre guillemets, pour qu'elle soit comprise par le programme comme un seul est unique argument. </p>
<h3 id="notation-algébrique">Notation algébrique</h3>
<p>C'est la notation usuelle, à savoir, par exemple, <code>1 + 2 * 3</code>.</p>
<p>Les parenthèses ne sont actuellement pas reconnues, et la priorité des opérateurs n'est pas prise en compte (<code>1+2*3</code> donne <code>9</code>, et non pas <code>7</code>).</p>
<p>les <code>-</code> et <code>+</code>unaires sont, eux, reconnus.</p>
<h3 id="notation-rpn">Notation <em>RPN</em>
</h3>
<p>C'est la notation dans laquelle on donne d'abord les arguments d'une opération avant de préciser l'opérateur qui doit être appliqué. Ainsi, l'équivalent de l'expression algébrique <code>(1 + 2) * 3</code> sera <code>1 2 + 3 *</code>(on voit que le format <em>RPN</em> permet de se passer de parenthèses).</p>
<p>Le <code>-</code> unaire n'est actuellement pas implémenté, aussi, pour entrer un nombre négatif, il convient d'écrire <code>0 <nombre> -</code>. </p>
<h2 id="installation-et-utilisation">Installation et utilisation</h2>
<h3 id="généralités">Généralités</h3>
<p>Mis à part sous <em>Windows</em>, il faut qu'un environnement de compilation <em>C++</em> soit installé.</p>
<p>Les différents paquets sont compilés :</p>
<ul>
<li>sous environnement <em>POSIX</em> (y compris <em>macOS</em> et <em>Cygwin</em>), en lançant la commande <code>make</code> à la racine du <em>package</em>,</li>
<li>sous <em>Windows</em>,
<ul>
<li>en lançant la compilation du <code>.vcxproj</code> dans <em>Visual Studio</em>,</li>
<li>sous <em>Cygwin</em>, voir ci-dessus (environnement <em>POSIX</em>) , sachant que :
<ul>
<li>par défaut, le binaire produit utilisera l'<em>API</em> <em>Cygwin</em>,</li>
<li>en passant l'argument <code>target=win</code> (voire <code>target=win32</code> ou <code>target=win64</code> pour produire explicitement une version <em>IA-32</em> ou <em>AMD64</em> du binaire), si la version adéquate de <em>mingw</em> est installée, on obtient un binaire utilisant l'<em>API</em> Windows.</li>
</ul>
</li>
</ul>
</li>
</ul><p>À noter que les binaires <em>Windows</em> d'un paquet sont directement disponibles dans la section <em>releases</em> du <em>repository</em> <em>GitHub</em> dudit paquet. </p>
<p>Si le paquet est directement lié à un <em>framework</em> tiers, il est possible que le <em>framewok</em> en question impose la manière dont le paquet doit être compilé. Il faudra alors voir la documentation dudit <em>framework</em>. </p>
<h3 id="nodejs"><em>Node.js</em></h3>
<p><em>GitHub</em> : <a href="http://q37.info/github/rncq-node">http://github.com/epeios-q37/rncq-node</a></p>
<p><a href="https://nodei.co/npm/rncq/"><img src="//img.linuxfr.org/img/68747470733a2f2f6e6f6465692e636f2f6e706d2f726e63712e706e67/rncq.png" alt="NPM" title="Source : https://nodei.co/npm/rncq.png"></a></p>
<p>Le composant étant disponible sur <em>NPM</em>, il suffit de lancer <code>npm install rncq</code>. Excepté sous <em>Windows</em>, il faut qu'un environnement de compilation <em>C++</em> soit installé.</p>
<p>Une fois installé, on peut lancer un test avec <code>npm explore rncq -- node test.js</code>, avec éventuellement, comme argument, une expression à évaluer. Par défaut, cette expression doit être en notation algébrique, mais en modifiant le fichier <code>node_modules/rncq/test.js</code>, on peut basculer en notation <em>RPN</em> (voir les commentaires dans le fichier en question).</p>
<p>Pour rappel, la version <em>Node.js</em> peut être testée en ligne sur <em>Runkit</em> (<a href="http://q37.info/runkit/rncq/">http://npm.runkit.com/rncq/</a>).</p>
<h3 id="jre-java">
<em>JRE</em> (<em>Java</em>).</h3>
<p><em>GitHub</em> : <a href="http://q37.info/github/rncq-java">http://github.com/epeios-q37/rncq-java</a></p>
<p>il faut au préalable récupérer le <a href="http://q37.info/github/jreq/"><em>wrapper</em> <em>Java</em></a>, et lancer la compilation comme indiqué ci-dessus. Il faut que le <em>Java Development Kit</em> soit installé. Une fois le binaire compilé, il faudra le placer, ainsi que les fichiers <code>jreq.xcfg</code>et <code>jreq.xlcl</code>, à la racine du paquet <em>rncq-java</em> (les fichiers <code>.java</code> et <code>.class</code> ne sont pas nécessaires).</p>
<p>Une fois le paquet <em>rncq-java</em> compilé (et les fichiers du <em>wrapper</em> mis en place), on peut lancer un test avec <code>java RNCqTest</code>, et éventuellement passer une expression numérique comme argument. On peut basculer en mode <em>RPN</em> en modifiant le fichier (qu'il faudra alors recompiler) <code>RNCq.java</code> (voir les commentaires dans ce fichier).</p>
<h3 id="ligne-de-commande">Ligne de commande</h3>
<p><em>GitHub</em> : <a href="http://q37.info/github/rncq-cli">http://github.com/epeios-q37/rncq-cli</a></p>
<p>Après compilation (voir ci-dessus), il suffit de lancer <code>rncq</code> avec l'expression numérique à évaluer.</p>
<p>Par défaut, l'expression doit être au format algébrique, mais avec l'option <code>--rpn</code>, on peut saisir une expression au format <em>RPN</em>. <code>rncq --help</code> permet d'afficher la liste des option disponibles.</p>
<h2 id="Évolution">Évolution</h2>
<p>Je projette, pour les prochaines versions, d'exposer, afin de pouvoir y accéder directement, les différentes fonctions permettant de réaliser les calculs. Ceci dit, pour <em>Node.js</em>, je ne vois pas encore trop à quoi devrait ressembler l'<em>API</em> pour qu'elle soit non bloquante (s'il y en a qui ont des idées à ce propos…).</p>
<p>Il est également possible que je développe une version pour <em>PHP</em>, voire d'autres environnements d'exécution.</p>
<p>Je voudrais également améliorer le procédure d'installation, notamment pour la version <em>Java</em>, mais il n'existe (ou je n'ai pas trouvé) l'équivalent de <em>NPM</em> pour <em>Java</em>, donc je ne sais, pour l'instant, pas encore comment faire.</p><div><a href="https://linuxfr.org/users/epeios/journaux/calculs-numeriques-en-precision-absolue.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/112769/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/epeios/journaux/calculs-numeriques-en-precision-absolue#comments">ouvrir dans le navigateur</a>
</p>
Claude SIMONhttps://linuxfr.org/nodes/112769/comments.atomtag:linuxfr.org,2005:Diary/364862016-03-29T03:03:01+02:002016-03-29T09:14:57+02:00Tableur de calcul pour auto-entrepreneur 2016Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Je tenais à partager ce petit tableur que j'ai moi même fait avec LibreOffice Calc (compatible avec tous les tableurs). Calculez vos <strong>dépenses/recettes/charges/bénéfices</strong> et tenez un "cahier des comptes" au propre (ou presque) pour vous lancez en tant qu'auto entrepreneur !</p>
<p><strong>Télécharger le tableur :</strong> <a href="https://devosi.org/vrac/auto-entrepreneur-calcule-2016.ods">auto-entrepreneur-calcule-2016.ods</a></p>
<p>C'est simple, regroupez vos factures, additionnez les celons vos <strong>dépenses/recettes</strong> et saisissez les pour calculer vos charges !</p>
<p>Si vous bénéficiez de l'<strong>ACCRE</strong>, ajustez votre <strong>Taux</strong> dans la formule des cellules <strong>RSI Taxe</strong>…</p>
<p>Je vais pas vous faire un dessin et vous expliquez comment ça marche, c'est pas bien compliqué ! ;)</p>
<p>Heux, je tien à dire Merci à <strong>LinuxFR</strong> d'avoir <strong>banni</strong> mon compte sans aucunes mentions, aucun mail, ni rien ? C'est génial de voir des gens critiquer sans apporter quelconques solutions, ni contributions, mes projets sont loin d’être parfait, certe, mais au lieux de rester sur votre petit cul a rien faire, aidez moi concrètement ! :P ;)</p>
<p>Peace ☮</p>
<p>mario_26</p><div><a href="https://linuxfr.org/users/mario_26/journaux/tableur-de-calcul-pour-auto-entrepreneur-2016.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/108577/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/mario_26/journaux/tableur-de-calcul-pour-auto-entrepreneur-2016#comments">ouvrir dans le navigateur</a>
</p>
mario_26https://linuxfr.org/nodes/108577/comments.atomtag:linuxfr.org,2005:Post/360222015-11-03T11:58:41+01:002015-11-03T11:58:41+01:00rechercher dans une colonne le chiffre le plus grand le plus petit<p>Bonjour</p>
<p>Je cherche la meilleur manière de récupérer dans une colonne le nombre le plus grand et le plus petit</p>
<p>cat mon_fichier.txt | cut -d";" -f4 | sort -n<br>
5<br>
7<br>
9<br>
15<br>
16</p>
<p>Si je fais: <br>
cat mon_fichier.txt | cut -d";" -f4 | sort -n | tail -1<br>
16<br>
m'affiche le plus grand</p>
<p>si je fais:<br>
cat mon_fichier.txt | cut -d";" -f4 | sort -r | tail -1<br>
-r pour reverse<br>
me donne 15<br>
c'est pas bon</p>
<p>Sinon j'ai pensée a ça:<br>
cat mon_fichier.txt | cut -d";" -f4 | sed '1,${$b;d}' <br>
m'affiche : 5 le nombre le plus petit</p>
<p>cat mon_fichier.txt | cut -d";" -f4 | sed '1,${1b;d}'<br>
m'affiche : 16 le nombre le plus grand</p>
<p>Ceci semble bien fonctionner mais j'ai des doutes car si dans ma colonne il y a un caractère blanc<br>
tout devient faux.<br>
il faudrait si y a un caractère blanc de prendre que les chiffres ou alors de le remplacer par zéro.</p>
<p>Quelqu'un a une petite idée ?<br>
D'avance merci pour toutes réponses.</p><div><a href="https://linuxfr.org/forums/programmation-shell/posts/rechercher-dans-une-colonne-le-chiffre-le-plus-grand-le-plus-petit.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/107224/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/programmation-shell/posts/rechercher-dans-une-colonne-le-chiffre-le-plus-grand-le-plus-petit#comments">ouvrir dans le navigateur</a>
</p>
totirushttps://linuxfr.org/nodes/107224/comments.atomtag:linuxfr.org,2005:Post/350192015-02-18T06:24:01+01:002015-02-18T06:24:01+01:00SDL2_gfxutils une bibliothèque complémentaire a SDL2_gfx. <p>Salut les Linuxiens de tout bords,</p>
<p>j'ai créer une bibliothèque partagée complémentaire a <a href="http://cms.ferzkopp.net/index.php/software/13-sdl-gfx">SDL2_gfx</a> qui est une extension de la bibliothèque pour la création de jeux vidéo <a href="https://www.libsdl.org/download-2.0.php">SDL2</a>.</p>
<p>Hors <a href="http://cms.ferzkopp.net/index.php/software/13-sdl-gfx">SDL2_gfx</a> est le pendant de <a href="https://www.libsdl.org/download-2.0.php">SDL2</a> pour dessiner dans le display et ma bibliothèque permet de générer des formes entre autres fonctionnalités et s'appelle <a href="http://www.cyber-sanktuary.fr/Programmation/Extensions/Librairies/prg_00001.py">SDL2_gfxutils</a>.<br><a href="http://www.cyber-sanktuary.fr/Programmation/Extensions/Librairies/prg_00001.py"><br>
SDL2_gfxutils</a> est une bibliothèque complémentaire a la la bibliothèque <a href="http://cms.ferzkopp.net/index.php/software/13-sdl-gfx">SDL2_gfx</a> et donc a <a href="https://www.libsdl.org/download-2.0.php">SDL2</a>.</p>
<p><a href="http://www.cyber-sanktuary.fr/Programmation/Extensions/Librairies/prg_00001.py">SDL2_gfxutils</a> est issue d'une collection de fonctions que j'ai implémenter sur plusieurs années,<br>
a chaque fois que j'avais une idée j'ai aussitôt essayer de l'implémenter, a la base dans le langage <strong>python</strong> avec le module <a href="http://pygame.org/news.html">pygame</a> qui est basé sur la <strong>SDL</strong>.<br>
J'ai commencer avec une simple fonction calculant les coordonnées d'un point selon un rayon et un angle.</p>
<p><a href="http://www.cyber-sanktuary.fr/Programmation/Extensions/Librairies/prg_00001.py">SDL2_gfxutils</a> est donc une translation de fonctions <strong>python</strong> dans le langage <strong>C</strong> et le standard <a href="http://cms.ferzkopp.net/index.php/software/13-sdl-gfx">SDL2_gfx</a>.</p>
<p><a href="http://www.cyber-sanktuary.fr/Programmation/Extensions/Librairies/prg_00001.py">SDL2_gfxutils</a> c'est d'abord une panoplie de fonctions génératrice de formes les plus diverses,<br>
en partant du simple <strong>polygone</strong> <em>convexe régulier</em>, en passant par le <strong>pentacle</strong> et les <strong>étoiles</strong> jusqu'au <strong>roues crantés</strong> <em>les plus complexes</em>.</p>
<p><a href="http://www.cyber-sanktuary.fr/Programmation/Extensions/Librairies/prg_00001.py">SDL2_gfxutils</a> vous mets également a disposition des fonctions d'<strong>affichages</strong> des différentes <strong>formes générées</strong>.</p>
<p><a href="http://www.cyber-sanktuary.fr/Programmation/Extensions/Librairies/prg_00001.py">SDL2_gfxutils</a> c'est aussi des fonctions de <strong>transformation</strong> de <strong>formes</strong>:</p>
<ul>
<li>
<strong>Rotation</strong>.</li>
<li>
<strong>Mise a l'échelle</strong>.</li>
<li>
<strong>Translation</strong>, <em>par deux valeurs (x et y)</em> ou <em>par rapport au centre de la forme</em>.</li>
</ul><p><a href="http://www.cyber-sanktuary.fr/Programmation/Extensions/Librairies/prg_00001.py">SDL2_gfxutils</a> vous mets a disposition des fonctions de <strong>mesure</strong>:</p>
<ul>
<li>D'<strong>aire</strong> d'un <strong>polygone</strong>.</li>
<li>De <strong>distance entre 2 pixels</strong>.</li>
</ul><p>Et de <strong>calcule</strong>:</p>
<ul>
<li>Du <strong>centre d'un polygone</strong>.</li>
<li>Le <strong>milieux d'un segment</strong>.</li>
<li>De <strong>trajectoire d'animation</strong>.</li>
</ul><p>Mais surtout <a href="http://www.cyber-sanktuary.fr/Programmation/Extensions/Librairies/prg_00001.py">SDL2_gfxutils</a> vous permet grâce a ses fonctions de bas-niveau de créer vos propre formes, si vous vous familiarisez avec la bibliothèque.</p>
<p>Il existe actuellement <strong>une version Linux</strong> qui s'installe d'un simple:</p>
<p>$ sudo make</p>
<p>NOTE: Il faut éventuellement corriger une ligne du fichier Makefile si le chemin des bibliothèques et|ou le chemin d'inclusion n'est pas le même sur votre système.</p>
<p>Il existe aussi une version pour <a href="http://www.mingw.org/">mingw</a>:<br>
Pour laquelle <em>la bibliothèque statique d'inclusion</em> et <em>le fichier *.dll</em> nécessaire sont fournis.</p>
<p>A noter que je vous ai fait <strong>une documentation</strong> <em>la plus complète possible</em>.<br>
Et si cela ne vous suffit pas plongez dans les sources.</p>
<p>Tout est fournis dans un seul fichier zip.</p>
<p>En espérant que vous prendrez autant de plaisir a utiliser <a href="http://www.cyber-sanktuary.fr/Programmation/Extensions/Librairies/prg_00001.py">SDL2_gfxutils</a> que j'en eu a la programmer. </p><div><a href="https://linuxfr.org/forums/programmation-c--2/posts/sdl2_gfxutils-une-bibliotheque-complementaire-a-sdl2_gfx.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/104841/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/programmation-c--2/posts/sdl2_gfxutils-une-bibliotheque-complementaire-a-sdl2_gfx#comments">ouvrir dans le navigateur</a>
</p>
Linuxatorhttps://linuxfr.org/nodes/104841/comments.atomtag:linuxfr.org,2005:Post/326282013-05-20T11:15:32+02:002013-05-20T13:16:27+02:00Logiciel de prise de notes "interactives"<p>Bonjour, <br />
je me demandais si il existait un logiciel permettant de prendre des notes de façon "interactive".</p>
<p>Un exemple pour être plus clair</p>
<pre>
<code class="python"><span class="n">Je</span> <span class="n">me</span> <span class="n">demande</span> <span class="n">combien</span> <span class="n">font</span> <span class="mi">4</span><span class="o">*</span><span class="mi">4</span><span class="o">=</span>
</code>
</pre>
<p>En "validant", le soft détecte une demande de calcul et complète celui-ci en mettant 16 derrière le =.<br />
Puis je peux continuer sur la même ligne ou en dessous.</p>
<p>Continuation de l'exemple</p>
<pre>
<code class="python"><span class="n">Je</span> <span class="n">me</span> <span class="n">demande</span> <span class="n">combien</span> <span class="n">font</span> <span class="mi">4</span><span class="o">*</span><span class="mi">4</span><span class="o">=**</span><span class="mi">16</span><span class="o">**.</span> <span class="n">Bon</span> <span class="err">ç</span><span class="n">a</span> <span class="n">c</span><span class="s">'est facile.</span>
<span class="n">Maintenant</span> <span class="n">avec</span> <span class="n">des</span> <span class="n">variables</span> <span class="p">:</span>
<span class="n">ADSL</span><span class="o">=</span><span class="mi">30</span> <span class="n">GSM</span><span class="o">=</span><span class="mi">20</span>
<span class="n">Co</span><span class="err">û</span><span class="n">t</span> <span class="n">communications</span> <span class="err">à</span> <span class="n">l</span><span class="s">'année : COMANN=12*(ADSL+GSM)=**600**</span>
</code>
</pre>
<p>où <strong>600</strong> le résultat automatiquement calculé…</p>
<p>Ca me semble pas sorcier comme truc (du moins il me semble…).<br />
Je teste actuellement org-mode (emacs) mais l'obligation de mettre des bloc sources me semble un peu lourd…</p>
<p>Une idée?<br />
Merci.<br />
Thierry</p><div><a href="https://linuxfr.org/forums/general-cherche-logiciel/posts/logiciel-de-prise-de-notes-interactives.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/98365/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/general-cherche-logiciel/posts/logiciel-de-prise-de-notes-interactives#comments">ouvrir dans le navigateur</a>
</p>
thierry71https://linuxfr.org/nodes/98365/comments.atomtag:linuxfr.org,2005:News/283002011-06-16T19:22:01+02:002021-07-11T19:08:28+02:00Petite actu des outils d’analyse numériqueLicence CC By‑SA http://creativecommons.org/licenses/by-sa/3.0/deed.fr<div><p>Au pays des scientifiques (entreprises & labos), en plus de la « taxe Microsoft » (Windows + MS Office), s’ajoute souvent la « taxe <a href="https://fr.wikipedia.org/wiki/MATLAB" title="Définition Wikipédia">MATLAB</a> » (employé comme grosse calculatrice graphique programmable…). Pourtant, dans ce milieu, les <em>geeks</em> ne sont pas rares. Continuons à porter la bonne parole : il existe des alternatives très valables, à choisir selon ses priorités !</p>
<p>Petit tour des candidats et leurs mises à jour dans la seconde partie de la dépêche.</p>
</div><ul><li>lien nᵒ 1 : <a title="http://numpy.scipy.org/" hreflang="en" href="https://linuxfr.org/redirect/72383">NumPy</a></li><li>lien nᵒ 2 : <a title="http://www.scilab.org/" hreflang="en" href="https://linuxfr.org/redirect/72384">Scilab</a></li><li>lien nᵒ 3 : <a title="http://www.gnu.org/software/octave/" hreflang="en" href="https://linuxfr.org/redirect/72385">Octave</a></li><li>lien nᵒ 4 : <a title="http://freemat.sourceforge.net/" hreflang="en" href="https://linuxfr.org/redirect/72386">FreeMat</a></li><li>lien nᵒ 5 : <a title="http://www.r-project.org/" hreflang="en" href="https://linuxfr.org/redirect/72387">R</a></li></ul><div><h3 id="toc-python-avec-scipy-numpy--matplotlib">Python avec SciPy (NumPy) & matplotlib</h3>
<p><a href="http://new.scipy.org/download.html">Ça s’installe</a> aussi simplement sur une bonne distrib’ Linux / *BSD que sur Mac OS X ou Windows. Compatible Python 3, mais certains binaires ne sont fournis que pour Python 2.</p>
<p>Passer à Python demande d’ajuster ses habitudes de programmation (syntaxe très particulière), mais pour y gagner vraiment au passage. On peut garder des petits scripts sans se casser la tête, mais si on veut structurer un projet, appeler des modules externes, ça devient bien bien plus propre (horreur, un fichier <code>« .m »</code> pour la moindre fonction, l’affreux <code>mex</code> pour appeler du C…).</p>
<p>On bénéficie alors de l’océan d’extensions Python pour répondre à tous les petits besoins annexes, gratuitement et simplement : le réseau, l’accès au matériel (ports série, GPIB), Tkinter pour les petites interfaces ou PyQt pour les grosses.</p>
<p>Concrètement, côté numérique, l’« ossature » de manipulation de vecteurs et matrices est assurée par <a href="http://numpy.scipy.org/">NumPy</a> (version 1.6 sortie en mai), les fonctions scientifiques étendues sont fournies par <a href="http://scipy.org/">SciPy</a> (version 0.9 sortie fin février. Bientôt la 1.0 ?), et pour les beaux graphiques dans tous les sens, exportés dans tous les formats, appelez <a href="http://matplotlib.sourceforge.net/">matplotlib</a> à la rescousse (version 1.0.1 de janvier). Tout ça est maintenant bien stable, toutes les fonctions courantes sont disponibles.</p>
<h3 id="toc-scilab">Scilab</h3>
<p>Depuis bien longtemps <a href="http://www.scilab.org/products/scilab/download">cet outil</a> est pleinement satisfaisant, avec toute la documentation en français ! Développé initialement par l’<a href="http://www.enpc.fr/" title="École Nationale des Ponts et Chaussées">ENPC</a> et l’<a href="http://www.inria.fr/" title="Institut National de Recherche en Informatique et Automatique">INRIA</a> (occasions de stages ?), il s’est ouvert à travers un consortium.</p>
<p>La syntaxe ne dépayse pas trop, bien que pas exactement identique aux vieilles habitudes (scripts à modifier).</p>
<p>Le passage à la version 5 l’a largement modernisé (et sensiblement alourdi !), de nombreux outils pratiques de déverminage ont bien mûri. Un autre plus de Scilab par rapport aux autres : <a href="http://www.scilab.org/fr/products/xcos">Xcos</a> (ex‐scicos), le simulateur « synoptique bloc » (à la <a href="http://www.mathworks.fr/products/simulink/">Simulink</a>), lui aussi devenu bien plus attrayant… De nombreuses « boîtes à outils » sont disponibles pour ajouter des fonctionnalités (via <a href="http://atoms.scilab.org/">les ATOMS</a> et <a href="http://forge.scilab.org/">la forge</a>).</p>
<p><a href="http://www.scilab.org/news/events">Scilab 5.3.2 date de mai</a>, la version 6 est <a href="http://www.scilab.org/products/scilab/roadmap">en chantier</a>.</p>
<h3 id="toc-octave">Octave</h3>
<p>Octave vise la compatibilité avec les programmes MATLAB, pour une transition à court terme sans trop de râleries, mais en ajoutant également des petits raccourcis pour améliorer « l’expérience de développeur ».</p>
<p><a href="http://www.gnu.org/software/octave/">La version 3.4.0 est sortie en février</a>, et on sent depuis quelque temps qu’on a atteint un produit stable (plus de bogues de tuyau gnuplot…), performant et fonctionnel (notamment avec les greffons de <a href="http://octave.sourceforge.net/">Octave-Forge</a>). Toujours pas d’environnement « sexy » de base, mais le <em>shell</em>, c’est très bien ; pourquoi l’emballer ? Je règle mon Term et mon éditeur comme je le préfère !</p>
<h3 id="toc-freemat">FreeMat</h3>
<p>Même objectif de compatibilité avec la « référence coûteuse », mais avec une interface plus léchée, <a href="http://freemat.sourceforge.net/">FreeMat</a> semble être un plus petit projet qui s’est développé doucement : la version 4.0 date d’octobre 2009.</p>
<h3 id="toc-r">R</h3>
<p><a href="http://www.r-project.org/">R</a> est depuis longtemps une référence pour les statistiques et l’analyse de données. <a href="http://developer.r-project.org/">La dernière révision est sortie en avril</a>.</p>
<h3 id="toc-et-les-gadgets-aussi-pratiques">Et les « gadgets »… aussi pratiques ?</h3>
<p>Pour ceux qui aiment ne jamais faire comme les autres, on peut retrouver des capacités vectorielles et graphiques dans de nombreux autres petits langages. Par exemple, le bon vieux <a href="http://www.s-lang.org/modules/grace/">S-Lang accompagné de Grace</a>, le tout pimpant <a href="http://omnibus.uni-freiburg.de/%7Estille/kpl/kpldemo.html">Kpl</a>, le <a href="http://pdl.perl.org/">Perl Data Language avec PLplot</a>, des tentatives avec JavaScript comme <a href="http://numcalc.com/">NumCalc</a> ou <a href="http://g.raphaeljs.com/">gRaphaël</a>…</p>
<p>Et, bien‐sûr, du C++, du Ruby, du OCaml, etc., et <a href="http://www.gnuplot.info/">GnuPlot</a>, <a href="http://www.gnu.org/software/plotutils/">plotutils</a>, <a href="http://qt.nokia.com/">Qt</a>, <a href="http://www.gtk.org/">GTK</a>, <a href="http://www.tcl.tk/">Tk</a>, <a href="http://www.w3.org/Graphics/SVG/">SVG</a>, <a href="http://epb.lbl.gov/xfig/fig-format.html">Fig</a>, <a href="http://www.tailrecursive.org/postscript/postscript.html">PostScript</a>…</p>
</div><div><a href="https://linuxfr.org/news/petite-actu-des-outils-d-analyse-numerique.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/86473/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/petite-actu-des-outils-d-analyse-numerique#comments">ouvrir dans le navigateur</a>
</p>
Loulhttps://linuxfr.org/nodes/86473/comments.atom