escargot

TP1-PROG-04 - Dessiner des spirales#

Objectif :

  • approfondir le concept de fonction et de boucles

  • introduire et tester la récursivité

Définition d’une spirales#

Une spirale est un objet formé de segments dont la longueur augmente à chaque itération

Exercice 1#

Ecrivez un programme qui dessine une spirale qui commence avec une longueur de segment de 2 et qui augmente chaque fois de 1. L’angle choisi est de 30

Exercice 2#

Modifiez votre programme en écrivant une fonction spirale() qui reprend chaque étape du programme principal

Exercice 3#

Réécrivez votre fonction spirale() avec un paramètre (le nombre de segments)

def spirale(nbr):

Exercice 4#

Ecrivez une fonction spirale(nbr,angle) avec deux paramètres : le nombre de segments et l’angle.

Exercice 5 (a step forward)#

Est-il possible d’améliorer la courbure de la spirale et donc d’affiner le segment en arc de cercle ?

Indications :

On peut utiliser la fonction circle() qui prend en paramètre deux nombres :

t.circle(rayon, angle)

Exercice 6 (Très difficile)#

La suite de Fibonacci (Leonardo Fibonacci, né en 1170 à Pise en Italie et mort dans cette même ville en 1250) est une suite définie par la relation suivante :

fib(0) = 1
fib(1) = 1
fib(n) = fib(n-2) + fib(n-1)

on appelle ce type de relation : une suite récursive

Les premiers éléments de la suite de Fibonacci sont : 1,1,2,3,5,8,13,...

En informatique, cela se défini par une fonction qui s’appelle elle-même

Exercice 6.1#

Ecrivez une fonction def fib(n): récursive qui produit la suite de Fibonacci

Exercice 6.2#

Utilisez la fonction fib(n) pour dessiner une spirale de Fibonacci (le rayon est constitué de la suite de Fibonacci)