Ocaml. Exercices sur les matrices

Exercice 1.
On souhaite écrire notre propre version de la fonction intégrée « Array.make_matrix ».
La fonction suivante semble créer une matrice de type {n,p}, initialisée avec la valeur {x} :

Former ainsi la matrice nulle {m} de taille {4\times 3}.
Placer la valeur {1} en position {(0,0)} dans la matrice {m}, et afficher le contenu de {m}. Commentaire?

Cliquer ici pour voir (ou cacher) le corrigé
Pour voir la suite de ce contenu, vous devez : Pour poursuivre votre exploration, vous pouvez : Mathprepa.fr est le site des mathématiques et de l'informatique des deux années des classes prépa scientifiques: plus de 2500 exercices et 200 problèmes (soigneusement corrigés), un cours complet (maths et info), plus de 400 sujets de concours, etc. Un contenu sans équivalent, dans une présentation fluide et professionnelle adaptée à tous les écrans, pour une souscription de 15€ (six mois), 25€ (un an) ou 35€ (deux ans).

Exercice 2.
On veut toujours écrire notre propre version de la fonction intégrée « Array.make_matrix ».
Écrire une fonction « make_matr : int -> int -> ‘a -> ‘a array array » qui forme une matrice de type {(n,p)}, initialisée avec une valeur donnée (mais cette fonction ne doit bien sûr plus souffrir du défaut de la fonction de l’exercice précédent).
Cliquer ici pour voir (ou cacher) le corrigé
Pour voir la suite de ce contenu, vous devez : Pour poursuivre votre exploration, vous pouvez : Mathprepa.fr est le site des mathématiques et de l'informatique des deux années des classes prépa scientifiques: plus de 2500 exercices et 200 problèmes (soigneusement corrigés), un cours complet (maths et info), plus de 400 sujets de concours, etc. Un contenu sans équivalent, dans une présentation fluide et professionnelle adaptée à tous les écrans, pour une souscription de 15€ (six mois), 25€ (un an) ou 35€ (deux ans).

Exercice 3. {(dimensions d’une matrice})}
Écrire une fonction « dims : ‘a array array -> int * int =  » calculant le couple {(n,p)} des dimensions d’une matrice (et renvoyant un message d’erreur si la « matrice » est malformée).
Cliquer ici pour voir (ou cacher) le corrigé
Pour voir la suite de ce contenu, vous devez : Pour poursuivre votre exploration, vous pouvez : Mathprepa.fr est le site des mathématiques et de l'informatique des deux années des classes prépa scientifiques: plus de 2500 exercices et 200 problèmes (soigneusement corrigés), un cours complet (maths et info), plus de 400 sujets de concours, etc. Un contenu sans équivalent, dans une présentation fluide et professionnelle adaptée à tous les écrans, pour une souscription de 15€ (six mois), 25€ (un an) ou 35€ (deux ans).

Exercice 4.
Écrire une fonction « add_matr : float array array -> float array array -> float array array » réalisant la somme de deux matrices de flottants (avec un message d’erreur si les deux matrices ne sont pas de même taille). On pourra réutiliser la fonction « dims » de l’exercice précédent.
Cliquer ici pour voir (ou cacher) le corrigé
Pour voir la suite de ce contenu, vous devez : Pour poursuivre votre exploration, vous pouvez : Mathprepa.fr est le site des mathématiques et de l'informatique des deux années des classes prépa scientifiques: plus de 2500 exercices et 200 problèmes (soigneusement corrigés), un cours complet (maths et info), plus de 400 sujets de concours, etc. Un contenu sans équivalent, dans une présentation fluide et professionnelle adaptée à tous les écrans, pour une souscription de 15€ (six mois), 25€ (un an) ou 35€ (deux ans).

Exercice 5.
Écrire une fonction « mult_matr : float array array -> float array array -> float array array » réalisant le produit de deux matrices de flottants (avec un message d’erreur si les tailles des deux matrices ne sont pas compatibles). On pourra réutiliser la fonction « dims » d’un exercice précédent.
Cliquer ici pour voir (ou cacher) le corrigé
Pour voir la suite de ce contenu, vous devez : Pour poursuivre votre exploration, vous pouvez : Mathprepa.fr est le site des mathématiques et de l'informatique des deux années des classes prépa scientifiques: plus de 2500 exercices et 200 problèmes (soigneusement corrigés), un cours complet (maths et info), plus de 400 sujets de concours, etc. Un contenu sans équivalent, dans une présentation fluide et professionnelle adaptée à tous les écrans, pour une souscription de 15€ (six mois), 25€ (un an) ou 35€ (deux ans).

Exercice 6.
Écrire une fonction « trace : float array array -> float » qui transpose une matrice carrée de flottants.
On pourra réutiliser la fonction « dims » d’un exercice précédent.
Cliquer ici pour voir (ou cacher) le corrigé
Pour voir la suite de ce contenu, vous devez : Pour poursuivre votre exploration, vous pouvez : Mathprepa.fr est le site des mathématiques et de l'informatique des deux années des classes prépa scientifiques: plus de 2500 exercices et 200 problèmes (soigneusement corrigés), un cours complet (maths et info), plus de 400 sujets de concours, etc. Un contenu sans équivalent, dans une présentation fluide et professionnelle adaptée à tous les écrans, pour une souscription de 15€ (six mois), 25€ (un an) ou 35€ (deux ans).

Exercice 7.
Écrire une fonction « transpose : ‘a array array -> ‘a array array » qui transpose une matrice.
On pourra réutiliser la fonction « dims » d’un exercice précédent.
Cliquer ici pour voir (ou cacher) le corrigé
Pour voir la suite de ce contenu, vous devez : Pour poursuivre votre exploration, vous pouvez : Mathprepa.fr est le site des mathématiques et de l'informatique des deux années des classes prépa scientifiques: plus de 2500 exercices et 200 problèmes (soigneusement corrigés), un cours complet (maths et info), plus de 400 sujets de concours, etc. Un contenu sans équivalent, dans une présentation fluide et professionnelle adaptée à tous les écrans, pour une souscription de 15€ (six mois), 25€ (un an) ou 35€ (deux ans).

Author: Jean-Michel Ferrard

Professeur de mathématiques en classe préparatoire aux grandes écoles.