Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

programmation

Posté par
Yahiko
16-11-22 à 14:39

Bonjour,

J'aimerai avoir de l'aide concernant cet exercice (structures conditionnelles)
Voici l'énoncé : Rédiger un programme qui constitue en entrée trois nombres entiers mis à disposition  par l'utilisateur, ensuite réaliser la phrase suivante : le plus grand nombre des trois nombres est : ...

Voici le programme que j'ai essayé de réaliser, veuillez m'aider s'il vous plaît :

premier_nombre_entier=int(input('Entrez le premier nombre entier :'))
deuxième_nombre_entier=int(input('Entrez le deuxième nombre entier :'))
troisième_nombre_entier=int(input('Entrez le troisième nombre entier :'))
if premier_nombre_entier>=100:
   print('Le premier nombre est le plus grand nombre')
else:
  print('le premier nombre est pas le plus grand nombre')
if deuxième_nombre_entier>=100:
   print('Le deuxième nombre est le plus grand nombre')
else:
  print('le deuxième nombre est pas le plus grand nombre')

Merci !

Posté par
Leile
re : programmation 16-11-22 à 14:46

bonjour,

pourquoi compares -tu à 100 ? je ne vois rien dans ton énoncé qui parle d'une limite à 100 ...

Posté par
Yahiko
re : programmation 16-11-22 à 14:49

J'ai choisi un nombre au hasard car je ne savais pas comment déterminer le plus grand nombre.

Posté par
Leile
re : programmation 16-11-22 à 14:54

on va essayer de réflechir sans python, OK ?

je prends trois cartes.  tu dois dire quelle est la plus forte. Je suis d'accord pour te les montrer, mais seulement une à une.

comment ça va se passer ?
tu vas d'abord voir la 1ère.
ensuite tu vas me demander la 2ème.
et là, qu'est ce que tu fais ?  

Posté par
Yahiko
re : programmation 16-11-22 à 14:55

je demande la 3ème carte

Posté par
Leile
re : programmation 16-11-22 à 14:58

non, pas tout de suite...
(tu pourrais faire ça, mais ensuite tu vas devoir les comparer toutes les trois.. et si plus tard, je te dis que j'en ai pris 10, ça va être compliqué).
tu vas d'abord comparer les deux cartes que tu as vues, et tu ne gardes que la plus forte.   OK ?
puis je te montre la 3ème carte. Qu'est  ce que tu fais ?

Posté par
Yahiko
re : programmation 16-11-22 à 15:00

Je compare les 2 cartes, je prends la plus forte.
Je demande la 3ème carte puis je compare avec celle que j'ai retenu pour pouvoir comparer avec la 3ème carte.

Posté par
Leile
re : programmation 16-11-22 à 15:05

c'est ça !
on peut écrire ça en langage naturel :

si    deuxième >  premiere  alors
                      plusforte = deuxième
  sinon     plusforte = première.
Si troisième > plus forte   alors
                plusforte = troisième.

afficher ("la carte la plus forte vaut : " plusforte )

tu vois ?

sais tu à présent  adapter à ton exercice?

Posté par
Yahiko
re : programmation 16-11-22 à 15:15

premier_nombre_entier=int(input('Entrez le premier nombre entier :'))
deuxième_nombre_entier=int(input('Entrez le deuxième nombre entier :'))
troisième_nombre_entier=int(input('Entrez le troisième nombre entier :'))
if deuxième_nombre_entier>=premier_nombre_entier:
   print('deuxième_nombre_entier= le plus grand nombre')
else:
  print('premier_nombre_entier= le plus grand nombre')

Posté par
Leile
re : programmation 16-11-22 à 15:22


premier_nombre_entier=int(input('Entrez le premier nombre entier :'))
deuxième_nombre_entier=int(input('Entrez le deuxième nombre entier :'))
troisième_nombre_entier=int(input('Entrez le troisième nombre entier :'))
if deuxième_nombre_entier>=premier_nombre_entier:


jusque là, c'est OK. Mais tu ne peux encore rien afficher à ce stade, tu n'as comparé que deux nombres..
tu as dit toi même "je compare et je garde la plus forte"
et j'avais traduit :
si    deuxième >  premiere  alors
                      plusforte = deuxième
  sinon     plusforte = première
.

en vert, je garde la plus forte.

vas y corrige ton programme.

Posté par
Yahiko
re : programmation 16-11-22 à 15:28

je ne sais pas où je dois écrire  "  plusforte = deuxième
  sinon     plusforte = première ". J'écris cela dans print (...) ?

Posté par
Leile
re : programmation 16-11-22 à 15:33

non pas dans le print.
le print, c'est "afficher" .

premier_nombre_entier=int(input('Entrez le premier nombre entier :'))
deuxième_nombre_entier=int(input('Entrez le deuxième nombre entier :'))
troisième_nombre_entier=int(input('Entrez le troisième nombre entier :'))
if deuxième_nombre_entier>=premier_nombre_entier:
                 plusgrand  =  deuxième_nombre_entier
else :
                plusgrand = premier_nombre_entier


tu vois ?
à présent, compare avec le 3ème nombre, tout comme je l'ai fait avec les cartes.
Si troisième > plus forte   alors
                plusforte = troisième.

à toi !

Posté par
Leile
re : programmation 16-11-22 à 15:45

je vais devoir partir.
Tu peux poster ta réponse, je regarde dès que possible.

Posté par
Yahiko
re : programmation 16-11-22 à 16:02

premier_nombre_entier=int(input('Entrez le premier nombre entier :'))
deuxième_nombre_entier=int(input('Entrez le deuxième nombre entier :'))
troisième_nombre_entier=int(input('Entrez le troisième nombre entier :'))
if deuxième_nombre_entier>=premier_nombre_entier:
  plusgrand=deuxième_nombre_entier
else:
  plusgrand =premier_nombre_entier
if
troisième_nombre_entier>=premier_nombre_entier:
  plusgrand=troisième_nombre_entier
else:
  plusgrand =deuxième_nombre_entier

Posté par
Leile
re : programmation 16-11-22 à 16:12

if
troisième_nombre_entier>=premier_nombre_entier:
  plusgrand=troisième_nombre_entier
else:
  plusgrand =deuxième_nombre_entier


pourquoi compares tu le troisieme et le premier ?
on n'a pas dit ça.
tu as dit "je compare la plus forte avec la troisième".

C'est si simple de suivre exactement le schéma que tu as défini avec les 3 cartes... Pourquoi compliquer ?

Si troisième > plus forte   alors
                plusforte = troisième.


tu y es presque.
Quand tu auras fini, je te montrerai une autre façon de faire, avec des if imbriqués.

Posté par
Yahiko
re : programmation 16-11-22 à 16:43

premier_nombre_entier=int(input('Entrez le premier nombre entier :'))
deuxième_nombre_entier=int(input('Entrez le deuxième nombre entier :'))
troisième_nombre_entier=int(input('Entrez le troisième nombre entier :'))
if deuxième_nombre_entier>=premier_nombre_entier:
  plusgrand=deuxième_nombre_entier
else:
  plusgrand =premier_nombre_entier
if
troisième_nombre_entier>=deuxième_nombre_entier:
  plusgrand=troisième_nombre_entier
else:
  plusgrand =deuxième_nombre_entier

Posté par
Leile
re : programmation 16-11-22 à 17:49

Yahiko, je crois que tu ne lis pas bien ce que je t'écris.

if deuxième_nombre_entier>=premier_nombre_entier:
  plusgrand=deuxième_nombre_entier
else:
  plusgrand =premier_nombre_entier

à ce stade, le plus grand est rangé dans "plusgrand".

ensuite tu regardes le troisième nombre et tu dois le comparer au plus grand, pas au 1er ni au 2ème, mais au plus grand.

donc il faut écrire
if troisième_nombre_entier>=plusgrand :
       plusgrand=troisième_nombre_entier

et voilà.
enfin, tu affiches plusgrand.


ca donne

premier_nombre_entier=int(input('Entrez le premier nombre entier :'))
deuxième_nombre_entier=int(input('Entrez le deuxième nombre entier :'))
troisième_nombre_entier=int(input('Entrez le troisième nombre entier :'))

if deuxième_nombre_entier>=premier_nombre_entier:
               plusgrand=deuxième_nombre_entier
else:
               plusgrand =premier_nombre_entier

if troisième_nombre_entier>=plusgrand :
             plusgrand=troisième_nombre_entier

print('Le  plus grand nombre des trois est : ' plusgrand)


OK ?

Posté par
Leile
re : programmation 16-11-22 à 18:01

pour une solution simple aussi avec des if imbriqués :
if premier   >  deuxième :
               if  troisième >  premier :
                        print ('le plus grand est : ' troisième)
               else :
                        print ('le plus grand est : ' premier)
else :
                 if troisième > deuxième :
                         print ('le plus grand est : ' troisième)
                 else :
                         print ('le plus grand est : ' deuxième)

Posté par
Yahiko
re : programmation 16-11-22 à 18:07

Lorsque j'ai écrit ceci dans la fenêtre pour programmer, on me dit que la ligne 13 est incorrecte

Posté par
Yahiko
re : programmation 16-11-22 à 18:09

 programmation

Posté par
Leile
re : programmation 16-11-22 à 18:12

normal, tu as mis un espace entre plus et grand..  

Posté par
Yahiko
re : programmation 16-11-22 à 18:15

 programmation
non toujours pas ça me dit que la ligne 13 est erronée

Posté par
Leile
re : programmation 16-11-22 à 18:21

print('Le  plus grand nombre des trois est : ' , plusgrand)

il te manque une virgule  après le '

Posté par
ty59847
re : programmation 16-11-22 à 18:22

Tu peux visualiser ça avec 3 cartes et un post-it.
Sur le post-it, on écrit le mot 'PlusGrand'

On prend 2 cartes, on les compare.  (on sait comparer 2 éléments, avec l'instruction if a>b  mais on est limité à 2 éléments). Quand on compare les 2 premières cartes, on colle le post-it sur celle qui est la plus forte.

Ca correspond à ces instructions :

if deuxième_nombre_entier>=premier_nombre_entier:
               plusgrand=deuxième_nombre_entier
else:
               plusgrand =premier_nombre_entier

Traduction :
Si la 2ème carte est la plus forte :
      Je colle le post-it sur la 2ème carte
sinon
      Je le colle sur la 1ère carte.


Là, on a collé le post-it sur une carte. Et l'autre carte, celle qui n'a pas le post-it, on peut la jeter.
Pour la suite, on ne parle plus de première-carte ni de deuxième-carte, mais uniquement de la-carte-qui-a-le-post-it.

Ensuite, on retourne la 3ème carte.
Et on dit : Je compare cette 3ème carte avec celle qui a le post-it :
if troisième_nombre_entier>=plusgrand :

Et si besoin, je déplace le post-it, pour le coller sur la 3ème carte.
if troisième_nombre_entier>=plusgrand :
    plusgrand=troisième_nombre_entier


Informatiquement parlant, le parallèle avec le post-it n'est pas terrible ; ici c'est applicable, mais ce n'est pas systématique, loin de là.



Posté par
Yahiko
re : programmation 16-11-22 à 18:27

D'accord merci
Mais j'ai une question. Que dois-je mettre à la quatrième ligne : programmation

Posté par
Yahiko
re : programmation 16-11-22 à 18:29

Merci beaucoup pour votre aide

Posté par
Leile
re : programmation 16-11-22 à 18:32

je ne comprends pas ta question :
tu as écrit 3 lignes  avec l'instruction "input" : pour chacune, tu as donné un nombre.
tu as écrit 1 puis 2 puis 3,   tu devrais essayer  avec 40,  12  et  33  pour voir..
ton programme t'a répondu que le plus grand des nombres que tu as donnés, c'était 3.
C'est ce que tu voulais, n'est ce pas ?

Posté par
Yahiko
re : programmation 18-11-22 à 18:46

Oui cest  ce que je voulais merci beaucoup pour votre aide.



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1674 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !