Exercice 1 :
Valeur de vérité des expressions suivantes :
Variables a, b, c  en entier
p, q en booléen
Début :
a<- 3 ; b <- 2 ; c <- -1 ;

p <- ((a>0) ou (b < 2)) ou (c > 0)
q <- (a > 0) ou ((b <2) et (c > 0))
r <- (a > 0) et ((b <3) ou (c > 0))
s <- (a > 0) ou ((b <=2) et (c > 0))
t <- ( (a > 0) ou (b <3)) et (c > 0)
Fin

Donner les valeurs de vérité de p, q, r, s, t.

> a:=3:b:=2:c:=-1:

> p:=((a>0)or(b<2))or(c>0);
q:=(a>0) or ((b<2) and (c>0));
r:=(a>0) and ((b<3) or (c>0));
s:=(a>0) or ((b<=2) and (c>0));
t:=((a>0) or (b<3)) and (c>0);
[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

Exercice 2 :

Soit deux nombres entiers quelconques contenus respectivement dans les variables a et b. Ecrire un programme MAPLE permettant de déterminer le plus petit de ces deux nombres et de l'afficher. Les valeurs de a et b seront introduites ici par affectation.

> restart;
a:=34;b:=45;
if a<b then
print("le minimal est de", a);
else
print("le minimal est de ",b);
fi;

>

[Maple Math]

[Maple Math]

[Maple Math]

Une version équivalente de ce programme est:

> restart;
a:=34;b:=45;
if a<b then
mini:=a:
else
mini:=b:
fi:
print("le minimal est de ",mini);

[Maple Math]

[Maple Math]

[Maple Math]

Version équivalente avec le si immédiat:

> restart;
a:=34;b:=45;
mini:=`if`(a<b,a,b);
print("le minimal est de ",mini);

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

Exercice 3 :

Résoudre l'équation du premier degré: a*x+b=0.
> On saisiera au clavier les valeurs des coefficients a et b et on fera afficher les différentes solutions possibles pour x selon les valeurs de a et b.
> On demande de:
> - écrire l'algorithme utilisé
> - écrire un programmes MAPLE correspondant à cet algorithme

> restart;
a:=readstat("entrez le premier nombre: ");
b:=readstat("entrez le deuxième nombre: ");
if a=0 and b=0 then
print("toute les valeurs possibles sont solution");
elif a=0 then
print("il n'existe pas de solution!");
else
print("La solution est une valeur de x égale à", -b/a);
fi;

entrez le premier nombre: 12;

[Maple Math]

entrez le deuxième nombre: 3;

[Maple Math]

[Maple Math]


Exercice 4 :

Ecrire l'algorithme permettant de lire 3 valeurs a, b, c et de les afficher par ordre croissant.

> restart;
a:=readstat("veuillez entrer a: "):
b:=readstat("veuillez entrer b: "):
c:=readstat("veuillez entrer c: "):
if a<b then
if b<c then
print(`a < b < c`);
elif a<c then
print(`a < c < b `);
else
print(`c < a < b`);
fi;
else #b<a
if c<b then
print(`c < b < a`);
elif a<c then
print(`b < a < c`);
else
print(`b < c < a`);
fi;
fi;

veuillez entrer a: 23;

veuillez entrer b: 41;

veuillez entrer c: 12;

[Maple Math]

>

Ecrire l'algorithme permettant d'afficher la valeur de f(x), sachant que f est définie par:
Pour tout x<0, f(x)=x
Pour x=0, f(x)=1
Pour tout x>0, f(x)=-x

> restart;
x:=readstat("veuillez entrer x ");
if x<0 then
resultat:=x;
else
if x=0 then
resultat:=1;
else
resultat:=-x;
fi;
fi;
print("f(".x.") sera égal à ",resultat);

>

[Maple Math]

[Maple Math]

>

Exercice 5 :
Variable Entier A, B, C
Début
A<- 5

Si ( ( A >= 5) et (B <6) alors
C <- A –B
Si (B>0) alors
A <- B
FinSi
FinSi

Si ((A>3) et (B>0)) Alors
C <- A + B
Si (B < 6) alors
A <- B + C
FinSi
FinSi
Fin

Trouver les Valeurs finales de A, B, C si
1)B <- 6 ;
2)B <- 3 ;
3)B <- 4.

> restart;A:=5;B:=readstat("valeur de B? ");
if (A>=5 and B<6) then
C:=A-B;
if B>0 then
A:=B;
fi;
fi;
if (A>3 and B>0) then
C:=A+B;
if(B<6) then
A:=B+C;
fi;
fi;
A;B;C;

[Maple Math]

valeur de B? 6;

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

>

Si B<-6, alors A:=5 B:=6 et C:=11

Si B<-3 alors A:=3 B:=3 C:=2

Si B<-4 alors A:=12 B:=4 C:=8

Exercice 6 :
Valeur de vérité des expressions suivantes :
Variables p, q, r, t en booléen
a, b,c en entier
a <- 2 ; b <- 4 ; c <- -1;
p <- (a > b) ; q <- ((b * c) > a); r <- (non (p) et q); t <- (non(p) ou q) ;

Traduire en Maple les fonctions Excel suivantes (vous donnerez le résultat en fonction des évaluations précédentes).
ET(p ;q ;r ;t) ;
OU(p ;q ;r ;t) ;
IF(OU (ET (p ; q) ; r) ; a ; b)

Note : l’emplacement des cellules a été remplacé par le nom des variables.

On peux déjà traduire les fonctions excel en algorithmique:

p et q et r et t

p ou q ou r ou t

sii( (p et q) ou r, a, b)

> restart;a:=2;b:=4;c:=-1;p:=evalb(a>b);q:=evalb( (b*c)>a);r:= not p and q;t:=not p or q;

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

Les fonctions seront donc:

> p and q and r and t;

[Maple Math]

> p or q or r or t;

[Maple Math]

> `if`((p and q)or r,a,b);

[Maple Math]

Exercice 7 :
Dans une entreprise, le calcul des jours de congés payés s'effectue de la manière suivante :
Si une personne est entrée dans l'entreprise depuis moins d'un an, elle a droit à deux jours de congés par mois de présence, sinon à 28 jours au moins. Si une personne est un cadre et s'il est âgé d'au moins 35 ans et si son ancienneté est supérieure à 3 ans, il lui est accordé 2 jours supplémentaires. Si elle est âgée d'au moins 45 ans et si son ancienneté est supérieure à 5 ans, il lui est accordé 4 jours supplémentaires, en plus des 2 accordés pour plus de 35 ans. Écrire un algorithme qui calcule le nombre de jours de congés à partir de l'âge, l'ancienneté (saisie en mois) et l'appartenance au collège cadre d'un employé.

On a besoin de trois variables: l'age de l'employé, son ancienneté et son appartenance au collège cadre. Cette dernière ne peut être que vrai ou fausse, ce sera donc un booléen.

> restart;

> age:=readstat("age? ");
anciennete:=readstat("ancienneté? (en mois) ");
cadre:=readstat("cadre? (true/false) ");

age? 48;

[Maple Math]

ancienneté? (en mois) 68;

[Maple Math]

cadre? (true/false) true;

[Maple Math]

Maintenant que nous avons nos trois variables, nous effectuons le calcul selon les critères énoncés:

Nous utiliserons un variable temporaire nommée tmp conservant le nombre de jours accumulés.

Si une personne est entrée dans l'entreprise depuis moins d'un an, elle a droit à deux jours de congés par mois de présence, sinon à 28 jours au moins

> tmp:=`if`(anciennete>=12,28,anciennete*2);

[Maple Math]

Si une personne est un cadre et s'il est âgé d'au moins 35 ans et si son ancienneté est supérieure à 3 ans, il lui est accordé 2 jours supplémentaires.

> if cadre and age>35 and anciennete>36 then
tmp:=tmp+2;
fi;

[Maple Math]

>

. Si elle est âgée d'au moins 45 ans et si son ancienneté est supérieure à 5 ans, il lui est accordé 4 jours supplémentaires, en plus des 2 accordés pour plus de 35 ans.

> if age>45 and anciennete>60 then
tmp:=tmp+4;
fi;

[Maple Math]

>

>