Vous êtes sur la page 1sur 3

10/08/13

Cours d'Algorithmique - Christophe Darmangeat

Rappel : ce cours d'algorithmique et de programmation est enseign l'Universit Paris 7, dans la spcialit PISE du Master MECI (ancien DESS AIGES) par Christophe Darmangeat

PARTIE 9 E NONC DES E XERCICES


Exercice 9.1
Parmi ces affectations (considres indpendamment les unes des autres), lesquelles provoqueront des erreurs, et pourquoi ? V a r i a b l e sA ,B ,Ce nN u m r i q u e V a r i a b l eDe nC a r a c t r e A S i n ( B ) A S i n ( A+B*C ) B S i n ( A )S i n ( D ) C S i n ( A/B ) C C o s ( S i n ( A ) corrig - retour au cours

Exercice 9.2
Ecrivez un algorithme qui demande un mot lutilisateur et qui affiche lcran le nombre de lettres de ce mot (c'est vraiment tout bte). corrig - retour au cours

Exercice 9.3
Ecrivez un algorithme qui demande une phrase lutilisateur et qui affiche lcran le nombre de mots de cette phrase. On suppose que les mots ne sont spars que par des espaces (et c'est dj un petit peu moins bte). corrig - retour au cours

Exercice 9.4
Ecrivez un algorithme qui demande une phrase lutilisateur et qui affiche lcran le nombre de voyelles contenues dans cette phrase. On pourra crire deux solutions. La premire dploie une condition compose bien fastidieuse. La deuxime, en utilisant la fonction Trouve, allge considrablement l'algorithme. corrig - retour au cours
www.pise.info/algo/enonces9.htm 1/3

10/08/13

Cours d'Algorithmique - Christophe Darmangeat

Exercice 9.5
Ecrivez un algorithme qui demande une phrase lutilisateur. Celui-ci entrera ensuite le rang dun caractre supprimer, et la nouvelle phrase doit tre affiche (on doit rellement supprimer le caractre dans la variable qui stocke la phrase, et pas uniquement lcran). corrig - retour au cours

Exercice 9.6 - Cryptographie 1


Un des plus anciens systmes de cryptographie (aisment dchiffrable) consiste dcaler les lettres dun message pour le rendre illisible. Ainsi, les A deviennent des B, les B des C, etc. Ecrivez un algorithme qui demande une phrase lutilisateur et qui la code selon ce principe. Comme dans le cas prcdent, le codage doit seffectuer au niveau de la variable stockant la phrase, et pas seulement lcran. corrig - retour au cours

Exercice 9.7 - Cryptographie 2 - le chiffre de Csar


Une amlioration (relative) du principe prcdent consiste oprer avec un dcalage non de 1, mais dun nombre quelconque de lettres. Ainsi, par exemple, si lon choisit un dcalage de 12, les A deviennent des M, les B des N, etc. Ralisez un algorithme sur le mme principe que le prcdent, mais qui demande en plus quel est le dcalage utiliser. Votre sens proverbial de l'lgance vous interdira bien sr une srie de vingt-six "Si...Alors" corrig - retour au cours

Exercice 9.8 - Cryptographie 3


Une technique ultrieure de cryptographie consista oprer non avec un dcalage systmatique, mais par une substitution alatoire. Pour cela, on utilise un alphabet-cl, dans lequel les lettres se succdent de manire dsordonne, par exemple : HYLUJPVREAKBNDOFSQZCWMGITX Cest cette cl qui va servir ensuite coder le message. Selon notre exemple, les A deviendront des H, les B des Y, les C des L, etc. Ecrire un algorithme qui effectue ce cryptage (lalphabet-cl sera saisi par lutilisateur, et on suppose qu'il effectue une saisie correcte). corrig - retour au cours

Exercice 9.9 - Cryptographie 4 - le chiffre de Vigenre


Un systme de cryptographie beaucoup plus difficile briser que les prcdents fut invent au XVIe sicle par le franais Vigenre. Il consistait en une combinaison de diffrents chiffres de Csar. On peut en effet crire 25 alphabets dcals par rapport lalphabet normal : lalphabet qui commence par B et finit par YZA lalphabet qui commence par C et finit par ZAB etc. Le codage va seffectuer sur le principe du chiffre de Csar : on remplace la lettre dorigine par la lettre occupant la mme place dans lalphabet dcal. Mais la diffrence du chiffre de Csar, un mme message va utiliser non un, mais plusieurs alphabets dcals. Pour savoir quels alphabets doivent tre utiliss, et dans quel ordre, on utilise une cl. Si cette cl est "VIGENERE" et le message "Il faut coder cette phrase", on procdera comme suit : La premire lettre du message, I, est la 9e lettre de lalphabet normal. Elle doit tre code en utilisant lalphabet commenant par la premire lettre de la cl, V. Dans cet alphabet, la 9e lettre est le D. I devient donc www.pise.info/algo/enonces9.htm 2/3

10/08/13

Cours d'Algorithmique - Christophe Darmangeat

lalphabet commenant par la premire lettre de la cl, V. Dans cet alphabet, la 9e lettre est le D. I devient donc D. La deuxime lettre du message, L, est la 12e lettre de lalphabet normal. Elle doit tre code en utilisant lalphabet commenant par la deuxime lettre de la cl, I. Dans cet alphabet, la 12e lettre est le S. L devient donc S, etc. Quand on arrive la dernire lettre de la cl, on recommence la premire. Ecrire lalgorithme qui effectue un cryptage de Vigenre, en demandant bien sr au dpart la cl lutilisateur. corrig - retour au cours

Exercice 9.10
Ecrivez un algorithme qui demande un nombre entier lutilisateur. Lordinateur affiche ensuite le message "Ce nombre est pair" ou "Ce nombre est impair" selon le cas. corrig - retour au cours

Exercice 9.11
Ecrivez les algorithmes qui gnrent un nombre Glup alatoire tel que 0 =< Glup < 2 1 =< Glup < 1 1,35 =< Glup < 1,65 Glup mule un d six faces 10,5 =< Glup < +6,5 Glup mule la somme du jet simultan de deux ds six faces corrig - retour au cours

www.pise.info/algo/enonces9.htm

3/3