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 :

[pastacode lang= »python » manual= »import%20os%0A%0Adef%20ligne_suivante(ligne)%3A%0A%20%20%20%20suivante%20%3D%20%5B%5D%0A%20%20%20%20chiffre_actuel%20%3D%20ligne%5B0%5D%0A%20%20%20%20compteur%20%3D%200%0A%20%20%20%20for%20chiffre%20in%20ligne%3A%0A%20%20%20%20%20%20%20%20if%20chiffre%20%3D%3D%20chiffre_actuel%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20compteur%20%2B%3D%201%0A%20%20%20%20%20%20%20%20else%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20suivante.append(str(compteur))%0A%20%20%20%20%20%20%20%20%20%20%20%20suivante.append(chiffre_actuel)%0A%20%20%20%20%20%20%20%20%20%20%20%20chiffre_actuel%20%3D%20chiffre%0A%20%20%20%20%20%20%20%20%20%20%20%20compteur%20%3D%201%0A%20%20%20%20suivante.append(str(compteur))%0A%20%20%20%20suivante.append(chiffre_actuel)%0A%20%20%20%20return%20%22%22.join(suivante)%0A%20%0A%20%0Adef%20conway(n)%3A%0A%20%20%20%20%22Iterateur%20sur%20les%20n%20premiers%20termes%20de%20la%20suite%22%0A%20%20%20%20ligne%20%3D%20%221%22%0A%20%20%20%20for%20i%20in%20range(n)%3A%0A%20%20%20%20%20%20%20%20yield%20ligne%0A%20%20%20%20%20%20%20%20ligne%20%3D%20ligne_suivante(ligne)%0A%20%20%20%20%20%20%20%20%20%0An%3D6%0A%0Afor%20i%2Cz%20in%20enumerate(conway(n))%3A%0A%20%20%20%20if%20i%3D%3Dn-1%3A%0A%20%20%20%20%20%20%20%20print(z)%0A%0Aos.system(%22pause%22) » message= » » highlight= » » provider= »manual »/]

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 réflexion au sujet de « Sujet de CCF algo appliquée BTS SIO U22 »

Laisser un commentaire

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