Contenu

mathématiques

Recherche simple Vous recherchez ...

espace pédagogique > disciplines du second degré > mathématiques > enseignement > groupes de recherche > TraAM > actions nationales 2017-2018

suite de Syracuse

mis à jour le 21/05/2018


logo_syracuse_python.png

La programmation de la suite de Syracuse est l'occasion de faire la transition en Scratch et Python, notamment en faisant le parallèle entre un bloc et une fonction.

mots clés : syracuse, fonction, scratch, collège vers python


Objectif


Le but ici est à la fois d’introduire l’idée de la suite numérique mais aussi celle de la fonction en programmation sous Python. On pourra faire le parallèle entre la création d’un bloc sous Scratch et celle de la fonction syracuse(n) qui calcule le terme suivant en partant de la valeur n . Les étapes ne sont pas forcement à faire par l’ensemble du groupe classe. Chaque élève peut avancer à sa vitesse mais le fait de nommer les programmes de manière identique permettra au professeur de regrouper les productions de chacun pour les assembler lors de la correction finale.

Les bibliothèques utilisées


matplotlib.pyplot

Cette bibliothèque permet la création de graphiques pour visualiser les résultats obtenus. Elle est très pratique lors des séances sur vidéo-projecteur.

Ici seules deux commandes nous servent :


  • plot(x,y,"ro") place un point sur le graphique aux coordonnées ( x, y ) , ce sera rouge (r pour red) et un point (o).
  • show() affiche à l’écran le graphique, les axes étant fixés automatiquement pour voir l’ensemble des points définis.
 

L'activité


La suite de Syracuse est une suite célèbre qui reste encore mystérieuse pour les mathématiciens alors que sa construction est très simple.
Pour un nombre choisi, on le divise par 2 lorsqu’il est pair et on le multiplie par 3 et ajoute 1 lorsqu’il est impair.
Ainsi on obtient une suite de nombre, par exemple en partant de 14 : 14 ? 7 ? 22 ? 11 ? 34 ?...

Pour chacune des étapes suivantes :
  1. Écrire sur une feuille papier le programme en français réalisant la consigne donnée ;

  2. Construire un arbre avec les feuilles de papier qui symbolisera les liens entre les programmes ;

  3. Réaliser un programme en Python :
  • Étape 1 : syracuse(n) , calcule le terme venant après le nombre n ;
  • Étape 2 : syracuse10(n) , calcule les 10 premiers termes de la série en partant du nombre n ;
  • Étape 3 : volsyracuse(n) , calcule et affiche tous les termes de la suite partant du nombre n jusqu’à parvenir à la valeur ... (Voir après quelques essais du niveau 2) ;
  • Étape 4 : tempsvol(n) Afficher la hauteur d’un nombre n (c’est le nombre d’étapes pour arriver à ....)
  • Étape 5 : recherche(n) Trouver le nombre avec la plus grande hauteur entre 2 et 100.
  • Étape 6 : graphevol(n) Tracer sur un graphique le vol obtenu à partir du nombre n
  • Étape 7 : graphetemps(n) Tracer sur un graphique le temps de vol de chacun des entiers de 2 à 100
 
auteur(s) :

Hervé Diet, enseignant au lycée Touchard (49)

information(s) pédagogique(s)

niveau : tous niveaux, Lycée tous niveaux, 2nde

type pédagogique :

public visé : non précisé

contexte d'usage :

référence aux programmes :

documents complémentaires

L'énoncé
PDFL'énoncé et les algorithmes

le fichier Python

haut de page

mathématiques - Rectorat de l'Académie de Nantes