Ci dessous un exemple de sujet de CCF d’algorithmique appliquée pour BTS SIO (U22) :
CCF algorithmique appliquée BTS SIO
======= Partie sans machine =======
Voici un algorithme écrit en Python :
[pastacode lang= »python » manual= »import%20os%0A%0A%23Ce%20programme%20traite%20uniquement%20les%20nombres%20positifs%0A%0AA%20%3D%20int(input(%22Nombre%20A%20%3A%20%22))%0A%0AB%20%3D%20int(input(%22Nombre%20B%20%3A%20%22))%0A%0AQ%20%3D%201%0A%0AD%20%3D%20Q%20*%20B%0A%0Awhile%20D%20%3C%3D%20A%3A%0A%09Q%20%2B%3D%201%0A%09D%20%3D%20Q%20*%20B%0A%0AQ%20%3D%20Q%20-%201%0AD%20%3D%20D%20-%20B%0A%0AR%20%3D%20A%20-%20Q%20*%20B%0A%0Aprint(‘A%20%3D%20’%2Bstr(A))%0Aprint(‘B%20%3D%20’%2Bstr(B))%0A%09%0Aprint(‘Q%20%3D%20’%2Bstr(Q))%0Aprint(‘R%20%3D%20’%2Bstr(R))%0A%0Aos.system(%22pause%22) » message= »CCF algorithmique appliquée » highlight= » » provider= »manual »/]
1/ Parmi les couples de nombres A et B proposés ci-dessous, indiquer si l’algorithme se poursuit après la saisie de A et B par l’utilisateur, sinon pourquoi et/ou quelles sont les conséquences possibles au vu de l’algorithme :
A | B | Poursuite de l’algorithme : oui / non, pourquoi et conséquences |
29 | 4,1 | |
14 | 7 | |
14 | 14 | |
29 | -4 |
2/ À l’aide des lignes 5 à 13, on peut définir une condition simple sur A et B pour laquelle on ne rentrera jamais dans la boucle while, laquelle ?
3/ Voici les résultats obtenus pour quelques valeurs de A et B :
Exemple 1 : A = 24 / B = 5 / Q = 4 / R = 4
Exemple 2 : A = 24 / B = 4 / Q = 6 / R = 0
Exemple 3 : A = 24 / B = 3 / Q = 8 / R = 0
Exemple 4 : A = 7 / B = 2 / Q = 3 / R = 1
Exemple 5 : A = 6 / B = 3 / Q = 2 / R = 0
À l’aide de ces résultats et de votre compréhension de l’algorithme, quels seraient les résultats pour :
a) A = 24 et B = 7 ?
b) A = 95 et B = 7 ?
4/ Que fait cet algorithme ?
5/ Il existe évidemment deux opérateurs beaucoup plus simples dans les différents langages de programmation pour obtenir plus rapidement le même résultat que le script précédent. Écrire sur papier un script complet en pseudo-code ou Python permettant d’obtenir le même résultat que le premier algorithme en seulement quelques lignes :
======= Partie sur machine =======
1/ Taper le programme de la question 5 sur ordinateur, dans le langage souhaité.
2/ On souhaite écrire un programme afin de déterminer si un nombre entier naturel est premier. Avant cela il convient toutefois de réfléchir à quelques éléments.
a/ Qu’est-ce qu’un nombre premier ?
b/ Il y a une grande partie des nombres entiers naturels qu’il n’est pas nécessaire de tester, lesquels ?
c/ Écrire l’algorithme en Python (ou autre langage) et vérifier son fonctionnement.
Bonjour, le sujet est-il officiel ?
Le corrigé est-il disponible afin de corriger mes erreurs ?
cordialement,
Leo Choco
Bonjour,
non c’est un sujet d’entrainement et il n’y pas de corrigé disponible actuellement.
Merci et bon courage !
avez vous d’autre sujet svp ?
Bonjour,
non pas d’autre sujet actuellement.
Bonne journée !
Jérémy.