Exercices de programmation structurée en méta-langage D10 1) Ecrire un algorithme paramétré qui calcule le produit scalaire de deux vecteurs v1 et v2 (un vecteur est traité comme un tableau de réels à une dimension égale à n). Les dimensions des vecteurs seront supposées égales (le programme ne fera aucun contrôle). Rappel: le produit scalaire de deux vecteurs de même dimension n se calcule par: v1.v2 = Somme, pour i variant de 0 à n-1, du produit (v1[i] * v2[i]) 2) En utilisant cet algorithme, écrire un algorithme paramétré (ou une fonction) qui calcule le cosinus de l'angle de deux vecteurs. NB: cet algorithme devra tenir compte de la possibilité que la norme d'un des vecteurs soit voisine de zéro. Rappels: cosinus = ( v1 . v2 ) / ( || v1 || * || v2 || ) la norme de v étant: || v || = racine_carrée ( v . v ) On suppose connue la fonction racine_carrée d'un réel. 3) Ecrire un programme principal permettant de vérifier le bon fonctionnement des algorithmes précédents. 4) On suppose connu l'algorithme suivant: lireVecteur(n, a) Lecture au clavier de nombres réels, et rangement dans le tableau a Interface d'entrée: n : ( entier ) nombre de valeurs à lire Paramètre pour l’interface de sortie: a : tableau de réels. Ce tableau est “ rempli ” par la fonction avec les valeurs qu’elle lit au clavier. C’est le programme appelant qui doit dimensionner ce tableau. En utilisant ce qui précède, écrire l'algorithme d'un programme principal qui: - lise au clavier les composantes de deux vecteurs de dimension 4 - calcule leurs normes, et leur cosinus - écrive à l'écran ces trois nombres 5) Ecrire un algorithme paramétré permettant d'obtenir la transposée d'une matrices carrée; la matrice devra être traitée comme un paramètre d'entrée-sortie. NB: cet algorithme ne devra pas comporter de variable locale de type tableau 841061064 28/05/2017 13:22:00