Vous êtes sur la page 1sur 5

ELEMENTS

TD 1
DE BASE D'UN ALGORITHME
Points abordés :
Objets algorithmiques (variable et constante) et Structures de données simples (Entier, Réel, Caractère et Booléen)
Evaluation d’expressions (arithmétique et logique), Affectation, Lecture et Ecriture

1) IDENTIFICATEUR VALIDE ?

Dire si ces noms de variables sont valides ou pas :


nombre, MAX, pow, age_etudiant, x1, 1x, _2015, max%, NomClient, Fin, Qte-Stock, Prix Achat, km/h, Price, Nombre d’étudiants

2) CHOIX D’UN IDENTIFICATEUR

Donner un nom de variable approprié pour les informations suivantes :


a) Le numéro d’une carte d’identité nationale,
b) Le nombre d’étudiants par groupe,
c) Le nombre de buts marqués dans un match de football,
d) L’âge d’un étudiant.

3) INSTRUCTION CORRECTE ?

Dire si ces instructions arithmétiques sont correctes ou pas :


1) A1 ← 3 2) B ← 3 *-5 3) C ← A1
4) A+1 ← B+1 5) C ← (B+5) * 4 6) C ← A-B*C^2
7) A ← B x C 8) A ← 3C 9) A = A + 1

4) EXPRESSIONS ARITHMETIQUES

Donner le contenu des variables X, Y et Z après l’exécution de chacune des instructions suivantes :
1) X ← 5 2) X ← 5 3) X ← 2 4) X ← 5 5) X ← 5
Y ← 3 Y ← X + 4 Y ← 3 Y ← 10 Y ← 7
Z ← X+Y X ← X + 1 X ← X + Y Z ← X + Y X ← Y
X ← 2 Y ← X - 4 Y ← X - Y Y ← X + Y Y ← X
Z ← Y-X Z ← 5 X ← X- Y X ← Z

5) PRIORITE DES OPERATEURS

Soient les objets algorithmiques suivants :


PI (constante réelle=3.14) ; a, b et c (Entier) ; d (Réel) ; ok (Booléen)
© 2016/2017 A. DAHMANE & O. BEN ROMDHANE

Donner le contenu des variables a, b, c, d et ok après l'exécution de chacune des instructions suivantes :
[01] a  6
[02] b  PI * 100
[03] c  a + b - 19
[04] c  Tronc(c/2) --Tronc renvoie la partie entière d’un nombre
[05] d  c + 3 / 2
[06] ok  Non (Faux OU Non Vrai) Et Vrai
[07] ok  -d - 5.5 = PI * 100 / -2 Ou d <0
[08] c  Carre(a)
[09] ok  Non ok Ou c  150 Et Vrai
[10] d  (c Div 5 * 2 Mod (a Mod 4)) / 2

3
Algorithmique et Structures de données
TD N°1: Les éléments de base d'un algorithme (Structures de données simples & Instructions élémentaires)
6) OPERATEURS ET FONCTIONS STANDARDS

Donner le résultat de l'évaluation de chacune des expressions suivantes :


[01] 15 MOD 2
[02] ASC('A') DIV 2
[03] 15 / 2
[04] SUCC('a')
[05] PRED('A')
[06] 'A' > 'b'
[07] 150 DIV 5 MOD 5
[08] 150 MOD 5 DIV 5
[09] CONCAT(“Info”, “ ”, “2015”)
[10] MAJUS(“Info”) + CONVCH(2015)
[11] VALEUR(“17.5”, x, e) //2 cas à traiter : x entier et x réel
[12] ”DIDO” > “youssef”
[13] “EPI-TEC” > “EPI-MA”
[14] CH  COPIER(CONCAT(“Technique *”, “EPI 2015*”), 11, 9)
[15] POSITION(MAJUS(“Epi”), CH)
[16] INSERER(CH, “TUNISIE”, LONG(CH)+1)
[17] ARRONDI(ENT(17.5) + FRAC(17.5)))
[18] TRONC(ENT(17.5) + FRAC(17.5)))

7) OPERANDE OU OPERATEUR

Compléter les affectations suivantes par une valeur d'opérande ou d'opérateur permettant d'obtenir dans
chacun des cas, la valeur voulue de Res.

Affectation Valeur de Res


Res  Arrondi(99,51) = …………………………… Vrai
Res  Long("TUNISIE") Mod 4 …………… 3 Vrai
Res  Majus("a") …………… "A" OUex 17 ≥ 0 Et 17 ≤ 20 Vrai
Res  Alea(7) …………… 7 Vrai
Res  Pred("D") = Chr(Asc("…………")+1) Vrai
Res  Copier("Informatique",1,4) …………… "info" Faux

8) VALIDE/NON VALIDE 1 ?

Soient les déclarations suivantes :


© 2015/2016 A. DAHMANE & O. BEN ROMDHANE

A:Réel, B:Caractère, C:Entier, D:Booléen


Dans la case de chacune des affectations suivantes mettre V si l’opération est valide et F sinon ?

 A  3 / ‘2’  'B'  CHR(90)

 C  3 / 2  C  TRONC(A/2) + 2

 C  C DIV 2  B  CHR(ASC(‘a’) + 2)

 C  A MOD 2  D = (B >= ‘B’)

4
Algorithmique et Structures de données I
TD N°1: Les éléments de base d'un algorithme (Structures de données simples & Instructions élémentaires)
9) VALIDE/NON VALIDE 2 ?

Soient les déclarations suivantes :


DefType
Jours_Semaine = {Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi, Dimanche}
Langues_Etrangeres = {Français, Anglais, Italien, Espagnol, Allemand}
DefVar
aujourdhui, jour: Jours_Semaine
langue: Langues_Etrangeres
res: Booleen
n: Entier

Compléter le tableau ci-dessous en mettant une croix dans la colonne valide ou dans la colonne non valide
pour chaque instruction. Justifier la réponse pour les instructions non valides.
Non
Instruction Valide Justification
Valide
Lire (jour)

langue  Anglais

AUJOURDHUI  "Lundi"

Ecrire (langue)

res  aujourdhui < jour

n  Ord (langue)

langue  Succ (Allemand)

10) EXPRESSIONS ARITHMETIQUES

Soient x, y et z trois variables numériques.


Transformer les deux expressions mathématiques suivantes en écriture algorithmiques :
1
xy  z 2 Sin( x) 2x
a) 2 b) 
( x  y )2 Cos( y )  Cos( x) y

11) EXPRESSIONS LOGIQUES

x, y, z et t sont 4 variables numériques.


© 2016/2017 A. DAHMANE & O. BEN ROMDHANE

On demande d'exprimer le prédicat correspondant à chacune des situations présentées dans les expressions
suivantes :
a) Les valeurs de x, y et z sont identiques.
b) Les valeurs de x, y et z sont identiques mais différentes de celle de t.
c) Les valeurs de x, y et z sont distinctes.
d) La valeur de x est comprise (strictement) entre les valeurs de y et de t et la valeur de y est supérieur à celle de t.
e) Parmi les valeurs de x, y et z deux valeurs au moins sont identiques.
f) Parmi les valeurs de x, y et z deux valeurs et deux seulement sont identiques.

5
Algorithmique et Structures de données I
TD N°1: Les éléments de base d'un algorithme (Structures de données simples & Instructions élémentaires)
12) TRACE D'EXECUTION

Algorithme INCONNU
0) DefVar --  Tableau de déclaration des objets
1) nb: Entier -- un nombre entier à saisir au clavier
2) u, d, c: Entier -- trois entiers à calculer
3) res: Entier -- résultat final à déterminer
4) Début
5) Ecrire ("Donner un entier")
6) Lire (nb) -–nb est supposé  [101, 999] et non multiple de 10
7) u  nb Mod 10
8) d  (nb Mod 100) Div 10
9) c  nb Div 100
10) res  u * 100 + d * 10 + c
11) Ecrire ("Résultat: ", res) //Ecrire("Résultat: ", u*100+d*10+c)
12) Fin

Travail demandé:
Remplir le tableau d’exécution de cet algorithme et deviner ce que fait dans la variable r.
nb u d c r
? ? ? ? ? (choisissez une valeur quelconque pour nb) ?

13) CALCUL D’INTENSITE DE COURANT

Ecrire un algorithme qui permet de déterminer l'intensité d'un courant alternatif donné par la formule :
i = imax sin (t + ), en fonction du temps t et de l'angle phi () lu en degré.
On donne  = 314 rad/s et imax = 10 A (Ampères).

Tableau des objets algorithmiques


Objet Identificateur Type
Décalage de phase (en degré) phi Réel
Facteur de conversion  pi Réel
Temps en s t Entier
Pulsation en rad/s w Entier
Intensité maximale en A imax Réel
Intensité instantanée en A i Réel
© 2016/2017 A. DAHMANE & O. BEN ROMDHANE

Nous traduirons les symboles  et  par w et phi.

Le contenu de l’algorithme se présente ainsi :


Algorithme Intensité
-- Partie des déclarations
Début
-- Initialisation de phi par lecture (en degré)
-- Initialisation du temps t par lecture
-- Calcul de l'intensité i
-- Affichage : Intensité instantanée = ?
Fin

6
Algorithmique et Structures de données I
TD N°1: Les éléments de base d'un algorithme (Structures de données simples & Instructions élémentaires)
14) CONVERSION_JOURS

Ecrire un algorithme permettant de convertir un nombre donné de jours en années, semaines et jours.
Exemple : 755 jours équivaut à 2 an(s), 3 semaine(s) et 4 jour(s).

15) CONVERSION_TEMPS

Écrire un algorithme intitulé TEMPS, qui saisit une durée t en secondes et la traduit en heures hh, minutes
mm et secondes ss puis affiche le résultat.
L’affichage du résultat doit être sous la forme : 2h, 5mn et 10s (pour t = 7510)

16) CONVERSION KM_MILES

Ecrire un algorithme intitulé CONVERSION_KM, qui convertit une distance mesurée en Km, à son équivalence
en miles marins, puis affiche le résultat.
On rappelle que 1 mile marin = 1,852 Km.

17) HYPOTENUSE D'UN TRIANGLE

Etablir un algorithme qui calcule la longueur de l'hypoténuse d'un triangle rectangle.


NB: Théorème de Pythagore : 𝐻𝑌𝑃𝑂2 = 𝐿𝑂𝑁𝐺 2 + 𝐿𝐴𝑅𝐺 2
LARG

HYPO

LONG

18) DATE AU FORMAT FRANCAIS

Etablir un algorithme qui permet d'afficher une date donnée d, saisie au format abrégé anglais AAMMJJ, sous
le format abrégé français JJ/MM/AAAA (d est supposée une date valide)
Exemple : pour d = 121128, l'algorithme doit afficher la même date au format suivant : 28/11/2012.

19) AUTOMOBOLISTE

Le matin, un automobiliste part avec un réservoir plein d’essence et un compteur marquant F kilomètres. A
la fin de la journée, il lui a fallu L litres pour remplir de nouveau le réservoir. Le compteur marque S kilomètres.
Ecrire un algorithme intitulé TAUX_CONSOMMATION, qui lit les valeurs F, S et L puis affiche le taux de
𝐿∗100
consommation aux cent kilomètres de la voiture (𝑡𝑎𝑢𝑥 = ).
𝑆−𝐹
© 2016/2017 A. DAHMANE & O. BEN ROMDHANE

20) ENTIER DE QUATRE CHIFFRES

Ecrire un algorithme qui permet de former puis d’afficher un entier r de quatre chiffres à partir de deux
entiers m et n. On suppose qu’ils sont strictement positifs et formés chacun de deux chiffres et ceci en
intercalant le nombre n entre les deux chiffres de m (sans utiliser les chaînes de caractères).
Exemple : pour m = 21 et n = 81, l’entier r sera égal à 2811.

7
Algorithmique et Structures de données I
TD N°1: Les éléments de base d'un algorithme (Structures de données simples & Instructions élémentaires)

Vous aimerez peut-être aussi