premiers sujets de tp

This commit is contained in:
gwen 2017-05-29 14:29:23 +02:00 committed by Benjamin Bohard
parent 635b81422b
commit c225693e35
2 changed files with 67 additions and 102 deletions

View File

@ -1,102 +0,0 @@
markup
========
exercices
---------
.. ifconfig:: exercice
**Exercice** :
.. ifconfig:: correction
**Correction** :
sphinx
-----------
.. function:: spam(eggs)
ham(eggs)
Spam or ham the foo.
The function :func:`spam` does a similar thing
http://www.sphinx-doc.org/en/stable/markup/code.html
http://www.sphinx-doc.org/en/stable/domains.html
latex
--------------
s'il faut mettre du latex :
https://www.jujens.eu/posts/2014/Aug/13/rapport-rst-sphinx/
(pour le preamble)
.. role:: latex(raw)
:format: latex
----
sudo apt-get install texlive-full
You need to remove
\usepackage{algorithmicx}
and use the following in your preamble:
\usepackage{algorithm}% http://ctan.org/pkg/algorithms
\usepackage{algpseudocode}% http://ctan.org/pkg/algorithmicx
.. raw:: latex
\begin{algorithm}
\caption{My algorithm}\label{euclid}
\begin{algorithmic}[1]
\Procedure{MyProcedure}{}
\State $\textit{stringlen} \gets \text{length of }\textit{string}$
\State $i \gets \textit{patlen}$
\BState \emph{top}:
\If {$i > \textit{stringlen}$} \Return false
\EndIf
\State $j \gets \textit{patlen}$
\BState \emph{loop}:
\If {$\textit{string}(i) = \textit{path}(j)$}
\State $j \gets j-1$.
\State $i \gets i-1$.
\State \textbf{goto} \emph{loop}.
\State \textbf{close};
\EndIf
\State $i \gets
i+\max(\textit{delta}_1(\textit{string}(i)),\textit{delta}_2(j))$.
\State \textbf{goto} \emph{top}.
\EndProcedure
\end{algorithmic}
\end{algorithm}
.. raw:: latex
\begin{algorithm}
\caption{Euclid's algorithm}\label{euclid}
\begin{algorithmic}[1]
\Procedure{Euclid}{$a,b$}\Comment{The g.c.d. of a and b}
\State $r\gets a\bmod b$
\While{$r\not=0$}\Comment{We have the answer if r is 0}
\State $a\gets b$
\State $b\gets r$
\State $r\gets a\bmod b$
\EndWhile\label{euclidendwhile}
\State \textbf{return} $b$\Comment{The gcd is b}
\EndProcedure
\end{algorithmic}
\end{algorithm}

67
algorithmique/tp.txt Normal file
View File

@ -0,0 +1,67 @@
Ecrire un algorithme qui renvoie le résultat dune mini-calculatrice. Cette
méthode aura
comme paramètre deux nombres et une chaîne de caractère qui vaudra « + », « -
», « * »,
« / ».
---
Ecrire un algorithme qui renvoie si deux mots (chaîne de caractères) passés en
paramètre
sont des anagrammes lun de lautre. (Lettres identiques mais dans un ordre
différent)
----
code de césar
(code de gray)
----
ascii art (ligne d'étoiles)
Concevoir un algorithme qui, pour un caractère imprimable et un nombre n
donnés, imprime une barre
horizontale de n de ces caractères.
****************
2. Modifier lalgorithme pour limpression dune barre double.
****************
****************
3. Modifier lalgorithme pour limpression dune barre dépaisseur quelconque
donnée.
4. (optionnel) Transformer les algorithmes ci-dessus en fonctions.
5. Écrire un programme Java implémentant la dernière version de lalgorithme
(épaisseur quelconque).
3.3
Triangle de nombres
Concevoir un algorithme qui imprime pour n donné :
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
...........
.............
...............
1 2 3 4 5 6 ... n
écrire “Entrer un numéro de mois”
mois ← lire
selon que mois est
cas 1 : écrire “janvier (31 jours)”
cas 2 : écrire “février (28 ou 29 jours)”
cas 3 : écrire “mars (31 jours)”
cas 4 : écrire “avril (30 jours)”
cas 5 : écrire “mai (31 jours)”
cas 6 : écrire “juin (30 jours)”
cas 7 : écrire “juillet (31 jours)”
cas 8 : écrire “août (31 jours)”
cas 9 : écrire “septembre (30 jours)”
cas 10 : écrire “octobre (31 jours)”
cas 11 : écrire “novembre (30 jours)”
cas 12 : écrire “décembre (31 jours)”
défaut : écrire “numéro invalide”
fselon