premiers sujets de tp
This commit is contained in:
parent
8afd3606f7
commit
45f3836f87
|
@ -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}
|
|
|
@ -0,0 +1,67 @@
|
||||||
|
Ecrire un algorithme qui renvoie le résultat d’une 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 l’un de l’autre. (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 l’algorithme pour l’impression d’une barre double.
|
||||||
|
****************
|
||||||
|
****************
|
||||||
|
|
||||||
|
3. Modifier l’algorithme pour l’impression d’une 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 l’algorithme
|
||||||
|
(é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
|
||||||
|
|
Loading…
Reference in New Issue