Aller au contenu

Circonférence d'un cercle

Nombre à virgule flottante

En Python, c'est le point (.) qui est séparateur décimal.

⚠ Les nombres flottants (float) sont stockés en binaire, et non en décimal.

  1. Des nombres de la forme \(\dfrac{n}{2^k}\) avec \(n\) et \(k\) entiers ont alors une représentation exacte en machine, mais pas les autres !
  2. Par exemple
    • 0.5 sera stocké de manière exacte !
    • 0.1 ne sera pas stocké de manière exacte !
🐍 Console Python
>>> 0.5 + 0.5 == 1.0
True

Pas de tests d'égalité entre flottants

🐍 Console Python
>>> 0.1 + 0.2 == 0.3
False
  1. Aucun de ces trois nombres n'est stocké de manière exacte, mais avec un arrondi...
  2. L'addition conduit elle aussi à faire un arrondi...
  3. Après 4 arrondis, le test d'égalité peut se révéler faux (et parfois juste) !

Il ne faut pas faire de tests d'égalité entre flottants. (sauf si on sait exactement pourquoi)

Exercice

Coder une fonction circonférence de paramètre rayon qui renvoie le périmètre du cercle de rayon donné.

\[p = 2\pi r\]

👍 On définira la constante PI de valeur 3.1415926 dans le script, avant la fonction.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : /
.9888.128013x/.ùr;nbOylaeêu)*dVM63m(P02-@,59fq!8 _o=pcwgv41kRIéhtsSàLCjDi:050t0o0$0n0.0m0%0M0R0m0n0%0%0P010$0.0Q010406050%0q0y0y0n0g0l040(0O0m0q130O0i0M020n0y0Q0h0M0Y0o1d0g0J0q0o0%050d1a1c1e1g180Q04051L1E1O0d1L180t0.0U0{0}0 110#0.0T0#0m1$0#0$16050?0j0m0o1X0~10011#1%1)1%0$1/1;1-0$0g1M0$0#1?1Z010I0^0o0i1r0o010{1j0%0Q0n0i110C1-2j2l271^2a1;2d0y2f040b0M0A0g0O0Q0O0%0.1m1o0;2h0g0g0o0R2J1E2q0i1M0d252V2224231.0t2s111)0i2c2G1-1U1W0|1@2)0.2+0i0O2/1-0Q2O1M2T2V30192k1o2;282_0g1d0m160W2S3417332r361^383a160C3e2l3g2T2(013l0n3b040x3p2U183s3j113v3x0V3A3r343t3G160G3J3C3L3E3u0O393w160w3J1P2~1E2/2Y0t242%3T0R2`2y0:1V1M2}0o2 3f3!3.0;3_3i1Y3k160A0Z3J0M3h3540110O160P45473t0y0I160x0e0W0V0W0G0H0C3Z1F3f064v4f3T0X160;0I3!3D49010S16464t3q4x4F0i4i040R0.0g3.4O0!2O0i0R0o4D3S4F15040z4#3 2=3u160g4+484-4(0r0/3Q0M4{464E4-0%2o04010+4S4U0I4W2c4Z0M0t000q350o4T1;5b1=0g0n0l1n0M0g014`4|4M4-4z042O0$0q0g0i4e4~280y0.3n5D4$4-4b040s5J4,3742444K2U4}5K285M5O5U045W5Q415x3Q1E3|3^3#5.0d3(1E0$3*5?2#2W0n1:5:3(1K3~4=282O0y0N0I0n0X0o0N0#0x161w1y1A1C0M4_5#1P3g1O0.0y0T0M3w0$110a2g3T0$0S1x0O0,5H0M0%4T1!1~0Q0%0/0d0d0R0t0i0e0,0%0;1)0U0g0e2+0$0d1%0d0,0;0R690t2W6A0y6C0.0E4o4l0e0B0d1@0=0%1F0U0T0d4r0n0B0e0%702g130$1;110/0S1e0i2@0T0/010d5$0*0n5p0!2F0i0%1=1C0$6F6p0Q1;0F0M1d0.0`0^0M671l0M0!0U0O6h0g0M5e0M2F2@0$6m1T1V3t0n0t6:7h2J7I0@1k2O161K7!7$1n2I0.1n0D7a20040A0~5b000!0T3w2I0!0M2c221=0I0m0O1~2l0$1D1R6n040-2l0`1;0`0$7w0`0Q0q1:0.0R0%7C2_0q0`0n7N7t7L0R0g2I7X3;2:4F1`1(1*1,613t2u2c2e162A0(8G147x0A0l251n3!3@61313`5-8R4y166|0g7W5#5%625)4R4T1n574X4Z4;3t4(4*6l5E1^5G160B933T4@5P8{4a4c4d8_5u5F5H049c5#3R5(115w8?8^308`3M168}56584Y4!975X1^959d4F9a043d9H9t019f9l989i040P9k9y9m994P0w0e0C0L0x0W0L0G3o9r5,3/2V8+3%3=600v0@0`4Z1~1=0y0!8(2L0Q0o7K0p886F0O5A5a5c5g2O5A8x0M7H2+7*7K2k0`674S1=2L8p0%8f7 81830$85872O7I8b8d0i8f0e8J5;9`8K7:7%7?5o1a0R4Z0 7.1NaP7=2J7_2I7{0k1oar7x7Sav7x2L2_0y0j2O8r2D0R0#1C8J2/3t8N1|1+2p9I118T2w2y8X8Z0Q8#8%0#8)6l9^326l8/9#9u4A0o4C9Q9h4G4I9L4-4O160%1n0$0N2}0Oa`a|bq941696329V4.040cbu284(0F9g9A040lbP9J164^5s4{bl015w5y5A5C9Ub43u0j8=0j8gbKb.9KbG3T0i16bOb-9R5M0DbTb{16bWb`4%bZc34F5M020m0$0hca4-9N0W9qb@c0160s0sc2c7ci9o0H3Q9sbr9v0 5g9x3f9zc404byaIbBa_a{b?3`bLb_cmbrb|4Q558 9E92csbQbIbX119NclcNb^bZbSb brc%c#9Sc99;bLcz7u8@ch5RcGbzcJbDcLc:cPc)9RcS9CcV919GcQbH4)c:cjd2c+c{9$3Y9)9+9-9/dg040r5+6O9?5/2V5 1N040u0O0^0)7Ram0j1nama2a40o7C8C2P0M0}0M0U3wa77Q5|by1k1=4*8/dW9=3}dr8h18aM0U8i0*6ia.9~0na`0!0`1a7Q9 860c5g4R5a1l0^7F0@87dP7p0I1n2Q7@1o058/cHbAbCbE8g8/0M0K8J1L0+0O1cat8l0M0$ac8m6i0od~4T8v6i0O0fakaI5g0U0.2c2^a/d:8qay821)aB86aIaE8a8c0?aI0%aKd*3%0=7+0%04.