Exercice U22: Algorithmique appliquée

L’épreuve d’algorithmique appliquée est une épreuve orale. L’étudiant a une heure de préparation – une demi-heure sur papier et une demi-heure sur machine. Ensuite il est interrogé par deux professeurs de mathématique.

Vous pouvez utiliser le langage informatique de votre choix, les sujets peuvent mentionner le langage Python qui est un langage souvent utilisé par les mathématiciens mais il n’est pas obligatoire.

La plupart du temps il faut se renseigner sur les langages disponibles dans le centre d’examen mais vous pouvez passer l’épreuve sur votre propre PC donc il n’y a pas de problème.

Le programme de l’épreuve d’algorithmique appliquée du BTS SIO est très semblable au module SI4 (bases de la programmation). Il suffit de comprendre les boucles, les tableaux et les fonctions pour réussir l’épreuve. Les sujets portent sur les grands classiques de la programmation (palindrome, bataille navale…), il n'y a pas beaucoup de mathématique.

Un sujet de l'épreuve d'algorithmique appliquée en BTS SIO

Partie 1 : (30 min sur papier)

Une image en noir et blanc, découpée en pixels, est considérée comme une matrice comportant des entiers de 0 à 100, appelés dans la suite "saturation". 0 correspond à une case blanche, 100 à une case noire, un entier entre 0 et 100 à une case grise, d’autant plus foncée que le nombre est proche de 100. par exemple on considère la matrice :

branche par release

Exercice 1

Écrire une fonction ecrire_matrice(MAT) dont le paramètre est la matrice MAT. Cette fonction doit afficher la matrice MAT ligne par ligne.

Exemple: MAT=[[1,2,3],[4,5,6],[7,8,9]]
écrire_matrice(MAT)
[[1,2,3]
[4,5,6]]
[7,8,9]]

Exercice 2

La luminosité d’une image est la moyenne m de ses saturations. Elle s’obtient donc en additionnant tous les termes de la matrice MAT et en divisant ensuite la somme obtenue par le nombre de termes de la matrice. Écrire une fonction luminosite(MAT), dont le paramètre est la matrice MAT. Cette fonction renvoie la luminosité de l’image correspondant à la matrice MAT.

Exercice 3

On cherche ici a accentuer les contrastes : une couleur foncée sera encore plus foncée, une couleur claire sera encore plus claire. Pour cela on utilise la luminosité m calculée précédemment et pour chaque saturation de la matrice MAT

on la divise par 2 si cette saturation est inférieure a m

on la multiplie par 2 sinon sans dépasser 100. Si la nouvelle saturation dépasse 100 elle prendra la valeur 100.

Écrire une fonction contraste(MAT,luminosité) dont les paramètres sont la matrice MAT et sa luminosité. Cette fonction renvoie la matrice contraste.

Partie 2: A traiter sur un ordinateur en utilisant le langage Python. Durée maximum : 30 minutes

Coder sous Python la fonction écrire matrice(MAT) de l’exercice 1 puis la tester.

Coder sous Python la fonction luminosite(MAT) de l’exercice 2 puis la tester.

Coder sous Python la fonction contraste(MAT,luminosité) de l’exercice 3 puis la tester.

Coder en python le programme principal qui permet par appel à ces fonctions d’augmenter le contraste d’une image.

Un exercice pas si difficile que cela, par contre il est assez long, il ne faut pas traîner pour le codage en 30 minutes. Il faut bien maîtriser la syntaxe des tableaux à deux dimensions.

Si vous êtes intéressé par la correction, vous pouvez en proposer une dans le langage de votre choix avec le système de commentaire (pas besoin de répondre à toutes les questions). Les autres visiteurs du site pourront corriger les erreurs pour arriver à une version finale satisfaisante.