Traduction d'un algorithme de C -> Latex

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Traduction d'un algorithme de C -> Latex

Messagepar chris_wafer » Dimanche 02 Novembre 2014, 21:05

Bonjour,

J'aimerai traduire ce code C en latex pour le mettre dans une commande :

Code: Tout sélectionner
for (.............;)
{
    lValide = false;

    while(lValide == false)
    {
        a_i = random...
        b_i = random...

        j=0
        while ( (j<i) && (a_j != a_i) && (b_j != b_i) )
        {
            j= j +1;
        }

        if (j==i)
        {
            lValide = true;
        }
    }
}


Quelqu'un peut m'aider?

Merci.
chris_wafer
Déca-utilisateur
 
Messages: 25
Inscription: Mardi 06 Février 2007, 22:46

Publicité

Re: Traduction d'un algorithme de C -> Latex

Messagepar touhami » Lundi 03 Novembre 2014, 08:31

touhami
Méga-utilisateur
 
Messages: 430
Inscription: Dimanche 11 Février 2007, 11:45
Statut actuel: Post-bac

Re: Traduction d'un algorithme de C -> Latex

Messagepar gigiair » Lundi 03 Novembre 2014, 10:12

Pourquoi pas utiliser lualatex ?
Il y a d'autres solutions, en utilisant un pré-processeur dans un langage mieux adapté pour exécuter cet algorithme.
Le Org-mode d'Emacs produit un document exportable en LaTeX très simplement. On peut insérer des blocs de code qui seront évalués avant exportations dans les langages suivants :

Code: Tout sélectionner
Language             Identifier             Language         Identifier
Asymptote            asymptote              Awk              awk
Emacs Calc           calc                   C                C
C++                  C++                    Clojure          clojure
CSS                  css                    ditaa            ditaa
Graphviz             dot                    Emacs Lisp       emacs-lisp
gnuplot              gnuplot                Haskell          haskell
Java                 java                                   
Javascript           js                     LaTeX            latex
Ledger               ledger                 Lisp             lisp
Lilypond             lilypond               MATLAB           matlab
Mscgen               mscgen                 Objective Caml   ocaml
Octave               octave                 Org mode         org
Oz                   oz                     Perl             perl
Plantuml             plantuml               Python           python
R                    R                      Ruby             ruby
Sass                 sass                   Scheme           scheme
GNU Screen           screen                 shell            sh
SQL                  sql                    SQLite           sqlite

Ça demande un effort, mais pas forcément plus que de se plonger dans le TeXbook, et la productivité est bien meilleure.
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2419
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: Traduction d'un algorithme de C -> Latex

Messagepar rebouxo » Lundi 03 Novembre 2014, 14:37

Je me demande si c'est bien la demande. Est-ce que la question n'est pas comment faire pour mettre en forme ce programme.
Dans ce cas, la réponse est listing.

Olivier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 6933
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: Traduction d'un algorithme de C -> Latex

Messagepar chris_wafer » Lundi 03 Novembre 2014, 18:29

Oui la question est comment traduire ce programme en latex?
chris_wafer
Déca-utilisateur
 
Messages: 25
Inscription: Mardi 06 Février 2007, 22:46

Re: Traduction d'un algorithme de C -> Latex

Messagepar gigiair » Lundi 03 Novembre 2014, 20:25

Traduire ne lève pas l'ambiguïté : s'agit-il d'imprimer l'algorithme ou de l'exécuter ?
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2419
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: Traduction d'un algorithme de C -> Latex

Messagepar chris_wafer » Lundi 03 Novembre 2014, 20:34

Exécuter...
chris_wafer
Déca-utilisateur
 
Messages: 25
Inscription: Mardi 06 Février 2007, 22:46

Re: Traduction d'un algorithme de C -> Latex

Messagepar pg » Mardi 04 Novembre 2014, 09:59

Une possibilité (modulo une éventuelle erreur de traduction) avec ifthen (pour \ifthenelse et sa boucle while) et tikz (pour sa boucle for) :

Code: Tout sélectionner
\documentclass{article}

\usepackage{tikz}
\usepackage{ifthen}

\begin{document}

\newboolean{lValide}
\foreach \i in {0,...,100} {%
    \setboolean{lValide}{false}%
    \whiledo{\NOT\(\boolean{lValide}\)}{%
        \pgfmathparse{rnd}\expandafter\global\expandafter\let\csname a\i\endcsname\pgfmathresult
        \pgfmathparse{rnd}\expandafter\global\expandafter\let\csname b\i\endcsname\pgfmathresult
        \edef\j{0}%
        \whiledo{\(\j < \i\) \AND \NOT\equal{\csname a\j\endcsname}{\csname a\i\endcsname} \AND \NOT\equal{\csname b\j\endcsname}{\csname b\i\endcsname}}{%
            \edef\j{\the\numexpr\j+1}%
        }%
        \ifthenelse{\j=\i}{\setboolean{lValide}{true}}{}%
    }%
}

\section*{Affichage des variables $a_i$ et $b_i$}
\foreach \i in {0,...,100} {%
    $(a_{\i},b_{\i}) = (\csname a\i\endcsname, \csname b\i\endcsname)$\par
}
\end{document}

Attention, ce code sera plus ou moins utilisable selon le contexte (les commandes utilisées ne sont pas développables donc peuvent ne pas convenir dans tous les cas).
pg
Modérateur
 
Messages: 2593
Inscription: Jeudi 14 Juin 2007, 23:31


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot], Google [Bot], Google Adsense [Bot], Grapeshot [Crawler] et 19 invités