exercices de travaux pratiques
This commit is contained in:
parent
c225693e35
commit
07e85ce432
|
@ -37,8 +37,8 @@ def setup(app):
|
||||||
app.add_config_value('correction', False, 'env')
|
app.add_config_value('correction', False, 'env')
|
||||||
app.add_config_value('exercice', False, 'env')
|
app.add_config_value('exercice', False, 'env')
|
||||||
|
|
||||||
exercice = False
|
exercice = True
|
||||||
correction = False
|
correction = True
|
||||||
|
|
||||||
# Add any paths that contain templates here, relative to this directory.
|
# Add any paths that contain templates here, relative to this directory.
|
||||||
templates_path = ['_templates']
|
templates_path = ['_templates']
|
||||||
|
|
|
@ -15,4 +15,5 @@ Introduction à l'algorithmique
|
||||||
apercu
|
apercu
|
||||||
modularite
|
modularite
|
||||||
modules
|
modules
|
||||||
|
tp
|
||||||
annexes/index
|
annexes/index
|
||||||
|
|
|
@ -0,0 +1,101 @@
|
||||||
|
Travaux Pratiques
|
||||||
|
=================
|
||||||
|
|
||||||
|
.. ifconfig:: exercice
|
||||||
|
|
||||||
|
**travaux pratiques :**
|
||||||
|
|
||||||
|
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 « + », « -
|
||||||
|
», « * »,
|
||||||
|
« / ».
|
||||||
|
|
||||||
|
.. ifconfig:: exercice
|
||||||
|
|
||||||
|
**travaux pratiques :**
|
||||||
|
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
|
|
||||||
|
.. ifconfig:: exercice
|
||||||
|
|
||||||
|
**travaux pratiques :**
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
.. ifconfig:: exercice
|
||||||
|
|
||||||
|
**travaux pratiques :**
|
||||||
|
|
||||||
|
code de césar : faire un programme pour chiffrer et déchiffrer par décalage
|
||||||
|
|
||||||
|
exemples : Effectue une rotation de x caractères vers la droite::
|
||||||
|
|
||||||
|
>>> print(chiffre('bonjour', 3))
|
||||||
|
erqmrxu
|
||||||
|
>>> print(chiffre('Bonjour les amis!', 3))
|
||||||
|
Erqmrxu ohv dplv!
|
||||||
|
>>> print(chiffre('Erqmrxu ohv dplv!', 23))
|
||||||
|
Bonjour les amis!
|
||||||
|
|
||||||
|
.. ifconfig:: exercice
|
||||||
|
|
||||||
|
**travaux pratiques :**
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
é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
|
|
@ -1,67 +0,0 @@
|
||||||
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