1360679575TD Algo
1360679575TD Algo
1360679575TD Algo
Exercice 1 :
Quelles seront les valeurs des variables A et B après exécution des instructions
suivantes ?
Variables A, B en Entier
Début
A←1
B←A+3
A←3
Fin
Exercice 2 :
Quelles seront les valeurs des variables A, B et C après exécution des instructions
suivantes ?
Variables A, B, C en Entier
Début
A←5
B←3
C←A+B
A←2
C←B–A
Fin
Exercice 3 :
Quelles seront les valeurs des variables A et B après exécution des instructions
suivantes ?
Variables A, B en Entier
Début
A←5
B←2
A←B
B←A
Fin
Exercice 4 :
Plus difficile, mais c’est un classique absolu, qu’il faut absolument maîtriser : écrire
un algorithme permettant d’échanger les valeurs de deux variables A et B, et ce quel
que soit leur contenu préalable.
Exercice 5 :
Que produit l’algorithme suivant ?
Variables A, B, C en Caractères
Début
A ← "423"
B ← "12"
C←A&B
Fin
Exercice 6 :
Quel résultat produit le programme suivant ?
Exercice 7 :
Ecrire un programme qui demande un nombre à l’utilisateur, puis qui calcule et
affiche le carré de ce nombre.
Exercice 8 :
Ecrire un algorithme utilisant des variables de type chaîne de caractères, et affichant
quatre variantes possibles de la célèbre « belle marquise, vos beaux yeux me font
mourir d’amour ». On ne se soucie pas de la ponctuation, ni des majuscules.
Exercice 9 :
Ecrire un algorithme qui demande un nombre à l’utilisateur, et l’informe ensuite si ce
nombre est positif ou négatif (on laisse de côté le cas où le nombre vaut zéro).
Exercice 10 :
Ecrire un algorithme qui demande deux nombres à l’utilisateur et l’informe ensuite si
leur produit est négatif ou positif (on laisse de côté le cas où le produit est nul).
Attention toutefois : on ne doit pas calculer le produit des deux nombres.
Exercice 11 :
Ecrire un algorithme qui demande trois noms à l’utilisateur et l’informe ensuite s’ils
sont rangés ou non dans l’ordre alphabétique.
Exercice 12 :
Ecrire un algorithme qui demande l’âge d’un enfant à l’utilisateur. Ensuite, il l’informe
de sa catégorie :
"Poussin" de 6 à 7 ans
"Pupille" de 8 à 9 ans
"Minime" de 10 à 11 ans
"Cadet" après 12 ans
Exercice 13 :
Formulez un algorithme équivalent à l’algorithme suivant :
Si Tutu > Toto + 4 OU Tata = "OK" Alors
Tutu ← Tutu + 1
Sinon
Tutu ← Tutu – 1
Finsi
Exercice 14 :
Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible !
Il lira au clavier l’heure et les minutes, et il affichera l’heure qu’il sera une minute plus
tard. Par exemple, si l'utilisateur tape 21 puis 32, l'algorithme doit répondre :
"Dans une minute, il sera 21 heure(s) 33".
NB : on suppose que l'utilisateur entre une heure valide. Pas besoin donc de la
vérifier.
Exercice 15 :
Ecrivez un algorithme qui a près avoir demandé un numéro de jour, de mois et
d'année à l'utilisateur, renvoie s'il s'agit ou non d'une date valide.
Cet exercice est certes d’un manque d’originalité affligeant, mais après tout, en
algorithmique comme ailleurs, il faut connaître ses classiques ! Et quand on a fait
cela une fois dans sa vie, on apprécie pleinement l’existence d’un type numérique
« date » dans certains langages…).
Il n'est sans doute pas inutile de rappeler rapidement que le mois de février compte
28 jours, sauf si l’année est bissextile, auquel cas il en compte 29. L’année est
bissextile si elle est divisible par quatre. Toutefois, les années divisibles par 100 ne
sont pas bissextiles, mais les années divisibles par 400 le sont. Ouf !
Un dernier petit détail : vous ne savez pas, pour l’instant, exprimer correctement en
pseudo-code l’idée qu’un nombre A est divisible par un nombre B. Aussi, vous vous
contenterez d’écrire en bons télégraphistes que A divisible par B se dit « A dp B ».
Exercice 16 :
Ecrire un algorithme qui demande un nombre de départ, et qui calcule la somme des
entiers jusqu’à ce nombre. Par exemple, si l’on entre 5, le programme doit calculer :
1 + 2 + 3 + 4 + 5 = 15
NB : on souhaite afficher uniquement le résultat, pas la décomposition du calcul.
Exercice 17 :
Ecrire un algorithme qui demande successivement 20 nombres à l’utilisateur, et qui
lui dise ensuite quel était le plus grand parmi ces 20 nombres :
Entrez le nombre numéro 1 : 12
Entrez le nombre numéro 2 : 14
etc.
Entrez le nombre numéro 20 : 6
Le plus grand de ces nombres est : 14
Modifiez ensuite l’algorithme pour que le programme affiche de surcroît en quelle
position avait été saisie ce nombre :
C’était le nombre numéro 2
Exercice 18 :
Ecrire un algorithme qui déclare et remplisse un tableau de 7 valeurs numériques en
les mettant toutes à zéro.
Exercice 19 :
Ecrire un algorithme qui déclare et remplisse un tableau contenant les six voyelles de
l’alphabet latin.
Exercice 20 :
Que produit l’algorithme suivant ?
Exercice 21 :
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
terminée, doit dire si les éléments du tableau sont tous consécutifs ou non.
Par exemple, si le tableau est :
12 13 14 15 16 17 18
9 10 11 15 16 17 18
Exercice 22 :
Ecrivez un algorithme qui permette à l’utilisateur de supprimer une valeur d’un
tableau préalablement saisi. L’utilisateur donnera l’indice de la valeur qu’il souhaite
supprimer. Attention, il ne s’agit pas de remettre une valeur à zéro, mais bel et bien
de la supprimer du tableau lui-même ! Si le tableau de départ était :
12 8 4 45 64 9 2
12 8 4 45 9 2
Exercice 22 :
Quel résultat cet algorithme produit-il ?
Exercice 23 :
Ecrire un algorithme qui supprime dans notre carnet d'adresses tous les individus
dont le mail est invalide (pour employer un critère simple, on considèrera que sont
invalides les mails ne comportant aucune arobase, ou plus d'une arobase).
Exercice 24 :
Écrivez une fonction qui renvoie la somme de cinq nombres fournis en argument.
Exercice 25 :
Ecrivez une fonction qui purge une chaîne d'un caractère, la chaîne comme le
caractère étant passés en argument. Si le caractère spécifié ne fait pas partie de la
chaîne, celle-ci devra être retournée intacte. Par exemple :