exercices de travaux pratiques

This commit is contained in:
gwen 2017-06-09 09:59:42 +02:00 committed by Benjamin Bohard
parent c225693e35
commit 07e85ce432
4 changed files with 104 additions and 69 deletions

View File

@ -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']

View File

@ -15,4 +15,5 @@ Introduction à l'algorithmique
apercu apercu
modularite modularite
modules modules
tp
annexes/index annexes/index

101
algorithmique/cours/tp.txt Normal file
View File

@ -0,0 +1,101 @@
Travaux Pratiques
=================
.. ifconfig:: exercice
**travaux pratiques :**
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 « + », « -
», « * »,
« / ».
.. 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 lun de lautre. (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 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
.. 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

View File

@ -1,67 +0,0 @@
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