137 lines
4.4 KiB
Plaintext
137 lines
4.4 KiB
Plaintext
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
|
||
|
||
|
||
.. ifconfig:: exercice
|
||
|
||
**travaux pratiques :**
|
||
|
||
|
||
tp liste :
|
||
recherche par dichotomie d'un élément dans une triée
|
||
|
||
.. ifconfig:: exercice
|
||
|
||
**travaux pratiques :**
|
||
|
||
tp ensembles :
|
||
|
||
Écrivez une fonction Python `Delta(A,B)` qui renvoie la différence symétrique de deux ensembles A et B::
|
||
|
||
A delta B := A union B \ A intersection B.
|
||
|
||
Un ensemble est représenté sous forme de liste et on supposera que chaque valeur contenue dans une liste n'apparaît qu'une fois.
|
||
Par exemple si A=[2,1,5,6,9] et B=[7,4,5,2,8], la liste renvoyée est la liste [1,6,9,7,4,8].
|
||
|
||
|
||
.. ifconfig:: exercice
|
||
|
||
**travaux pratiques :**
|
||
|
||
tp dictionnaires :
|
||
|
||
On rappelle qu'un dictionnaire en python est une structure énumérée (comme les listes, tuples, chaînes) dont les clés sont quelconques (dans les autres cas les clefs sont entières). Comme pour une liste, on accède à la valeur associée à une clef c par H[c]. On crée un dictionnaire vide dico avec dico = {}. On crée une nouvelle entrée en écrivant par exemple dico["pseudo"] = "Keyser Söze". On obtient la liste des clés avec list(dico.keys()) et la liste des valeurs avec list(dico.values()). Pour récupérer une valeur à partir de sa clef, il suffit d'écrire dico[clef].
|
||
|
||
Écrivez une fonction Python Distribution(chaine) qui renvoie un dictionnaire dont les clefs sont les caractères de la chaîne passée en paramètre et la valeur associée à une clef c est le nombre d'occurences de ce caractère dans la chaîne. Par exemple, si chaine="abaccab", alors le dictionnaire renvoyé est {"a":3,"b":2,"c":2}. Écrivez une fonction LettreLaPlusFrequente(chaine) qui renvoie la lettre la plus fréquente dans la chaine.
|
||
|
||
|