Vous êtes sur la page 1sur 3

Faculté d'Ingénieurs en Info et Télécoms

Algorithmique-L3G (PRO 1911)


Examen Partiel

Date: 18/12/2k6
Durée: 1h

Remarque: L'épreuve comporte 4 exercices. La clarté des démonstrations et le soin apporté à la


présentation, joueront un rôle important dans l'appréciation de la copie.

Exercice I (5 pts)
Ecrire un algorithme qui demande de l'utilisateur un nombre entier n positif ou nul
et une valeur réelle x et puis affiche la valeur de la somme:
x2 x4 x6 x 2n
S = 1− + − + ... + (−1) n
2! 4! 6! (2n)!
On peut remarquer que le terme général Un vérifie:
x2
Ui = − U i −1
2i (2i − 1)

Solution:
Algorithme ex1;
variables:
entier: n,i;
reel:x,s,t;
{
ecrire("Donner x");
lire(x);
ecrire("Donner n");
repeter
lire(n);
si (n<0) alors
ecrire("n doit etre positif ou nul");
jusqua (n>=0);
s:=0;
t:=1;
pour i:=1 jusqua (n+1) faire
{
s:=s+t;
t:=-t*x*x/(2*i*(2*i-1));
}
ecrire("La somme est ",s);
}

Exercice II (4 pts)
On rappelle que deux vecteurs V 1 ( x1 , y1 ) et V 2 ( x 2 , y 2 ) sont perpendiculaires si
V 1 ≠ 0 et V 2 ≠ 0 et V 1 .V 2 = 0 (c'est-à-dire x1x2 + y1y2 = 0).

1 de 1
Algorithmique L3G Examen Partiel - 2006/2007
____________________________________________________________________________________________________________________________________

Ecrire un algorithme qui demande à l'utilisateur de lui donner les coordonnées des
deux vecteurs puis lui affiche si les vecteurs sont perpendiculaires.

Solution:
Algorithme ex2;
variables:
reel:x1,x2,y1,y2;
{
ecrire("Donner les coordonnees du premier vecteur");
lire(x1);
lire(y1);
ecrire("Donner les coordonnees du second vecteur");
lire(x2);
lire(y2);
si ((x1<>0 ou y1<>0) et (x2<>0 ou y2<>0) et (x1*x2+y1*y2=0)) alors
ecrire ("Les deux vecteurs sont perpendiculaires");
sinon
ecrire ("Les deux vecteurs ne sont pas perpendiculaires");
}

Exercice III (7 pts)


On rappelle qu'une suite (un) est dite croissante:
∀ n ∈ N ⇒ un+1 ≥ un
Ecrire un algorithme qui demande à l'utilisateur de lui donner une suite de
nombres réels compris entre 1 et 100. Lorsque l'utilisateur introduit le nombre 0
le programme doit s'arrêter tout en affichant si la suite est croissante, décroissante
ou constante (c'est-à-dire un+1 = un ∀ n ∈ N) ou quelconque (c'est-à-dire ni
croissante ni décroissante). On suppose que l'utilisateur va introduire au moins
deux nombres.

Solution:
Algorithme ex3;
variables:
reel:a,b;
entier:c,d;
{
c:=1;
d:=1;
ecrire("Donner une suite de nombre compris entre 1 et 100, 0 pour arreter");
repeter
lire(b);
jusqua (b >0 et b<=100);
repeter
repeter
lire(a);
jusqua (a>=0 et a<=100);
si (a<b et a<>0) alors
c:=0;
2 de 3
Algorithmique L3G Examen Partiel - 2006/2007
____________________________________________________________________________________________________________________________________

si (a>b et a<> 0) alors


d:=0;
b:=a;
jusqua (a=0);
si (c=1 et d=1) alors
ecrire("Suite constante");
sinon
si (c=1) alors
ecrire("Suite strictement croissante");
sinon
si (d=1) alors
ecrire("Suite strictement decroissante");
sinon
ecrire("Suite quelconque");
}

Exercice IV (4 pts)
Ecrire un algorithme qui demande de l'utilisateur un entier n > 0 et un entier x,
puis calcule et affiche la valeur de xn sans utiliser l'opérateur de puissance.

Solution:
Algorithme ex4;
variables:
entier:n,i,x,p;
{
ecrire("Donner x");
lire(x);
ecrire("Donner n > 0");
repeter
lire(n);
si (n<0) alors
ecrire("Il faut donner un entier positif");
jusqua (n>0);
p:=1;
pour i:=1 jusqua n faire
p:=p*x;
ecrire(x,"^",n," = ",p);
}

3 de 3

Vous aimerez peut-être aussi