Exercices parcours

Algo 02

Exercices

Exercice 1 *

On souhaite construire une fonction qui renvoie la note la plus basse dans un tableau. Les notes sont comprises entre 0 et 20.

  1. Écrire la fonction note_mini(tab: list) -> int qui renvoie la valeur minimale du tableau tab.
  2. Construire par compréhension un tableau de 10 entiers aléatoires entre 0 et 20.
  3. Tester alors la fonction.

Exercice 2 *

Écrire la fonction extrema(tab: list) -> tuple qui renvoie les valeurs minimale et maximale du tableau tab, sous forme de tuple. On considérera qu’on travaille encore sur des tableaux d’entiers compris entre 0 et 20.

Exercice 3 *

Soit maxi_position(tab: list) -> tuple, la fonction qui renvoie un tuple contenant:

  • la valeur maximale du tableau tab,
  • l’indice de la première apparition de cette valeur.
  1. Avant de construire la fonction, écrire 3 assertions qu’elle doit passer. On choisira des tableaux de tests judicieux.
  2. Écrire la fonction.

Exercice 4 *

Écrire la fonction maxi_position_dernier(tab: list) -> tuple qui renvoie la valeur maximale du tableau tab et l’indice de la dernière apparition de cette valeur, sous forme de tuple.

Exercice 5 **

Soit la fonction maxi_nb(tab: list) -> int qui renvoie le nombre d’apparitions de la valeur maximale du tableau tab.

  1. Avant de construire la fonction, écrire 3 assertions qu’elle doit passer.
  2. Écrire l’algorithme de la fonction.
  3. Écrire la fonction.

Exercice 6 ***

  1. Construire par compréhension un tableau contenant trois tableaux. Chacun des tableaux contiendra cinq nombres aléatoires entre 0 et 100.
  2. Écrire la fonction somme_ligne(tab: list, lig: int) -> int qui calcule et renvoie la somme des entiers de la ligne passée en paramètre.
  3. Écrire la fonction maximum(tab: list) -> int qui renvoie l’entier le plus grand du tableau.

Exercice 7 ***

  1. Construire par compréhension le tableau suivant:
tab = [[0, 1, 2], [3, 4, 5], [6, 7, 8]]
  1. Écrire le programme qui parcourt le tableau et affiche:
0 1 2 3 4 5 6 7 8

Exercice 8 ***

  1. Construire par compréhension un tableau carré, dont le nombre de lignes (et donc de colonnes) est compris en 3 et 6. Ce tableau contiendra des entiers compris entre 0 et 100.
  2. Écrire la fonction recuperer_diagonale(tab: list) -> list qui renvoie les entiers de la diagonale descendante (du haut gauche vers le bas droite).