Bonjour je suis en grosse difficulté pour cette exercice de maths pourriez vous m aidez sil vous plait ? merci d avance
Les questions en dessous de l exercice deux sont Que fait la commande « from math import * »? Pourquoi l’utilise-t-on
ici ?
(b) À quoi correspond l’instruction « if b == round(b,0): »?
(c) Zoé lit le code de la fonction et propose de réduire le nombre de tours de
boucle réalisés en remplaçant l’instruction « a**2 <= n » à la ligne 5 par
l’instruction « a**2 <= (n / 2) » .
i. Démontrez que le code fonctionne toujours correctement.
ii. Montrez que la modification ne réduit le nombre de tours de boucle
que dans les cas où la fonction renvoie la valeur « False ».


Bonjour Je Suis En Grosse Difficulté Pour Cette Exercice De Maths Pourriez Vous M Aidez Sil Vous Plait Merci D AvanceLes Questions En Dessous De L Exercice Deux class=

Sagot :

Réponse :

Explications étape par étape :

1) Renvoie les carrés inférieur à un nombre n donné

exemple pour n = 10 le  script renvoie

>>> carre(10)

0

1

4

9

>>>

2)

Que fait la commande « from math import * »?

Elle importe le module math

Pourquoi l’utilise-t-on ici ?

pour utiliser la fonction sqrt (racine carrées)

(b) À quoi correspond l’instruction « if b == round(b,0): »?

test si b est entier  ( b est égal à son arrondi avec 0 chiffre derrière la virgule)

(c) Zoé lit le code de la fonction et propose de réduire le nombre de tours de

boucle réalisés en remplaçant l’instruction « a**2 <= n » à la ligne 5 par

l’instruction « a**2 <= (n / 2) » .

i. Démontrez que le code fonctionne toujours correctement.

ii. Montrez que la modification ne réduit le nombre de tours de boucle

que dans les cas où la fonction renvoie la valeur « False ».

réalisation

1er code

>>> sommecarres(37)

6.082762530298219

6.0

True

>>>

code modifié

from math import *

def sommecarres(n):

   a=0

   while a**2 <= n/2:

       b=sqrt(n- a**2)

       print(b)

       if b == round(b,0):

           return True

       a=a+1

   return False

code modifié

>>> sommecarres(37)

6.082762530298219

6.0

True

>>>

1er code

>>> sommecarres(150)

12.24744871391589

12.206555615733702

12.083045973594572

11.874342087037917

11.575836902790225

11.180339887498949

10.677078252031311

10.04987562112089

9.273618495495704

8.306623862918075

7.0710678118654755

5.385164807134504

2.449489742783178

False

2eme code

>>> sommecarres(150)

12.24744871391589

12.206555615733702

12.083045973594572

11.874342087037917

11.575836902790225

11.180339887498949

10.677078252031311

10.04987562112089

9.273618495495704

False

>>> sommecarres(37)

6.082762530298219

6.0

True

>>>