Vous êtes sur la page 1sur 9

PARTIE 1

Exercice 1.1
Quelles seront les valeurs des variables A et B aprs
excution des instructions suivantes ?
Variables A, B en Entier
Dbut
A 1
B A + 3
A 3
Fin

Exercice 1.2
Quelles seront les valeurs des variables A, B et C
aprs excution des instructions suivantes ?
Variables A, B, C en Entier
Dbut
A 5
B 3
C A + B
A 2
C B A
Fin

inverse les deux dernires instructions, cela change-til quelque chose ?


Exercice 1.6
Plus difficile, mais cest un classique absolu, quil
faut absolument matriser : crire un algorithme
permettant dchanger les valeurs de deux variables
A et B, et ce quel que soit leur contenu pralable.
Exercice 1.7
Une variante du prcdent : on dispose de trois
variables A, B et C. Ecrivez un algorithme transfrant
B la valeur de A, C la valeur de B et A la valeur
de C (toujours quels que soient les contenus
pralables de ces variables).
Exercice 1.8
Que produit lalgorithme suivant ?

Exercice 1.3

Variables A, B, C en Caractres
Dbut
A "423"
B "12"
C A + B
Fin

Quelles seront les valeurs des variables A et B aprs


excution des instructions suivantes ?

Que produit lalgorithme suivant ?

Variables A, B en Entier
Dbut
A 5
B A + 4
A A + 1
B A 4
Fin

Exercice 1.4

Exercice 1.9
Variables A, B, C en Caractres
Dbut
A "423"
B "12"
C A & B
Fin

PARTIE 2

Quelles seront les valeurs des variables A, B et C


aprs excution des instructions suivantes ?

Exercice 2.1

Variables A, B, C en Entier
Dbut
A 3
B 10
C A + B
B A + B
A C
Fin

Variables val, double numriques


Dbut
Val 231
Double Val * 2
Ecrire Val
Ecrire Double
Fin

Exercice 1.5
Quelles seront les valeurs des variables A et B aprs
excution des instructions suivantes ?
Variables A, B en Entier
Dbut
A 5
B 2
A B
B A
Fin

Moralit : les deux dernires instructions permettentelles dchanger les deux valeurs de B et A ? Si lon

Quel rsultat produit le programme suivant ?

Exercice 2.2
Ecrire un programme qui demande un nombre
lutilisateur, puis qui calcule et affiche le carr de
ce nombre.
Exercice 2.3
Ecrire un programme qui lit le prix HT dun article, le
nombre darticles et le taux de TVA, et qui fournit le
prix total TTC correspondant. Faire en sorte que des
libells apparaissent clairement.

Exercice 2.4

Ecrire un algorithme utilisant des variables de type


chane de caractres, et affichant quatre variantes
possibles de la clbre belle marquise, vos beaux
yeux me font mourir damour . On ne se soucie pas
de la ponctuation, ni des majuscules.

PARTIE 3
Exercice 3.1
Ecrire un algorithme qui demande un nombre
lutilisateur, et linforme ensuite si ce nombre est
positif ou ngatif (on laisse de ct le cas o le
nombre vaut zro).

PARTIE 4
Exercice 4.1
Formulez un algorithme quivalent lalgorithme
suivant :
Si Tutu > Toto + 4 OU Tata = "OK" Alors
Tutu Tutu + 1
Sinon
Tutu Tutu 1
Finsi

Exercice 4.2

Exercice 3.2

Cet algorithme est destin prdire l'avenir, et il


doit tre infaillible !

Ecrire un algorithme qui demande deux nombres


lutilisateur et linforme ensuite si leur produit est
ngatif ou positif (on laisse de ct le cas o le
produit est nul). Attention toutefois : on ne doit pas
calculer le produit des deux nombres.

Il lira au clavier lheure et les minutes, et il affichera


lheure quil sera une minute plus tard. Par exemple,
si l'utilisateur tape 21 puis 32, l'algorithme doit
rpondre :

Exercice 3.3
Ecrire un algorithme qui demande trois noms
lutilisateur et linforme ensuite sils sont rangs ou
non dans lordre alphabtique.
Exercice 3.4
Ecrire un algorithme qui demande un nombre
lutilisateur, et linforme ensuite si ce nombre est
positif ou ngatif (on inclut cette fois le traitement
du cas o le nombre vaut zro).
Exercice 3.5
Ecrire un algorithme qui demande deux nombres
lutilisateur et linforme ensuite si le produit est
ngatif ou positif (on inclut cette fois le traitement
du cas o le produit peut tre nul). Attention
toutefois, on ne doit pas calculer le produit !
Exercice 3.6
Ecrire un algorithme qui demande lge dun enfant
lutilisateur. Ensuite, il linforme de sa catgorie :

"Dans une minute, il sera 21 heure(s) 33".


NB : on suppose que l'utilisateur entre une heure
valide. Pas besoin donc de la vrifier.
Exercice 4.3
De mme que le prcdent, cet algorithme doit
demander une heure et en afficher une autre. Mais
cette fois, il doit grer galement les secondes, et
afficher l'heure qu'il sera une seconde plus tard.
Par exemple, si l'utilisateur tape 21, puis 32, puis 8,
l'algorithme doit rpondre : "Dans une seconde, il
sera 21 heure(s), 32 minute(s) et 9 seconde(s)".
NB : l encore, on suppose que l'utilisateur entre une
date valide.
Exercice 4.4
Un magasin de reprographie facture 0,10 E les dix
premires photocopies, 0,09 E les vingt suivantes et
0,08 E au-del. Ecrivez un algorithme qui demande
lutilisateur le nombre de photocopies effectues et
qui affiche la facture correspondante.
Exercice 4.5

"Poussin" de 6 7 ans
"Pupille" de 8 9 ans
"Minime" de 10 11 ans
"Cadet" aprs 12 ans

Peut-on concevoir plusieurs algorithmes quivalents


menant ce rsultat ?

Les habitants de Zorglub paient limpt selon les


rgles suivantes :

les hommes de plus de 20 ans paient limpt


les femmes paient limpt si elles ont entre
18 et 35 ans
les autres ne paient pas dimpt

Le programme demandera donc lge et le sexe du


Zorglubien, et se prononcera donc ensuite sur le fait
que lhabitant est imposable.

Exercice 4.6

Exercice 4.8

Les lections lgislatives, en Guignolerie


Septentrionale, obissent la rgle suivante :

Ecrivez un algorithme qui a prs avoir demand un


numro de jour, de mois et d'anne l'utilisateur,
renvoie s'il s'agit ou non d'une date valide.
Cet exercice est certes dun manque doriginalit
affligeant, mais aprs tout, en algorithmique comme
ailleurs, il faut connatre ses classiques ! Et quand on
a fait cela une fois dans sa vie, on apprcie
pleinement lexistence dun type numrique date
dans certains langages).
Il n'est sans doute pas inutile de rappeler rapidement
que le mois de fvrier compte 28 jours, sauf si
lanne est bissextile, auquel cas il en compte 29.
Lanne est bissextile si elle est divisible par quatre.
Toutefois, les annes divisibles par 100 ne sont pas
bissextiles, mais les annes divisibles par 400 le sont.
Ouf !
Un dernier petit dtail : vous ne savez pas, pour
linstant, exprimer correctement en pseudo-code
lide quun nombre A est divisible par un nombre B.
Aussi, vous vous contenterez dcrire en bons
tlgraphistes que A divisible par B se dit A dp B .

lorsque l'un des candidats obtient plus de 50%


des suffrages, il est lu ds le premier tour.
en cas de deuxime tour, peuvent participer
uniquement les candidats ayant obtenu au
moins 12,5% des voix au premier tour.

Vous devez crire un algorithme qui permette la


saisie des scores de quatre candidats au premier tour.
Cet algorithme traitera ensuite le candidat numro 1
(et uniquement lui) : il dira s'il est lu, battu, s'il se
trouve en ballottage favorable (il participe au second
tour en tant arriv en tte l'issue du premier tour)
ou dfavorable (il participe au second tour sans avoir
t en tte au premier tour).
Exercice 4.7
Une compagnie d'assurance automobile propose ses
clients quatre familles de tarifs identifiables par une
couleur, du moins au plus onreux : tarifs bleu, vert,
orange et rouge. Le tarif dpend de la situation du
conducteur :

un conducteur de moins de 25 ans et titulaire


du permis depuis moins de deux ans, se voit
attribuer le tarif rouge, si toutefois il n'a
jamais t responsable d'accident. Sinon, la
compagnie refuse de l'assurer.
un conducteur de moins de 25 ans et titulaire
du permis depuis plus de deux ans, ou de plus
de 25 ans mais titulaire du permis depuis
moins de deux ans a le droit au tarif orange
s'il n'a jamais provoqu d'accident, au tarif
rouge pour un accident, sinon il est refus.
un conducteur de plus de 25 ans titulaire du
permis depuis plus de deux ans bnficie du
tarif vert s'il n'est l'origine d'aucun accident
et du tarif orange pour un accident, du tarif
rouge pour deux accidents, et refus au-del
De plus, pour encourager la fidlit des
clients accepts, la compagnie propose un
contrat de la couleur immdiatement la plus
avantageuse s'il est entr dans la maison
depuis plus d'un an.

Ecrire l'algorithme permettant de saisir les donnes


ncessaires (sans contrle de saisie) et de traiter ce
problme. Avant de se lancer corps perdu dans cet
exercice, on pourra rflchir un peu et s'apercevoir
qu'il est plus simple qu'il n'en a l'air (cela s'appelle
faire une analyse !)

PARTIE 5
Exercice 5.1
Ecrire un algorithme qui demande lutilisateur un
nombre compris entre 1 et 3 jusqu ce que la
rponse convienne.
Exercice 5.2
Ecrire un algorithme qui demande un nombre compris
entre 10 et 20, jusqu ce que la rponse convienne.
En cas de rponse suprieure 20, on fera apparatre
un message : Plus petit ! , et inversement, Plus
grand ! si le nombre est infrieur 10.
Exercice 5.3
Ecrire un algorithme qui demande un nombre de
dpart, et qui ensuite affiche les dix nombres
suivants. Par exemple, si l'utilisateur entre le nombre
17, le programme affichera les nombres de 18 27.
Exercice 5.4
Ecrire un algorithme qui demande un nombre de
dpart, et qui ensuite crit la table de multiplication
de ce nombre, prsente comme suit (cas o
l'utilisateur entre le nombre 7) :
Table de 7 :
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21

7 x 10 = 70

Exercice 5.5
Ecrire un algorithme qui demande un nombre de
dpart, et qui calcule la somme des entiers jusqu
ce nombre. Par exemple, si lon entre 5, le
programme doit calculer :
1 + 2 + 3 + 4 + 5 = 15

NB : on souhaite afficher uniquement le rsultat, pas


la dcomposition du calcul.
Exercice 5.6
Ecrire un algorithme qui demande un nombre de
dpart, et qui calcule sa factorielle.
NB : la factorielle de 8, note 8 !, vaut

Exercice 5.7
Ecrire un algorithme qui demande successivement 20
nombres lutilisateur, et qui lui dise ensuite quel
tait le plus grand parmi ces 20 nombres :
numro 1 : 12
numro 2 : 14
numro 20 : 6
ces nombres est

X = n ! / (n - p) !
Y = n ! / (p ! * (n p) !)

NB : cet algorithme peut tre crit dune manire


simple, mais relativement peu performante. Ses
performances peuvent tre singulirement
augmentes par une petite astuce. Vous
commencerez par crire la manire la plus simple,
puis vous identifierez le problme, et crirez une
deuxime version permettant de le rsoudre.

PARTIE 6

1x2x3x4x5x6x7x8

Entrez le nombre
Entrez le nombre
etc.
Entrez le nombre
Le plus grand de

X et Y nous sont donns par la formule suivante, si n


est le nombre de chevaux partants et p le nombre de
chevaux jous (on rappelle que le signe ! signifie
"factorielle", comme dans l'exercice 5.6 ci-dessus) :

Exercice 6.1
Ecrire un algorithme qui dclare et remplisse un
tableau de 7 valeurs numriques en les mettant
toutes zro.
Exercice 6.2

: 14

Modifiez ensuite lalgorithme pour que le programme


affiche de surcrot en quelle position avait t saisie
ce nombre :
Ctait le nombre numro 2

Exercice 5.8
Rcrire lalgorithme prcdent, mais cette fois-ci on
ne connat pas davance combien lutilisateur
souhaite saisir de nombres. La saisie des nombres
sarrte lorsque lutilisateur entre un zro.
Exercice 5.9
Lire la suite des prix (en euros entiers et termine
par zro) des achats dun client. Calculer la somme
quil doit, lire la somme quil paye, et simuler la
remise de la monnaie en affichant les textes "10
Euros", "5 Euros" et "1 Euro" autant de fois quil y a de
coupures de chaque sorte rendre.
Exercice 5.10

Ecrire un algorithme qui dclare et remplisse un


tableau contenant les six voyelles de lalphabet latin.
Exercice 6.3
Ecrire un algorithme qui dclare un tableau de 9
notes, dont on fait ensuite saisir les valeurs par
lutilisateur.
Exercice 6.4
Que produit lalgorithme suivant ?
Tableau Nb(5) en Entier
Variable i en Entier
Dbut
Pour i 0 5
Nb(i) i * i
i suivant
Pour i 0 5
Ecrire Nb(i)
i suivant
Fin

Peut-on simplifier cet algorithme avec le mme


rsultat ?

crire un algorithme qui permette de connatre ses


chances de gagner au tierc, quart, quint et autres
impts volontaires.

Exercice 6.5

On demande lutilisateur le nombre de chevaux


partants, et le nombre de chevaux jous. Les deux
messages affichs devront tre :

Tableau N(6) en Entier


Variables i, k en Entier
Dbut
N(0) 1
Pour k 1 6
N(k) N(k-1) + 2
k Suivant
Pour i 0 6

Dans lordre : une chance sur X de gagner


Dans le dsordre : une chance sur Y de
gagner

Que produit lalgorithme suivant ?

Tableau constituer :

Ecrire N(i)
i suivant
Fin

11

Peut-on simplifier cet algorithme avec le mme


rsultat ?
Exercice 6.6
Que produit lalgorithme suivant ?
Tableau Suite(7) en Entier
Variable i en Entier
Dbut
Suite(0) 1
Suite(1) 1
Pour i 2 7
Suite(i) Suite(i-1) + Suite(i-2)
i suivant
Pour i 0 7
Ecrire Suite(i)
i suivant
Fin

14

12

Exercice 6.8

11

10

Exercice 6.11
Toujours partir de deux tableaux prcdemment
saisis, crivez un algorithme qui calcule le
schtroumpf des deux tableaux. Pour calculer le
schtroumpf, il faut multiplier chaque lment du
tableau 1 par chaque lment du tableau 2, et
additionner le tout. Par exemple si l'on a :
Tableau 1 :
4

12

Tableau 2 :

Exercice 6.7
Ecrivez la fin de lalgorithme 6.3 afin que le calcul de
la moyenne des notes soit effectu et affich
lcran.

11

Le Schtroumpf sera :
3 * 4 + 3 * 8 + 3 * 7 + 3 * 12 + 6 * 4 + 6 * 8 + 6 * 7 + 6 *
12 = 279

Ecrivez un algorithme permettant lutilisateur de


saisir un nombre quelconque de valeurs, qui devront
tre stockes dans un tableau. Lutilisateur doit donc
commencer par entrer le nombre de valeurs quil
compte saisir. Il effectuera ensuite cette saisie.
Enfin, une fois la saisie termine, le programme
affichera le nombre de valeurs ngatives et le
nombre de valeurs positives.

Exercice 6.12

Exercice 6.9

Ecrivez un algorithme permettant, toujours sur le


mme principe, lutilisateur de saisir un nombre
dtermin de valeurs. Le programme, une fois la
saisie termine, renvoie la plus grande valeur en
prcisant quelle position elle occupe dans le tableau.
On prendra soin deffectuer la saisie dans un premier
temps, et la recherche de la plus grande valeur du
tableau dans un second temps.

Ecrivez un algorithme calculant la somme des valeurs


dun tableau (on suppose que le tableau a t
pralablement saisi).
Exercice 6.10
Ecrivez un algorithme constituant un tableau, partir
de deux tableaux de mme longueur pralablement
saisis. Le nouveau tableau sera la somme des
lments des deux tableaux de dpart.
Tableau 1 :
4

Tableau 2 :
7

Ecrivez un algorithme qui permette la saisie dun


nombre quelconque de valeurs, sur le principe de lex
6.8. Toutes les valeurs doivent tre ensuite
augmentes de 1, et le nouveau tableau sera affich
lcran.
Exercice 6.13

Exercice 6.14
Toujours et encore sur le mme principe, crivez un
algorithme permettant, lutilisateur de saisir les
notes d'une classe. Le programme, une fois la saisie
termine, renvoie le nombre de ces notes suprieures
la moyenne de la classe.

PARTIE 7

Exercice 7.5

Exercice 7.1
Ecrivez un algorithme qui permette de saisir un
nombre quelconque de valeurs, et qui les range au
fur et mesure dans un tableau. Le programme, une
fois la saisie termine, doit dire si les lments du
tableau sont tous conscutifs ou non.
Par exemple, si le tableau est :
12

13

14

15

Ecrivez l'algorithme qui recherche un mot saisi au


clavier dans un dictionnaire. Le dictionnaire est
suppos tre cod dans un tableau pralablement
rempli et tri.

PARTIE 8
Exercice 8.1
crivez un algorithme remplissant un tableau de 6 sur
13, avec des zros.

16

17

18

Exercice 8.2
Quel rsultat produira cet algorithme ?

ses lments sont tous conscutifs. En revanche, si le


tableau est :
9

10

11

15

16

17

18

ses lments ne sont pas tous conscutifs.


Exercice 7.2
Ecrivez un algorithme qui trie un tableau dans lordre
dcroissant.
Vous crirez bien entendu deux versions de cet
algorithme, l'une employant le tri par insertion,
l'autre le tri bulles.
Exercice 7.3

Tableau X(1, 2) en Entier


Variables i, j, val en Entier
Dbut
Val 1
Pour i 0 1
Pour j 0 2
X(i, j) Val
Val Val + 1
j Suivant
i Suivant
Pour i 0 1
Pour j 0 2
Ecrire X(i, j)
j Suivant
i Suivant
Fin

Exercice 8.3

Ecrivez un algorithme qui inverse lordre des


lments dun tableau dont on suppose qu'il a t
pralablement saisi ( les premiers seront les
derniers )
Exercice 7.4
Ecrivez un algorithme qui permette lutilisateur de
supprimer une valeur dun tableau pralablement
saisi. Lutilisateur donnera lindice de la valeur quil
souhaite supprimer. Attention, il ne sagit pas de
remettre une valeur zro, mais bel et bien de la
supprimer du tableau lui-mme ! Si le tableau de
dpart tait :
12

45

64

Et que lutilisateur souhaite supprimer la valeur


dindice 4, le nouveau tableau sera :
12

45

Quel rsultat produira cet algorithme ?


Tableau X(1, 2) en Entier
Variables i, j, val en Entier
Dbut
Val 1
Pour i 0 1
Pour j 0 2
X(i, j) Val
Val Val + 1
j Suivant
i Suivant
Pour j 0 2
Pour i 0 1
Ecrire X(i, j)
i Suivant
j Suivant
Fin

Exercice 8.4
Quel rsultat produira cet algorithme ?
Tableau T(3, 1) en Entier
Variables k, m, en Entier
Dbut
Pour k 0 3

Pour m 0 1
T(k, m) k + m
m Suivant
k Suivant
Pour k 0 3
Pour m 0 1
Ecrire T(k, m)
m Suivant
k Suivant
Fin

Exercice 8.5
Mmes questions, en remplaant la ligne :
T(k, m) k + m

par
T(k, m) 2 * k + (m + 1)
puis par :
T(k, m) (k + 1) + 4 * m

Exercice 8.6
Soit un tableau T deux dimensions (12, 8)
pralablement rempli de valeurs numriques.
crire un algorithme qui recherche la plus grande
valeur au sein de ce tableau.
Exercice 8.7
crire un algorithme de jeu de dames trs simplifi.
Lordinateur demande lutilisateur dans quelle case
se trouve son pion (quelle ligne, quelle colonne). On
met en place un contrle de saisie afin de vrifier la
validit des valeurs entres.
Ensuite, on demande lutilisateur quel mouvement
il veut effectuer : 0 (en haut gauche), 1 (en haut
droite), 2 (en bas gauche), 3 (en bas droite).
Si le mouvement est impossible (i.e. on sort du
damier ), on le signale lutilisateur et on sarrte
l . Sinon, on dplace le pion et on affiche le damier
rsultant, en affichant un O pour une case vide et
un X pour la case o se trouve le pion.

PARTIE 9
Exercice 9.1
Parmi ces affectations (considres indpendamment
les unes des autres), lesquelles provoqueront des
erreurs, et pourquoi ?
Variables A, B, C en Numrique
Variables D, E en Caractre
A Sin(B)
A Sin(A + B * C)
B Sin(A) Sin(D)
D Sin(A / B)
C Cos(Sin(A)

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).
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).
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.
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).
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.
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 vingtsix "Si...Alors"

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).
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 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.
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.
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

PARTIE 10
Exercice 10.1
Quel rsultat cet algorithme produit-il ?
Variable Truc en Caractre
Dbut
Ouvrir "Exemple.txt" sur 5 en Lecture
Tantque Non EOF(5)
LireFichier 5, Truc
Ecrire Truc
FinTantQue
Fermer 5
Fin

Exercice 10.2
Ecrivez lalgorithme qui produit un rsultat similaire
au prcdent, mais le fichier texte "Exemple.txt" est
cette fois de type dlimit (caractre de
dlimitation : /). On produira l'cran un affichage
o pour des raisons esthtiques, ce caractre sera
remplac avec des espaces.
Exercice 10.3
On travaille avec le fichier du carnet dadresses en
champs de largeur fixe.
Ecrivez un algorithme qui permet lutilisateur de
saisir au clavier un nouvel individu qui sera ajout
ce carnet dadresses.
Exercice 10.4
Mme question, mais cette fois le carnet est suppos
tre tri par ordre alphabtique. Lindividu doit donc
tre insr au bon endroit dans le fichier.

Exercice 10.5
Ecrivez un algorithme qui permette de modifier un
renseignement (pour simplifier, disons uniquement le
nom de famille) dun membre du carnet dadresses. Il
faut donc demander lutilisateur quel est le nom
modifier, puis quel est le nouveau nom, et mettre
jour le fichier. Si le nom recherch n'existe pas, le
programme devra le signaler.
Exercice 10.6
Ecrivez un algorithme qui trie les individus du carnet
dadresses par ordre alphabtique.
Exercice 10.7
Soient Toto.txt et Tata.txt deux fichiers dont les
enregistrements ont la mme structure. Ecrire un
algorithme qui recopie tout le fichier Toto dans le
fichier Tutu, puis sa suite, tout le fichier Tata
(concatnation de fichiers).
Exercice 10.8
Ecrire un algorithme qui supprime dans notre carnet
d'adresses tous les individus dont le mail est invalide
(pour employer un critre simple, on considrera que
sont invalides les mails ne comportant aucune
arobase, ou plus d'une arobase).
Exercice 10.9
Les enregistrements dun fichier contiennent les deux
champs Nom (chane de caractres) et Montant
(Entier). Chaque enregistrement correspond une
vente conclue par un commercial dune socit.
On veut mmoriser dans un tableau, puis afficher
l'cran, le total de ventes par vendeur. Pour
simplifier, on suppose que le fichier de dpart est
dj tri alphabtiquement par vendeur.

PARTIE 11
Exercice 11.1
crivez une fonction qui renvoie la somme de cinq
nombres fournis en argument.
Exercice 11.2
crivez une fonction qui renvoie le nombre de
voyelles contenues dans une chane de caractres
passe en argument. Au passage, notez qu'une
fonction a tout fait le droit d'appeler une autre
fonction.
Exercice 11.3
Rcrivez la fonction Trouve, vue prcdemment,
laide des fonctions Mid et Len (comme quoi, Trouve,

la diffrence de Mid et Len, nest pas une fonction


indispensable dans un langage).