Aller au contenu

Programmation terminale


Zewiel

Messages recommandés

Bonjour je suis en spécialité ISN( informatique et sciences du numérique) et nous commençons la programmation basique sur algobox.

Nous avons donc des exercices que voici :

1. Que fait le programme ci-dessous, dans les quatre cas où l'on aurait défini au préalable que la variable a vaut 1, 2, 3 ou 15 ?

 

if a !=2:

print 'perdu'

elif a ==3:

print 'un instant, s.v.p.'

else :

print 'gagné'

 

2 Que font ces programmes ?

a)

a = 5

b = 2

if (a==5) & (b<2):

print '"&" signifie "et"; on peut aussi utiliser le mot "and"'

b)

a, b = 2, 4

if (a==4) or (b!=4):

print 'gagné'

elif (a==4) or (b==4):

print 'presque gagné'

c)

a = 1

if not a:

print 'gagné'

elif a:

print 'perdu'

 

3. Reprendre le programme c) avec a = 0 au lieu de a = 1. Que se passe-t-il ? Conclure !

 

Je n'ai pas trouvé grand chose , pouvez vous m'aider ? merci .

Lien vers le commentaire
Partager sur d’autres sites

Le 16/11/2016 at 22:17, Denis CAMUS a dit :

Bonjour,

Ce qui serait été utile, ce serait de les taper dans Algobox et de les faire tourner.

Malheureusement je ne peux pas les faire tourner car je ne peux pas télécharger Algobox sur mon poste de travail .

J'ai essayé de les comprendre sans logiciel de programmation mais mes connaissances en programmation ne sont pas assez bonnes pour comprendre cet algorithme.

Pouvez vous m'aider ?

 

Lien vers le commentaire
Partager sur d’autres sites

  • E-Bahut

Bonjour,

1. Que fait le programme ci-dessous, dans les quatre cas où l'on aurait défini au préalable que la variable a vaut 1, 2, 3 ou 15 ?

 

if a !=2: Si a n'est pas égal à 2

print 'perdu' dans ce cas, imprimer "perdu".

elif a ==3:   Sinon si a=3

print 'un instant, s.v.p.'

else :

print 'gagné'

 

Donc pour a=1 la deuxième ligne va imprimer "perdu"

La 3è ligne compare à 3. Si c'est bon après l'impression de "un instant", on imprime "gagné". Comme a=1, ce cas n'arrive pas.

À toi d'essayer pour a = 2 puis a = 3.

Lien vers le commentaire
Partager sur d’autres sites

Pour le premier exercice , si a est différent de 2 il écrit perdu , et si il est égal a 3 il écrit " un instant svp" , gagné c'est ça ?

Pour le deuxième algorithme je ne comprends pas ..

Pour le troisième , si a=4 ou si b différent de 2 , il écrit "gagné"  , sinon si a=4 ou b=4 il écrit " presque gagné" ?

Pour le quatrième , je ne comprends pas ce que veut dire " if not a:" ?? je suis donc bloqué

Voilà où j'en suis ! 

Lien vers le commentaire
Partager sur d’autres sites

  • E-Bahut

Pour le premier exercice, il y a le cas où a=15 aussi.

2)

a)

a = 5

b = 2

if (a==5) & (b<2):

print '"&" signifie "et"; on peut aussi utiliser le mot "and"'

Si a=5 et en même temps b <2 alors on imprime l'explication du sens de "&".

Dans le cas cité, on n'imprime rien car b=2 et non pas b<2.

___________________________________________

b)

a, b = 2, 4

if (a==4) or (b!=4):

print 'gagné'

elif (a==4) or (b==4):

print 'presque gagné'

On gagne si a =4 OU b différent de 4.

Ici, on perd à moitié car il fait ensuite le 2è test et là on accepte b=4. Donc : "presque gagné".

_________________________________________________

c)

a = 1

if not a:

print 'gagné'

elif a:

print 'perdu'

En logique, 1 représente "vrai" et 0 représente "faux".

a=1 donc a est vrai.

not est la négation : not vrai = faux et not faux = vrai.

Ici, "if not a" se traduit par "si a est faux" ou "si a = 0"

L'algo devrait imprimer "perdu".

 

Lien vers le commentaire
Partager sur d’autres sites

Merci pour vos réponses ! J'aurai besoin que vous me réexpliquiez le dernier algorithme , je ne comprends pas le déroulement de l'algorithme expliquez moi ligne par ligne svp .

Pour premier algorithme quand je change de variable a , est ce que je garde la même valeur ( initialement 3) pour la 3ème ligne ?? 

 

Lien vers le commentaire
Partager sur d’autres sites

  • E-Bahut
il y a 14 minutes, Zewiel a dit :

Pour premier algorithme quand je change de variable a , est ce que je garde la même valeur ( initialement 3) pour la 3ème ligne ?? 

Oui.

c)

a = 1 === > A prend la valeur"1", mais aussi a est "vrai".

if not a:=== > Si le contraire de a est vrai ( mais ici, ça donne faux car a=1 et not a = 0)

print 'gagné'=== > Si le contraire de a était vrai, on exécuterait cette ligne.

elif a: === > Dans le cas contraire, si a est vrai, on imprime "perdu"

print 'perdu'

C'est plus compliqué à comprendre, car il ne s'agit plus de variables numériques, mais de variables booléennes qui ne peuvent prendre que deux valeurs : vrai ou faux.

S'il y a "if a", il faut interpréter ça comme "si a est vrai"

Avec "if not a", c'est "si a n'est pas vrai". (donc faux).

 

Tu parles au début d'Algobox, mais ça n'y ressemble pas. Ce n'est pas la même syntaxe.

 

Citation

3. Reprendre le programme c) avec a = 0 au lieu de a = 1. Que se passe-t-il ? Conclure !

Je te laisse essayer de démêler ce dernier algorithme lorsqu'on met a=0.

 

Lien vers le commentaire
Partager sur d’autres sites

  • E-Bahut

Ça n'a rien à voir avec Algobox ton truc. C'est du Python non ?

 

Sauf erreur :

 

a=1, a=3, a=15

if a !=2:

print 'perdu'

elif a ==3:

print 'un instant, s.v.p.'

else :

print 'gagné'

a n'est pas égal à 2 donc on imprime "perdu" et on passe à la fin du programme après le "gagné"

a=2
 

Si a n'est pas égal = 2, on imprime "perdu" et on passe à la fin du programme après le "gagné"

Ici, avec a=2 le premier "if" est sauté et on teste le "elif" qui suit. Comme a n'est pas égal à 3 on effectue alors le "else" qui fait imprimer "gagné" puis le programme se poursuit.

 

Une bonne explication ici :

http://fsincere.free.fr/isn/python/cours_python_ch2.php

 

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...
spam filtering
spam filtering