Sujet de CCF algo appliquée BTS SIO U22

Second exemple de CCF d’algo appliquée pour le BTS SIO :

CCF algo BTS SIO

CCF algorithmique appliquée BTS SIO

======= Partie sans machine =======

Voici un algorithme écrit en Python :

import os

def ligne_suivante(ligne):
    suivante = []
    chiffre_actuel = ligne[0]
    compteur = 0
    for chiffre in ligne:
        if chiffre == chiffre_actuel:
            compteur += 1
        else:
            suivante.append(str(compteur))
            suivante.append(chiffre_actuel)
            chiffre_actuel = chiffre
            compteur = 1
    suivante.append(str(compteur))
    suivante.append(chiffre_actuel)
    return "".join(suivante)
 
 
def conway(n):
    "Iterateur sur les n premiers termes de la suite"
    ligne = "1"
    for i in range(n):
        yield ligne
        ligne = ligne_suivante(ligne)
         
n=6

for i,z in enumerate(conway(n)):
    if i==n-1:
        print(z)

os.system("pause")

1/ Que fait-on aux lignes 3 et 20 de cet algorithme ?

 

2/ Quel est le type de la variable « suivante » ?

 

3/ De façon générale, que fait-on aux lignes 11, 12, 15 et 16 ?

 

4/ En exécutant cet algorithme pour n = 1 ; n = 2 ; n = 3 ; … et en affichant les résultats ligne par ligne, on obtient :

1

11

21

1211

……………

312211

13112221

…………………

Cette suite est appelée suite de Conway, connue initialement sous le nom de « suite audioactive ».

Compléter les lignes manquantes.

 

======= Partie sans machine =======

La suite de Fibonacci, doit son nom au mathématicien Leonardo Fibonacci qui, dans un problème récréatif posé dans l’ouvrage Liber abaci publié en 1202, décrit la croissance d’une population de lapins.

Il vient à la fin de ce problème que la suite de Fibonacci est la suivante :

0 ; 1 ; 1 ; 2 ; 3 ; 5 ; 8 ; 13 ; 21 ; 34 ; …

La suite de Fibonacci est une suite d’entiers dans laquelle chaque terme est la somme des deux termes qui le précèdent. Elle commence par les termes 0 et 1.

 

On souhaite programmer un algorithme en Python affichant tous les termes de la suite de Fibonacci, jusqu’à un certain rang n, entré par l’utilisateur. Pour simplifier l’exercice, le n entré par l’utilisateur doit être un multiple de 3 : 3 termes, 6 termes, 9 termes, …

Voici le début d’un script possible pour afficher les n premiers termes de la suite de Fibonacci, avec n un multiple de 3 :

Extrait du script Python

1/ Que signifie la condition dans la boucle while (ligne 9) ? De quoi s’assure-t-on ?

 

2/ Recopier ce début de code sur ordinateur. Puis ajoutez la fin du programme permettant d’afficher les n premiers termes de la suite de Fibonacci, n étant un multiple de 3.

Indication : la partie « manquante » du programme est une boucle for. Ajoutez un « os.system(« pause ») » à la fin du programme pour que l’affichage reste à l’écran.

1 commentaire

  1. Très intéressant le programme, ça permet aux élèves de découvrir progressivement le programme et son objectif. il faut juste une petite situation pour l’enrichir encore plus.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.