• Aucun résultat trouvé

Devoir n°1

N/A
N/A
Protected

Academic year: 2022

Partager "Devoir n°1"

Copied!
1
0
0

Texte intégral

(1)

Lycée René Cassin – PC

Devoir n°1

Durée : 1h Toutes les fonctions doivent être écrites en Python.

Exercice 1 – Un nouvel algorithme de tri

Soit N un entier naturel non nul. On cherche à trier une liste L d'entiers naturels strictement inférieurs à N.

1. Ecrire une fonction comptage, d'arguments L et N, renvoyant une liste P dont le k-ième élément désigne le nombre d'occurrences de l'entier k dans la liste L.

2. Utiliser la liste P pour en déduire une fonction tri, d'arguments L et N, renvoyant la liste L triée dans l'ordre croissant.

3. Quelle est la complexité temporelle de cet algorithme ? La comparer à la complexité d'un tri par insertion ou d'un tri fusion.

Exercice 2 – Questions autour des matrices

Dans cet exercice, une matrice sera une liste de N listes, ces dernières représentant les N lignes de la matrice.

Ainsi, A = [[1,2,3],[4,5,6]] définit une matrice à deux lignes (L0 et L1) et trois colonnes (C0, C1, C2) vérifiant A[0][1]=2.

Les questions 1 et 5 sont indépendantes des questions 2, 3, 4.

1. Ecrire une fonction identite de paramètre un entier n qui renvoie la matrice identité d’ordre n.

2. Ecrire une fonction determinant de paramètre une matrice carrée M d’ordre n ≥ 2 qui renvoie le déterminant de M en effectuant un calcul direct si n = 2 ou de manière récursive en utilisant le développement par rapport à la première ligne si n > 2.

3. Evaluer la complexité de la fonction determinant, en comptant le nombre de multiplications effectuées.

4. Comparer cette complexité avec celle du pivot de Gauss, qui permet également d’effectuer des calculs de déterminants (voir TP4. Applications du pivot de Gauss).

5. Une matrice de Hadamard est une matrice carrée dont les coefficients sont tous 1 ou –1 et dont les lignes sont toutes orthogonales entre elles.

Exemples : H1 = (1) H2 = �1 1

1 −1� H4 = �

1 1 1 1

1 −1 1 −1 1 1 −1 −1 1 −1 −1 1

Sylvester propose une construction de matrices de Hadamard basée sur la propriété suivante : Si H est une matrice de Hadamard d’ordre n, alors �𝐻𝐻 𝐻𝐻

𝐻𝐻 −𝐻𝐻� est une matrice de Hadamard d’ordre 2n.

Ecrire une fonction récursive sylvester prenant en paramètre un entier n, sous la forme 2k, et renvoyant une matrice de Hadamard d’ordre n.

Jacques Salomon Hadamard (1865 –1963) est un mathématicien français, connu pour ses travaux en théorie des nombres et en cryptologie.

La question ouverte la plus importante à propos des matrices de Hadamard est celle de leur existence. D'après la conjecture de Hadamard, une matrice de Hadamard d'ordre 4k existe pour tout entier positif k. À la suite de l'annonce de la découverte d'une matrice de Hadamard d'ordre 428 le 21 juin 2004 par Hadi Kharaghani et Behruz Tayfeh-Rezaie, le plus petit ordre multiple de 4 pour lequel aucune matrice de Hadamard n'est connue est actuellement 668.

Références

Documents relatifs

Écrire une fonction d’entête def compatible(chien1: Chien, chien2: Chien) -> bool: renvoyant True si deux chiens ont une race en commun (parmi leur liste de races) et False dans

Écrire une fonction est_premier prenant en paramètre un entier n que l’on supposera plus grand que 2 (ne pas le vérifier dans le code) et renvoyant True ou False suivant que n

Écrivez une fonction récursive renvoyant True si la chaîne passée en paramètre est un palindrome, et False sinon (on suppose que tous les caractères sont des minuscules

Ecrire une analyse, un algorithme et un programme Pascal qui permet de calculer et d'afficher la mesure de l’aire de la partie hachurée..  Bon Travail

Écrire une procédure ou une fonction itérative (c'est-à-dire pas récursive) qui permet de calculer F(n) et un programme pour la tester. Exercice 14. Ecrire une

Ecrire une structure algorithmique qui permet de calculer la somme des chiffres extraits d’une chaine

Écrire, avec le logiciel Algobox, un algorithme prenant comme arguments (entrées) les coordonnées de trois points et renvoyant (sortie) la nature du triangle dont les sommets sont

´ Ecrire une fonction prixVenteMax(p,n) prenant en param` etres le catalogue p des prix (sous forme d’une liste) et la longueur n d’une tige et renvoyant le prix de vente maximal r