Fiche d`exercices n°2 : l`alternative

publicité
Fiche d'exercices n°2 : l'alternative
Exercice 1 : expressions logiques
On considère 6 variables : a,b,c,d qui contiendront des entiers, et X et Y des booléens. Evaluer les
expressions logiques suivantes avec les valeurs contenues dans les variables suivantes :
(a,b,c,d) = (2,3,5,10) ET (X,Y) =(Vrai,Faux)
Pour ce faire, avant de donner la réponse vous modifierez chaque expression contenant des NON
par une expression « positive » (exemple : NON(a==0)  (a0)), et vous remplacerez les variables
par leur valeur, puis les sous-expressions par leur valeur.
Exemple :
NON(ad) OU (cb) (ad) OU (cb) (210) OU (5<3) Vrai OU Faux : l'expression
retourne la valeur Vrai.
1. (a < b) ET (a < c)
2. NON ((a < b) ET (a < c))
3. NON (a < b) ET (a < c)
4. (a < c) ET (c == d / 2)
5. (d / a == c) == Y
6. (d / c == b) == Y
7. (d / c == b) == X
8. (a < b) ET (d < c)
9. (a < b) ET (d < c) == X
Exercice 2 :
Dites ce qu'affiche chacun des arbres programmatiques, pour les différentes valeurs de a : -15 ; -3 ;
9 ; 12. Vous remarquerez que les conditions sont les mêmes, mais ne sont pas toutes au même
niveau de séquence.
Quel temps (1)?
a : entier
saisir(a)
si
si
(a < 0) ET (a > -12)
a > -5
afficher(« quel froid »)
afficher(« bientôt
le dégel »)
si
a < 10
afficher(« bientôt
le printemps »)
Quel temps (2) ?
a : entier
saisir(a)
si
si
(a < 0) ET (a > -12)
afficher(« bientôt
le dégel »)
a > -5
afficher(« quel froid »)
si
a < 10
afficher(« bientôt
le printemps »)
Quel temps (3) ?
a : entier
si
saisir(a)
(a < 0) ET (a > -12)
afficher(« quel froid »)
a > -5
si
afficher(« bientôt
le dégel »)
a < 10
si
afficher(« bientôt
le printemps »)
Vous donnerez pour chaque arbre programmatique l'expression qui amène à la réalisation de chaque
branche.
Exercice 3
1. Ecrire l'arbre programmatique qui permet de saisir 2 nombres et qui affiche le plus grand des
2.
2. Compléter cet arbre en prenant en compte le cas de l'égalité (afficher un autre message s'ils
sont égaux).
3. Traduire l'arbre programmatique obtenu à la question 2. en un programme python sur
machine directement.
Exercice 4 : état de l'eau
Ecrire l'arbre programmatique permettant de lire la valeur de la température de l’eau et d’afficher
son état :
• GLACE si la température est inférieure à 0,
• EAU si la température est strictement supérieure à 0 et inférieure à 100,
• VAPEUR si la température est supérieure à 100.
Vous traduirez ensuite cet arbre programmatique en un programme python sur machine directement.
Exercice 5
1. Ecrire un arbre programmatique qui demande un nombre puis qui affiche “pair” si ce
nombre est pair et “impair” dans le cas contraire.
2. Ecrire un arbre programmatique qui permet de simuler un jeu. Les règles de ce jeu sont très
simples : deux joueurs A et B se cachent la main droite derrière le dos. Chacun choisit de
tendre un certain nombre de doigts (de 0 à 5), toujours derrière le dos. Les deux joueurs se
montrent la main droite en même temps. Si la somme des nombres de doigts montrés est
paire, le joueur A a gagné, sinon c’est B. Après avoir saisi le nombre de doigts choisi pour
chaque joueur, écrire l'arbre programmatique permettant de réaliser le scénario suivant et de
donner le vainqueur.
3. Vous traduirez l'arbre programmatique de la question 2. en un programme python.
Exercice 6
1. Ecrire un arbre programmatique qui permet de dire si une année est bissextile ou pas.
Rappel: Une année est bissextile si elle est multiple de 4 sans être multiple de 100 à moins
qu’elle soit multiple de 400. L'arbre programmatique permettra de saisir une année et
d'afficher si elle est bissextile ou non.
2. Ecrire un arbre programmatique qui permet de dire si une date (jour, mois, année) est valide.
Si elle ne l'est pas dire pourquoi (29 février d'une année non bissextile ou 31 d'un mois en 30
jour, …). Pour réaliser ceci il faudra énoncer tous les cas d'une date valide, tous les autres
cas correspondront alors à une date non valide. Le jour, le mois seront des entiers et l'année
sera donnée également en entier (on saisira 2002 en non 02).
3. Traduire ensuite l'arbre programmatique 2. en un programme python.
Exercice 7
Sachant que pour obtenir le module d'algorithmique, il faut obtenir plus de 10, proposez un arbre
program matique qui détermine si un étudiant est reçu ou pas à partir de (= saisie des valeurs) :
•
la note de contrôle continu,
•
la note d'examen,
•
le nombre d'absences.
La note finale est composée de :
•
1/3 de la note du contrôle continu qui devient nulle si l'étudiant a 6 absences (ou plus) ,
•
2/3 de la note d'examen.
Vous pourrez traduire cet arbre programmatique en langage python.
Exercice 8
Ecrire l'arbre programmatique qui permet d'aider une compagnie d'assurance à prendre une décision
concernant les demandes d'affiliation en se basant sur les critères suivants :
Critère
Age
Bonne santé
Accident
Contrat A
>30
Oui
Non
Contrat B
<=30
Oui
Non
>30
Oui
Oui
Contrat C
<=30
Oui
Oui
Contrat refusé
-
Non
Oui
Expertise demandée
-
Non
Non
Décision
Vous traduirez ensuite en un programme python l'arbre programmatique obtenu précédemment.
Exercice 9 : programme mystère
Champignon
rep : booléen
→
afficher(''il a une forme
en parapluie ?'')
saisir(rep)
si
→
rep == vrai
→
afficher(''il a des
lamelles ?'')
saisir(rep )
si
afficher(''il a une
forme en buisson ?'')
si
saisir(rep )
afficher (''c’est un
clavaire'')
rep == vrai
rep == faux
afficher (''c’est une
Chanterelle ?'')
afficher(''il a
des plis ?'')
saisir(rep)
rep == vrai
afficher(''il a un
pied ?'')
→
afficher('' il a une
forme de toupie ?'')
afficher (''c’est
un agaric'')
saisir(rep)
rep == vrai
→
si
saisir(rep )
rep == vrai
si
→
afficher (''c’est
un pezize'')
afficher (''c’est une
vesse de loup'')
si
afficher (''c’est un bolet'')
afficher (''c’est un polypore'')
Quels sont les champignons correspondant à la suite de réponses suivantes (à chaque ''saisir(rep)'',
on donne une réponse ''vrai'' ou ''faux'' ce qui permet de choisir quelle nouvelle branche choisir) :
1. vrai, vrai, vrai
2. vrai, vrai, faux, faux
3. faux, faux, vrai
4. faux, faux, faux
Exercice 10
Ecrire un arbre programmatique qui permet de saisir 2 entiers, puis d'afficher si leur produit est
négatif, positif ou nul. Vous pourrez traduire cet arbre programmatique en un programme python.
Téléchargement