repl.it
@kriegkf/

S1 - encadrement racine carrée

Python

Exemple d'algorithme pour encadrer par balayage la racine carrée de 2. Programme de seconde, alg S1.

fork
loading
Files
  • main.py
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def encad(k):
  '''k indique qu'on veut un encadrement à 10^(-k) près'''

  bas=1
  pas=0
  '''on initialise les variables bas et pas, bas sera la borne basse de l'encadrement, et pas sera l'amplitude de l'encadrement'''

  while 10**(-pas)>10**(-k):
    pas=pas+1
    #On gagne une décimale à chaque étape 
    while bas**2<2:
      bas=round(bas+10**(-pas),k)
      '''cette boucle while s'éxectue une dernière fois quand bas contient la plus grande valeur dont le carré est inférieur à 2, avec le pas du moment, du coup, après cette exécution, bas contient la plus petite valeur dont le carré est supérieur ou égal à 2
      L'utilisation de la fonction round permet d'éviter un comportement aberrant des approximations sous formes de réels'''
    haut=bas
    bas=round(bas-10**(-pas),k)
    '''donc cette ligne remets la variable bas à ce que l'on attend'''
  return(bas,haut)