QCM DIDACTIQUE NSI

Il est recommandé de lire les compléments et précisions apportées par les fenêtres qui s'ouvrent à chaque clic sur les boutons radios

Pour réviser la notion abordée dans une question, vous pouvez visionner la vidéo, stylo à la main et refaire les exemples détaillés. Il faudra aussi relire les cours et TD dont vous disposez et entrainez vous encore.

Traitement de données en tables

  1. Qu’est ce qui caractérise un fichier csv?
    C’est un fichier contenant des n-uplets nommés ou pas, séparés par des virgules ou des points virgules
    C’est un fichier texte où les valeurs sont séparées par une virgule ou un point virgule
    C’est un tableau de données numériques où les valeurs sont séparées par une virgule où les valeurs sont séparées par une virgule
    C’est un fichier contenant des tableaux séparés par des virgules ou des points virgules
  2. Pour les questions qui suivent, table utilisée sera la table des joueurs de football crée ci-dessous:
    
    from collections import namedtuple
    #première pour première sélection en équipe de France et dernière, pour dernière sélection en équipe de France.
    joueur = namedtuple('foot',['nom','Poste','première','dernière','nb_sélections','nb_buts'] )
    Henry=joueur('Thierry Henry',    'Attaquant',   1997 ,   2010,    123 ,    51  )
    Platini=joueur('Michel Platini'  , 'Milieu' , 1976   , 1987 ,   72  ,41  )
    Giroud=joueur('Olivier Giroud' ,   'Attaquant' ,  2011   ,  ''  , 97 , 39 ) 
    Trezeguet=joueur('David Trezeguet'    ,  'Attaquant'  , 1998  ,  2008   , 71 , 34 ) 
    Zidane=joueur('Zinédine Zidane'    ,  'Milieu' , 1994   , 2006   , 108 ,    31 ) 
    Papin=joueur('Jean-Pierre Papin'   ,  'Attaquant' ,  1986,    1995,    54,  30 )
    table=[]
    table=[Henry,Platini,Giroud,Trezeguet,Zidane,Papin]
    

  3. Quelle phrase décrit la table table?
    table est un tableau contenant des tableaux
    table est un tableau contenant des chaînes de caractères
    table est un tableau contenant des n-uplets nommés
    table est un n-uplet contenant des tableaux
    Revoir,les tuples en python
  4. Que permettent ces instructions ?
    
    print(getattr(table[1], 'nom'))
    print(table[1].nom)
    

    Elles permettent d'afficher le prénom et le nom du premier joueur de la table, c'est à dire Thierry Henry
    Elles permettent d'afficher le prénom et le nom du deuxième joueur de la table, c'est à dire Michel Platini
    Elles permettent d'afficher tous les noms des joueurs de la table
    Elles permettent d'afficher les initiales de tous les joueurs de la table
  5. Que permettent précisément ces instructions ?
    
    for footballeur in table:
        if getattr(footballeur, 'première')<2000:
            print(footballeur)
    

    D'afficher tous les prénoms et les noms des joueurs ayant été sélectionnés avant 2000 pour la première fois
    D'afficher toutes les dates de première sélection des joueurs ayant été sélectionnés avant 2000 pour la première fois
    D'afficher tous les n-uplets nommés des joueurs ayant été sélectionnés avant 2000 pour la première fois
    D'afficher le tableau contenant tous les noms des joueurs ayant été sélectionnés avant 2000 pour la première fois
  6. Le code ci-dessous permet de créer deux nouveaux tableaux, table2 et table3
    
    Fontaine=joueur('Just Fontaine' ,  'Attaquant' ,  1953  ,  1960 ,   21  ,30  )
    Griezmann=joueur('Antoine Griezmann'  ,   'Attaquant' ,  2014   ,''  ,   78  ,30 ) 
    Djorkaeff=joueur('Youri Djorkaeff' ,  'Milieu',  1993  ,  2002 ,   82 , 28 ) 
    Benzema=joueur('Karim Benzema'  , 'Attaquant'  , 2007   , 2015  ,  81  ,27  )
    Wiltord=joueur('Sylvain Wiltord' , 'Attaquant' ,  1999 ,   2006  ,  92 , 26 ) 
    Vincent=joueur('Jean Vincent'  , 'Attaquant'  , 1953 ,   1961 ,   46,  22)
    table2=[Fontaine,Griezmann,Djorkaeff,Zidane,Benzema,Wiltord,Vincent,Zidane,Papin]
    table3=[]
    

    Peut-on fusionner les tableaux table et table2 dans table3?
    Non, car ils n'ont pas la même taille
    Non, car il y a des doublons
    Oui, mais on ne peut pas le faire en Python
    Oui, il suffit d'ajouter cette ligne de code : table3=table+table2
  7. Dans ce code, table3 est le tableau crée à la question précédente. Quel est le rôle final de ce code?
    
    doublon=[]
    i=0
    for elt in table3:
        renc=0
        for elt1 in table3:
            if elt==elt1 :
                renc=renc+1
        if renc>1:
            table3.pop(i)
        i=i+1      
    
    

    De comptabiliser le nombre d'éléments dans le tableau table3.
    De comptabiliser le nombre de doublons dans le tableau table3.
    De supprimer les n-uplets doublons de table3
    De conserver les n-uplets doublons de table3