Vous êtes sur la page 1sur 4

Etablissement : ISET-Charguia Département : Technologies de l’Informatique

Matière : Algorithmique et Prog. Structurée1 Année Universitaire : 2020 - 2021


Niveau : 1ère année Tronc Commun

TD n°2 : Les structures conditionnelles et itératives

Partie 1 : Les structures conditionnelles


EXERCICE 1:
Quelles sont les valeurs des variables a, b, c, d après exécution de l’algorithme pour les valeurs initiales
suivantes : a=5, b=3, c=4, d=6 / a=-1, b=2, c=2, d=2 / a=-1, b=-2, c=-2, d=3
Algorithme Exo1
Variable
a, b, c, d : entier
Début
Ecrire (« SVP donnez 4 entiers : »)
Lire (a)
Lire (b)
Lire (c)
Lire (d)
Si ((a>0 OU b>c) ET (d>a OU d<5)) alors
a0
db+c
Sinon
ca–b
Si (c >0) alors
d -d
Fin si
b 0
Fin si
Ecrire (a, « »,b, « »,c, « »,d)
Fin
EXERCICE 2:
Une compagnie d'assurance automobile propose à ses clients trois familles de tarifs identifiables par une
couleur, du moins au plus onéreux : tarifs vert, orange et rouge. Le tarif dépend 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 bénéficie 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à.

Travaux Dirigés N° 2 1/4


Ecrire un algorithme permettant de saisir toutes les données nécessaires pour attribuer la couleur adéquate à
un client, selon le principe décrit ci-dessus.
NB : les couleurs sont représentées par des caractères comme suit : ‘V’ pour vert, ‘O’ pour Orange et ‘R’
pour rouge.

EXERCICE 3:
Écrire un algorithme qui permet de saisir un entier N positif et formé de quatre chiffres et de l’afficher avec
la mention « valable » s’il vérifie la condition suivante : le chiffre des milliers, qui ne doit pas être nul, est
suivi par ses multiples. Sinon, on l’affiche avec la mention « non valable ».
Exemples :
N= 2868  valable (car 8 et 6 sont multiples de 2)
N= 3669  valable (car 6 et 9 sont multiples de 3)
N= 1541  valable (car 5, 4 et 1 sont multiples de 1)
N= 3934  Non valable (car 4 n’est pas multiple de 3)
EXERCICE 4:

Écrire un algorithme qui pour un temps saisi (représenté sous la forme, heure, minute, seconde) retourne le
temps (sous la même représentation) après avoir ajouté une seconde.

Exemple : Temps 14 : 28 : 59  14 : 29 : 00
EXERCICE 5:
Écrire un algorithme qui lit une date (jour, mois et année) et indique si la date est valide ou non sachant que :
 Une année contient 12 mois
 Les mois 1, 3, 5, 7, 8, 10 et 12 contiennent 31 jours
 Les mois 4, 6, 9 et 11 contiennent 30 jours
 Le mois 2 contient 29 jours si l’année est bissextile et 28 jours si l’année n’est pas bissextile
 Une année est bissextile si elle est divisible par 4 sauf dans le cas où elle est divisible par 100 et non
divisible par 400.

Partie 2 : Les structures itératives

EXERCICE 1 :
Écrire un algorithme qui calcule et affiche le résultat de ab par multiplication successives, a est un réel et b
un entier.
Exemples :
25=2*2*2*2*2=32
2-3=1/2*1/2*1/2=1/8

EXERCICE 2:
1. Écrire un algorithme qui permet de vérifier si un nombre est cubique ou non,

Travaux Dirigés N° 2 2/4


2. Écrire un algorithme qui permet d’afficher tous les nombres cubiques entre 150 et 410.

NB : Un nombre cubique est un entier qui est égal à la somme des cubes de ses chiffres.
Exemple :
153=13+53+33

EXERCICE 3:
Écrire un algorithme qui détermine tous les nombres premiers inférieurs ou égaux à une valeur N donnée,
avec N>=1.
NB : Un nombre premier n’est divisible que par 1 et par lui-même.

EXERCICE 4:
En mathématique, un nombre automorphe est un nombre entier dont son carré se termine par ce même
nombre. Écrire un algorithme, qui lit un entier N et qui vérifie si N est automorphe ou pas.
Exemples :
52= 25  le carré de 5 est 25 se termine par 5
762= 5776  le carré de 76 est 5776 se termine par 76
8906252= 793212890625  le carré de 8906252 est 793212890625 se termine par 890625

EXERCICE 5:
En mathématiques, un nombre heureux est un nombre entier qui, lorsqu'on ajoute les carrés de chacun de
ses chiffres, puis les carrés des chiffres du résultat obtenu et ainsi de suite jusqu'à l'obtention d'un nombre
à un seul chiffre, donne 1 pour résultat.
À l'opposé, les nombres qui ne sont pas heureux sont appelés nombres malheureux.
Exemples :
Soit l’entier 7,
72 = 49
42 + 92 = 97
92 + 72 = 130
12 + 32 + 02 = 10
12 + 02 = 1  Donc 7 est un nombre heureux.
Soit l’entier 24,
22+42=20
22+02=4 (4 est un entier à un seul chiffre et est différent de 1)  Donc 24 est un nombre malheureux
Travail demandé :
Ecrire un algorithme qui :
- Saisit un entier n (2<= n <=100)
- Vérifie si c’est un nombre heureux ou malheureux.

EXERCICE 6: La multiplication égyptienne


Les égyptiens de l’antiquité savaient effectuer uniquement les opérations de calcul suivantes :

Travaux Dirigés N° 2 3/4


 Additionner deux entiers strictement positifs,
 Multiplier par 1 et 2 tout entier strictement positif,
 Diviser par 2 un entier strictement positif pair.
Pour calculer la multiplication de m par n (m × n) avec la méthode égyptienne : on divise par deux (division
euclidienne) m et on double n, jusqu'à ce que m atteint la valeur 1.
m = 2p ⇒ m× n = (2p) × n = p × 2n
m = 2p+1 ⇒ m× n = (2p + 1) × n = p × 2n + n
Voici un exemple qui multiplie 14 par 13 en utilisant uniquement ses opérations :
14 × 13 = (14/2) × (13 × 2) = 7 × 26
= (7 -1) × 26 + 26 = 6 × 26 + 26
= (6/2) × (26 × 2) + 26 = 3 × 52 + 26
= (3 - 1) × 52 +52 + 26 = 2 × 52 + 52 + 26 Ainsi la démarche à appliquer
= (2/2) × (52 × 2) = 1 × 104 + 52 + 26 sera la suivante :
= 104 + 52 + 26 = 182
M N Commentaire Produit
14 13 Diviser m par 2 et multiplier n par 2 0
7 26 Cumuler la valeur de n dans le résultat, diviser m par 2 et multiplier n par 2 0+26
3 52 Cumuler la valeur de n dans le résultat, diviser m par 2 et multiplier n par 2 0+26+52
1 104 Cumuler la valeur de n dans le résultat 0+26+52+104

Travail demandé :
Écrire un algorithme qui lit deux entiers strictement positifs A et B, calcule et affiche leur produit suivant
la méthode de multiplication égyptienne.

Travaux Dirigés N° 2 4/4

Vous aimerez peut-être aussi