Colle d'informatique
Colle d’informatique n◦ 1.
Les exercices suivants sont à faire dans l’esprit de l’épreuve d’informatique de l’X. Cette épreuve est une épreuve de programmation qui se fait sur papier (sans machine). Il convient donc de bien maîtriser la programmation pour aborder cette épreuve. On ne vous demande des choses compliquées, simplement de savoir utiliser des boucles ((for)), les boucles conditionnelles, le ((if then else )) et l’adressage dans les tableaux. Un tableau a sera déclaré sous la forme : a := array(0..n-1) où l’entier n désigne la longueur du tableau que l’on veut créer. Il est utile de disposer d’une fonction donnant la longueur d’un tableau. Les tableaux Maple n’étant pas ceux que l’on rencontre dans les langages de programmation traditionnels, on considérera la fonction suivante : longueur := proc(a :: array) return(nops(convert(a,list))); end; 1. Écrire une fonction genere qui génère un tableau aléatoire de n valeurs entières comprises entre 1 et 400 (fonction Maple utile : rand ). 2. Écrire une fonction plusgrand qui retourne le plus grand entier contenu dans un tableau 3. Écrire une fonction indiceplusgd qui retourne l’indice de l’élément qui correspond au plus grand élément dans un tableau. 4. Écrire une fonction moyenne qui calcule la valeur moyenne d’un tableau. 5. Écrire une fonction maxsucc qui retourne la valeur max{|ai+1 − ai | | 0 i n − 2} où n est la longueur du tableau a. 6. Écrire une fonction ecrete qui étant donnés un tableau a et une valeur v retourne un tableau b construit à partir de a en remplaçant les valeurs supérieures à v par v. 7. Écrire une programme amplitude qui calcule l’amplitude maximale max{a[i] − a[j] | 0 i n, 0 j n} (le résultat devra être obtenu en ne parcourant qu’une seule fois le tableau a) 8. Écrire une programme croissance_max qui calcule la croissance maximale max{a[j] − a[i] | 0 i j n} (le résultat devra être obtenu en ne parcourant qu’une seule fois le tableau a) 9. Écrire une fonction premier qui