5
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) (a0)), et vous remplacerez les variables par leur valeur, puis les sous-expressions par leur valeur. Exemple : NON(ad) OU (cb) (ad) OU (cb) (210) 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 (a < 0) ET (a > -12) a > -5 a < 10 si si si afficher(« quel froid ») afficher(« bientôt le dégel ») afficher(« bientôt le printemps ») saisir(a)

Exercices sur les alternatives

Embed Size (px)

Citation preview

Page 1: Exercices sur les alternatives

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) (a0)), et vous remplacerez les variables par leur valeur, puis les sous-expressions par leur valeur.

Exemple :

NON(ad) OU (cb) (ad) OU (cb) (210) 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

(a < 0) ET (a > -12) a > -5 a < 10

sisi

si

afficher(« quel froid »)

afficher(« bientôt le dégel ») afficher(« bientôt

le printemps »)

saisir(a)

Page 2: Exercices sur les alternatives

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.

Quel temps (2) ?

(a < 0) ET (a > -12) a > -5

a < 10

sisi

si

afficher(« quel froid »)

afficher(« bientôt le dégel »)

afficher(« bientôt le printemps »)

a : entier

saisir(a)

Quel temps (3) ?

(a < 0) ET (a > -12)

a > -5

a < 10

si

si

si

afficher(« quel froid »)

afficher(« bientôt le dégel »)

afficher(« bientôt le printemps »)

a : entier

saisir(a)

Page 3: Exercices sur les alternatives

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.

Page 4: Exercices sur les alternatives

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

DécisionAge 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

Vous traduirez ensuite en un programme python l'arbre programmatique obtenu précédemment.

Exercice 9 : programme mystère

Champignonrep : booléen

si

rep == vrai

afficher (''c’est un agaric'')

si

rep == faux

saisir(rep)

saisir(rep )

si

saisir(rep )

afficher (''c’est un clavaire'')

rep == vrai

afficher (''c’est une Chanterelle ?'')

si

rep == vrai

saisir(rep)

afficher (''c’est un bolet'')

si

rep == vrai

saisir(rep)

afficher (''c’est un polypore'')

saisir(rep )

afficher (''c’est une vesse de loup'')

si

rep == vrai afficher (''c’est un pezize'')

afficher(''il a une forme en parapluie ?'')

afficher(''il a des lamelles ?'')

afficher(''il a des plis ?'')

afficher(''il a un pied ?'')

afficher(''il a une forme en buisson ?'')

afficher('' il a une forme de toupie ?'')

Page 5: Exercices sur les alternatives

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.