BTS SIO - Notes de cours

Accueil > Première année > SI4-SI6 > Exercices sur les tableaux

Exercices sur les tableaux

vendredi 6 décembre 2013, par

Initialiser un tableau

  1. Écrire une fonction prenant en argument un tableau de type array[1..N] of integer, et le remplissant de zéros.
  2. Écrire une fonction prenant en argument un tableau t de type array[1..N] of integer, et le remplissant avec les valeurs d’une fonction f déclarée ailleurs dans le code. La case t[i] doit contenir la valeur f(i).
  3. Écrire une fonction prenant en argument un tableau de type array[1..N] of integer, et le remplissant de valeurs aléatoires.
    Indication : on rappelle que randint(0,m) renvoie un entier pseudo-aléatoire compris entre 0 et m. random() retourne une valeur réelle entre 0 et 1. Ils font tous les deux partie du module random.
    from random import *

    def zero(t):
            for i in range(len(t)):
                    t[i]=0

    def initZero(n):
            t=[]
            for i in range(n):
                    t.append(0)
            return t
                   
    def f(n):
            return 5*n
           
    def remplirParF(t):
            for i in range(len(t)):
                    t[i]=f(i)

    def remplirAleaInt(t):
            for i in range(len(t)):
                    t[i]=randint(0,100)

    def remplirAleaFloat(t):
            for i in range(len(t)):
                    t[i]=100*random()


    t=initZero(10)
    # On peut faire plus simplement : t = 10*[0], mais ce n'est pas ici notre propos
    print t
    remplirParF(t)
    print t
    remplirAleaInt(t)
    print(t)
    remplirAleaFloat(t)
    print(t)

Exemple dexécution :

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45]
[22, 59, 41, 45, 90, 55, 37, 30, 67, 17]
[65.12512814845743, 35.745883113584455, 41.759773998496584, 78.44458053669449, 75.35891904543732, 17.0411979517367, 8.582472894924397, 22.803358574597198, 99.73543020109312, 41.605763329900626]

Moyennes

  1. Écrire une fonction moyenne prenant en argument un tableau de réels, et renvoyant la moyenne de ses éléments.
  2. Écrire une fonction moyenne_elaguee prenant en argument un tableau de réels, et renvoyant de même la moyenne de ses éléments, élaguée du plus petit et du plus grand élément du tableau.
    Par exemple, la moyenne élaguée du tableau [12.0 ; 14.5 ; 8.1 ; 15.3] est 13.25=(12+14.5)/2, car 8.1 et 15.3 sont enlevés de la série.

Appliquer une fonction aux éléments d’un tableau

  1. Écrire une fonction prenant en argument un tableau d’entier t de type array[1..N] of integer, et augmentant tous ses éléments de 1.
  2. Modifier votre fonction de manière à ce qu’elle remplace chaque élément de t par son image par la fonction f définie autre part dans le code.

Ce tableau est-il trié ?

  1. Écrire une fonction croissant prenant en argument un tableau de type array[1..N] of integer, et renvoyant vrai si et seulement si le tableau est trié en ordre croissant.
  2. Modifier cette fonction de manière à ce qu’elle renvoie 0 si le tableau n’est pas trié, 1 si le tableau est trié en ordre croissant, et −1 s’il est trié en ordre décroissant.
    Attention au fait que les éléments du tableau ne sont pas nécessairement tous distincts.

Un message, un commentaire ?

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.