Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

compléter un algorithme

Posté par
cameronelg
05-01-18 à 11:36

Bonjour
j?aurais besoin d?aide pour mon dm de maths.. pourriez-vous m?aider svp?
On souhaite que le programme incomplet donné ci-dessous en langage Python affiche, après saisie des longueurs des trois côtés d?un triangle dont on connait le plus grand côtés si ce triangle est ou non rectangle.
Compléter se programme
A= float (input("plus grand coté? "))
B=float(input("second côté "))
C=float (input("troisième côté ?"))
If.........................................................................?
  ........................ ...............................................?
Else
............................................................................?

Merci d?avance...

dans    if     j'ai ecris :         a²=x      b²+c²=y    donc x=y
                                                    print"triangle rectangle"
dans else j'ai ecris:     x!=Y
                                                   print"triangle non rectangle"

quand pensez vous ? (malou > nous toujours !! .....qu'en pensez-vous ? )

Posté par
vham
re : compléter un algorithme 05-01-18 à 12:48

Bonjour,

Vous devriez écrire ce qui est demandé d'abord en français de tous les jours
Puis ensuite en respectant la syntaxe Python
Attention aux majuscules-minuscules

Posté par
cameronelg
re : compléter un algorithme 05-01-18 à 13:46

oui j'avais commencé par cela mais je demande cas comprendre mon erreur.

Posté par
cameronelg
re : compléter un algorithme 05-01-18 à 13:57

A=float(input("donner le plus grand coté"))
B=float(input("deuxieme coté"))
C=float(input("troixieme coté"))
if A*A==B*B+C*C :
  print(" triangle rectangle")
else:
    print("Le triangle n'est pas rectangle")

Posté par
vham
re : compléter un algorithme 05-01-18 à 14:25

C'est bon

Posté par
bbomaths
re : compléter un algorithme 05-01-18 à 16:32

Bonjour.

Attention à la manipulation des flottants dû à la représentation interne des nombres non entiers (int).

Exemple, si on demande d'effectuer le test logique où on compare 0.3 à (0.2 + 0.1):


>>> 0.3 == 0.2 + 0.1
False

Le résultat n'est pas celui attendu

Idem pour :

>>> 0.2 + 0.1
0.30000000000000004
>>> 0.3 - 0.2
0.09999999999999998
>>>

Posté par
bbomaths
re : compléter un algorithme 06-01-18 à 09:25

Bonjour.

Je reviens sur le sujet, juste pour info :

Une fonction Python permet d'accéder à la valeur stockée en machine d'une variable numérique :


>>>
>>> float.hex(0.3)
'0x1.3333333333333p-2'
>>>
>>> float.hex(0.2 + 0.1)
'0x1.3333333333334p-2'


On peut voir que les contenus sous forme hexadécimale des deux nombres (0.3) et (0.2 + 0.1) sont différents. Comme l'opérateur == entraine une comparaison bit à bit des contenus, la comparaison dans ce cas retourne une valeur fausse.

Généralement, on contourne ce problème en utilisant un test comme :

if abs(flottant_1, flottant_2) < EPSILON :

avec :

> abs() la fonction qui retourne la valeur absolue de son argument

> EPSILON, une constante que l'on se donne comme tolérance sur l'égalité des nombres flottants (style 1e-6)

Posté par
alb12
re : compléter un algorithme 06-01-18 à 14:06

salut,
avec un logiciel de calcul formel on n'aurait pas ce pb

Posté par
bbomaths
re : compléter un algorithme 06-01-18 à 17:18

Peut-être... mais qui utilise un langage formel hors des laboratoires de recherche ?

Sinon, on fait comme dans le bancaire, on travaille qu'avec du décimal...

Posté par
alb12
re : compléter un algorithme 06-01-18 à 18:41

on a mis 20/30 ans à inscrire l'algorithmique au lycee,
J'ose esperer que ce sera plus rapide pour les logiciels de calcul formel.

les logiciels de calcul formel sont utilises par tous ceux qui font des maths,
à tous les niveaux.

Posté par
bbomaths
re : compléter un algorithme 06-01-18 à 19:58

J'espère aussi que l'informatique se développera rapidement dans le milieu scolaire. On manque d'ingénieurs en informatique. Il y a un an, ma boîte recherchait quelques 170 ingénieurs pour 2 projets. Je ne désespère pas car j'ai fréquenté un LAB d'informatique où une bande de collégiens venait faire de la programmation le mercredi après-midi.

Le risque du calcul formel sera peut-être  de "couper" l'élève des maths... pourquoi avaler des cours d'algorithmie, d'analyse numérique alors qu'il suffit de taper le nom d'une fonction et de passer les bons paramètres... Ne risquons-nous pas de scier la branche sur laquelle on est assis ? Soyons iconoclastes : les profs de maths seront-ils encore nécessaire avec le calcul formel ? Comme disait un prof de SVT d'un de mes enfants, on trouve tout sur le Net.

En 40 ans de métier (la plupart du temps dans l'industrie, en R&D), je n'ai vu que par deux fois des logiciels de calcul formel, les deux cas dans des milieux universitaires. Déjà que la mise en place de MATLAB et autres outils mathématiques a été rude...

Pour info, la NASA recherchait cet été des programmeurs américains capables d'optimiser en vitesse de calcul la librairie FUN3D  écrite en Fortran et garantissant la même résolution de calculs. Il n'ont jamais envisagé de la porter sur des langages formels. Les deux meilleures optimisations seront récompensés par des prix allant jusqu'à 55 000 US$ ...



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 1567 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 !