0% ont trouvé ce document utile (0 vote)
74 vues5 pages

TD 1 Corrige

Transféré par

Ahmed Fawzi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
74 vues5 pages

TD 1 Corrige

Transféré par

Ahmed Fawzi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 5

Université Bordeaux 2 Licence MASS/Scico 5ème semestre (2006/2007)

Algorithmes et structures de données : TD 1 Corrigé


Affectations - Algorithmes - Types
Exercice 1.1 Cocher ce qui est une affectation :

x Compteur := 3+2 ;
x Nom := "Patrick";
o i < 10;
o 20 := score;
x highscore := score;
x score := score + 10;
o a + 3 := c;
o a + b := c;
Exercice 1.2 Considérer l’algorithme suivant :

var a : integer;
var b : integer;
var temp : integer;
a := 8;
b := 3;
temp := a;
a := b;
b := temp;
writeln(a);
writeln(b);
a b temp
8
3
1. Faites tourner cet algorithme à l’aide d’un tableau :
8
3
8
2. Qu’est-ce qui est affiché à l’écran? (Rappel : writeln affiche une ligne à l’écran.)

3
8

Exercice 1.3 Boucles


1. Ecrivez un algorithme qui calcule la somme suivante et l’affiche à l’écran:
X
30
i
i=10
somme := 0;
i := 10;
tant que i<=30
somme := somme + i;
i := i + 1;
fin tant que
WriteLn(’la somme est’,somme);
somme i
0
10
10
11
2. Faites tourner votre algorithme dans un tableau. 21
12
.. ..
.. ..
420
31
3. Ecrire une fonction qui prend comme paramètre n est qui renvoie le résultat :
X
n
i
i=1

function sigme(n : integer) : integer;


début
somme := 0;
i := 1;
tant que i<=30
somme := somme + i;
i := i + 1;
fin tant que
result := somme;
fin

Exercice 1.4 Vous disposez de la fonction suivante :

function estNombrePremier(n : integer) : boolean;


Cette fonction renvoie TRUE (VRAI) si n est un nombre premier, et FALSE (FAUX) sinon.
Ecrivez un algorithme qui compte le montant de nombres premiers compris entre 1 et 20
et qui se sert de cette fonction estNombrePremier. Faites tourner votre algorithme dans un
tableaux.

var i, montant : integer;


var premier : boolean;
begin
montant := 0;

2
for i := 1 to 20 do
begin
premier := estNombrePremier(i);
if (premier = TRUE) then
begin
montant := montant + 1;
end;
end;
write(’Il y a ’);
write(montant);
writeln(’ nombre premiers entre 1 et 20.’);
end.

3
i premier montant
0
1
FALSE
2
TRUE
1
3
TRUE
2
4
FALSE
5
TRUE
3
6
FALSE
7
TRUE
4
8
FALSE
9
FALSE
10
FALSE
11
TRUE
5
12
FALSE
13
TRUE
6
14
FALSE
15
FALSE
16
FALSE
17
TRUE
7
18
FALSE
19
TRUE
8
20 4
FALSE
Exercice 1.5 Combien de bits sont dans un octet ? Combien de valeurs différentes
peut-on coder avec un octet ?

Il y a 8 bits dans un octet, donc on peut encoder 256 valeurs différentes.


Notez : Octet signé de -128 à 127 et octet non-signé de 0 à 255.
Exercice 1.6 Exprimez le chiffre 133 dans le système binaire.

133 = 1 + 4 + 128 = 1 ∗ 20 + 1 ∗ 22 + 1 ∗ 27 , alors en binaire 10000101


Exercice 1.7 Quelle valeur porte le chiffre binaire non-signé 11010110 dans le système
décimal?

11010110 en décimale : 0 ∗ 20 + 1 ∗ 21 + 1 ∗ 22 + 0 ∗ 23 + 1 ∗ 24 + 0 ∗ 25 + 1 ∗ 26 + 1 ∗ 27 = 133

Vous aimerez peut-être aussi