Algorithmique Appliquée - devoir 2
BTS Services informatiques aux organisations – première année
Algorithmique appliquée
Devoir 2
Durée : 1 heure
La particularité de ce devoir est double. D’abord, vous partez d’un existant, donc il fallait correctement l’analyser pour intégrer les nouveaux modules. Ensuite, il y avait une différence notable entre la version algorithmique et le code qui devait tenir compte du positionnement du curseur. Ces difficultés supplémentaires sont compensées par le fait qu’il n’y avait pas beaucoup de code à écrire et que les éléments fournis représentaient une aide non négligeable pour écrire les modules manquants. En particulier, vous aviez la syntaxe de la double boucle pour gérer la matrice.
Algorithme
Voici la proposition de correction algorithmique des trois modules :
/**
* affichage d’une image à partir d’une matrice
*/
procedure afficheImage(image[0..N-1,0..N-1]:entier) x, y : entier fin // affichage des carrés correspondant aux pixels pour x de 0 à N-1 pour y de 0 à N-1 textbackground(couleur[image[x,y]]) afficher « « finpour finpour fin 82940CTPA02
1/3
Le sujet demandait explicitement de gérer la couleur de fond au niveau de l’algorithme. Le tableau couleur est donné et initialisé. Il suffit de l’utiliser en mettant en indice le code récupéré dans le tableau image. Si la case concernée dans image contient 1, la case couleur[1] contient le code de la couleur gris foncé, et ce code, passé en paramètre de la fonction textbackground, permet d’afficher en arrière plan la couleur gris foncé.
/**
* calcul de la luminosité (moyenne des valeurs)
*/
fonction calculLuminosite(image[0..N-1,0..N-1]:entier) : réel val : réel debut val <-- 0 pour x de 0 à N-1 pour y de 0 à N-1 val ß val + image[x,y] finpour finpour val ß val / N*N retourner val fin Le calcul de la luminosité est un simple calcul de moyenne : il suffit de faire la somme des valeurs et, au final, de diviser cette somme par le nombre de valeurs.
/**
* accentuation du contraste de l’image
*/