Introduction à l’informatique et applications à la biologie

VI - Les boucles (version 3.0)

Prof. Patrick E. Meyer

La suite de Fibonacci

1 1 2 3 5 8 13 21 34 55 89 144…

  • Donnez la suite de Fibonacci jusqu’à atteindre 10000

  • La boucle while:

    int t1 = 1, t2 = 1, nextTerm;
    while (t2 < 10000) {
      nextTerm = t1 + t2;
      t1 = t2;
      t2 = nextTerm;
      cout << nextTerm << " ";
    }

L’ananas

[Linford, 1933]

La pomme de pin

Symbolisme antique

Mésopotamie

Egypte

Christianisme

Vatican:

  • Notre-Dame de Paris

Le rectangle et la spirale d’or

La spirale d’or en physique

La spirale d’or dans la nature

La spirale d’or chez l’homme

En art

L’angle d’or

un angle de 137.51 degrés

Le tournesol

Croissance fractale

Le nombre d’or

Les ratios de 2 nombres consécutifs de la suite convergent vers le nombre d’or… \[\varphi=\frac{1+\sqrt{(5)}}{2}=1.61803399...\]

  • 55/34 = 1.617647

  • 89/55 = 1.618182

  • 144/89 = 1.617978

  • 233/144 = 1.618056

Virgule fixe

Virgule flottante

  • float 3.4E38 (32 bits) vs double 1.8E308 (64 bits)

La division entière

  • problème: en c/c++ la division entier/entier crée implicitement un entier

  • solution: déclarer la variable numerateur ou denominateur en float ou double

  • exemple courant: 1.0/denominateur

  • Pour notre nombre d’or:

    float t1 = 1, t2 = 1, nextTerm;
    while (t2 < 10000) {
      nextTerm = t1 + t2;
      t1 = t2;
      t2 = nextTerm;
      cout << t2/t1 << " ";
    }

La boucle for

  • typiquement utilisé pour les compteurs (nombre connu de tours de boucle)

  • le 22e nombre de Fibonacci?

  • int t1 = 1, t2 = 1, nextTerm, n;
    cin >> n;
    for(int i=3; i<=n; i++) {
       nextTerm = t1 + t2;
       t1 = t2;
       t2 = nextTerm;
    }   
    cout << "le " << n << "e terme de Fibo est: " << nextTerm;

Un symbole ambigu

spirale d’or

spirale de Theodorus

symboles moins ambigus

Le triangle de Kepler (1, \(\sqrt{\varphi}\), \(\varphi\) )

  • Le pentagramme

La grande pyramide (de Giza)

  • Triangle de Kepler (1, \(\sqrt{\varphi}\), \(\varphi\) )

Parthenon d’Athènes

  • Le batiment mesure 70m de long sur 31m de large illustrant un ratio de \(\sqrt5\).

La pomme

Pourquoi la pomme est le fruit de la connaissance (et pas la pomme de pin)?

  • Le pentagramme?

Recapitulatif

  • codage d’un nombre négatif
  • codage d’un nombre réel
  • boucles while et for
  • des simples sommes (nombres de Fibonacci) expliquent des patterns naturels