Sujet de CCF d’algorithmique appliquée BTS SIO U22

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 :

import os

#Ce programme traite uniquement les nombres positifs

A = int(input("Nombre A : "))

B = int(input("Nombre B : "))

Q = 1

D = Q * B

while D <= A:
	Q += 1
	D = Q * B

Q = Q - 1
D = D - B

R = A - Q * B

print('A = '+str(A))
print('B = '+str(B))
	
print('Q = '+str(Q))
print('R = '+str(R))

os.system("pause")
CCF algorithmique appliquée

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.

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.