Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Python

Posté par
snailo
28-04-21 à 16:13

Bonjour à tous j'ai besoin d'aide sur cet exercice Python, voici l'énoncé:


1. Que fait la séquence d'instructions Python suivante ?

1  k = 0
2  while k**2 <= n:
3            print (k **2)
4            k = k + 1

2. La fonction Python suivante permet de déterminer si un entier n est la somme
de deux carrés d'entiers.

1  from math import *
2
3  def somme_de_deux_carres (n):
4            a = 0
5            while a**2 <= n:
6                      b = sqrt (n - a **2)
7                      if b == round (b ,0):
8                                return True
9                      a = a + 1
10          return False

(a) 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 ».


J'ai fait le grand 1 et le a) du 2

1. La séquence d'instruction suivante donne le carré de chaque entier


2. a) La commande "from math import *"  sert à pouvoir importer les objets et fonctions de la bibliothèque math sans avoir à le rappeler à chaque utilisation dans la séquence, ici on l'utilise pour la fonction "sqrt" qui permet de calculer la racine carré.

Mais c'est ici  que je bloque plus,
b) L'instruction sert à vérifier que b est un carré entier ?

et je ne sais pas comment démontrer pour le petit c).

voilà merci d'avance

Posté par
carpediem
re : Python 28-04-21 à 16:29

salut

1/ est imprécis

2b/ il y a de l'idée mais ça reste aussi imprécis ...

2c/ tu cherches des ... ? tels que n = a^2 + b^2

que peux-tu dire de b^2 si a^2 < n/2 ?

Posté par
snailo
re : Python 28-04-21 à 17:17

1. La séquence suivante donne le carré de chaque entier de 1 en 1.

2.b) L'instruction permet de vérifier que le b obtenue est égale à la somme de b arrondie à x-0, soit si b est un entier

pour le c je vois "l'idée mais je ne sais pas comment le démontrer.

"que peux-tu dire de b^2 si a^2 < n/2 ?" b2 > a2 < n/2

Posté par
snailo
re : Python 28-04-21 à 17:28

Pour le 2.b) je voulais mettre b arrondie à 10-0

Posté par
carpediem
re : Python 28-04-21 à 17:58

1/ et 2a/ sont toujours bien maladroits ...

1/ est incomplet : regarde bien les quatre lignes du script

2/ c'est quoi un arrondi à 10^-0 tout simplement ?

et relis l'énoncé de la question 2/ ...

Posté par
snailo
re : Python 29-04-21 à 15:25

1. La séquence donne les carrés des entier à partir de 0 en augmentant de 1 en 1 tant que  le carré obtenu est inférieur à k.


2. un arrondie à 1


Ma principale question c'est surtout comment je suis censé démontrer pour la c  

Posté par
carpediem
re : Python 29-04-21 à 15:36

1/ c'est mieux mais ce n'est pas la bonne borne ...

2/ faux ...

Posté par
snailo
re : Python 29-04-21 à 15:52

un arrondie à l'unité de b, pour vérifier que le b obtenue est un entier si il est égal

Posté par
carpediem
re : Python 29-04-21 à 17:44

ouais c'est mieux ...

Posté par
snailo
re : Python 30-04-21 à 15:02

Merci beaucoup  pour l'aide sur le 1 et 2a, mais ceux là j'y arrivais à peu près, mon problème c'est la question c, mais c'est celle sur laquelle on a le moins avancé...

Posté par
carpediem
re : Python 30-04-21 à 15:14

carpediem @ 28-04-2021 à 16:29

2c/ tu cherches des ... ? tels que n = a^2 + b^2

que peux-tu dire de b^2 si a^2 < n/2 ?
pour simplifier :

si n = x + y et que x > n/2 alors que peux-tu dire de y ?

Posté par
snailo
re : Python 30-04-21 à 15:33

y < n/2

Posté par
carpediem
re : Python 30-04-21 à 16:47

ok mais il faudra le prouver en détaillant  ...

maintenant il te suffit de remplacer x et y par a^2 et b^2 ...



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