Aller au contenu

Structures de donnees Terminale

Structures de données (Terminale) - Programmation objet

n°295
On a saisi le code suivant :

class Account:  
    def __init__(self, id):  
        self.id = id  
        id = 666   
acc = Account(123)  
num = acc.id  
Que contient la variable num à la fin de l’exécution de ce script ?

  • 123
  • 666
  • None
  • SyntaxError

Structures de données (Terminale) - Programmation objet

n°296
On a saisi le code suivant :

class account:  
    def __init__(self, id, balance):  
        self.id = id  
        self.balance = balance  
    def deposit(self, amount):  
        self.balance += amount  
    def withdraw(self, amount):  
        self.balance -= amount  
myac = account('123', 100)  
myac.deposit(800)  
myac.withdraw(500)  
myac.deposit(200)  
Que vaut myac.balance à la fin de l’exécution de ce script ?

  • 600
  • 100
  • 800
  • 200

Structures de données (Terminale) - Programmation objet

n°1407
Attributs d'une instance de classe
On a saisi le code suivant :

class Test:
    def __init__(self, a,b):
        self.x = a
        self.y = b
u = Test(4,5)
Laquelle des expressions suivantes a pour valeur 4 ?

  • u.a
  • u.b
  • u.x
  • u.y

Structures de données (Terminale) - Programmation objet

n°1408
Comparaison entre objets
On a saisi le code suivant :

class Coord:
    def __init__(self, a,b):
        self.x = a
        self.y = b
u = Coord(0,5)
v = Coord(0,5)
Laquelle de ces expressions est évaluée à True?

  • u == v
  • u.a == v.a and u.b == v.b
  • u.x == v.x and u.y == v.y
  • Coord(0,5) == v

Structures de données (Terminale) - Programmation objet

n°1409
instance et attribut
On a saisi le code suivant :

class Store:
    def __init__(self, v):
        self.value = v
a = Store(10)
a.value += 2
b = Store(a.value)
a.value += 2
Quelle est la valeur de : b.value

  • a.value
  • 10
  • 12
  • 14

Structures de données (Terminale) - Programmation objet

n°1410
Attribut d'un objet
On a saisi le code suivant :

class Student:
    def __init__(self, name):
        self.name = name
bob = Student('BOB')
name = 'nom'
Quelle est la valeur de l'expression : bob.name

  • 'name'
  • 'nom'
  • 'BOB'
  • 'bob'

Structures de données (Terminale) - Programmation objet

n°1411
Méthode et attribut
On a saisi le code suivant :

class Student:
    def __init__(self, name):
        self.name = name
    def mystere(self, x):
        return self.name + x
james = Student('JAMES')
bond = Student('BOND')
Laquelle des expressions suivantes a la valeur : 'JAMESBOND'

  • mystere(james,bond.name)
  • mystere(james,bond)
  • james.mystere(bond.name)
  • james.mystere(bond)

Structures de données (Terminale) - Programmation objet

n°1412
Une méthode, deux instances
On a saisi le code suivant :

class Score:
    def __init__(self, value):
        self.value = value
    def mystere(self, a):
        return self.value > a.value
x = Score(100)
y = Score(80)
Laquelle des expressions suivantes est évaluée à True ?

  • x.mystere(x)
  • x.mystere(y)
  • y.mystere(x)
  • y.mystere(y)

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1443
Structures de données
En informatique, une pile (en anglais stack) est :

  • une structure de donnĂ©es fondĂ©e sur le principe «dernier arrivĂ©, premier sorti» (ou LIFO pour Last In, First Out)
  • une structure de donnĂ©es fondĂ©e sur le principe «premier arrivĂ©, premier sorti» (ou FIFO pour First In, First Out)
  • une base de donnĂ©es fondĂ©e sur le principe «dernier arrivĂ©, dernier sorti» (ou LILO pour Last In, Last Out)
  • une base de donnĂ©es fondĂ©e sur le principe «premier arrivĂ©, dernier sorti» (ou FILO pour First In, Last Out)

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1444
Structures de données
En informatique, une file (queue en anglais ) est :

  • une structure de donnĂ©es basĂ©e sur le principe «Premier entrĂ©,premier sorti», en anglais FIFO (First In, First Out)
  • une structure de donnĂ©es basĂ©e sur le principe «Dernier entrĂ©,premier sorti», en anglais LIFO (Last In, First Out)
  • une base de donnĂ©es basĂ©e sur le principe «Dernier entrĂ©,dernier sorti», en anglais LILO (Last In, Last Out)
  • une base de donnĂ©es basĂ©e sur le principe «Premier entrĂ©,dernier sorti», en anglais FILO (First In, Last Out)

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1445
Structure de données
En informatique, un usage courant d'une pile, par exemple, est:

  • Dans un navigateur web, une pile sert Ă  mĂ©moriser les pages Web visitĂ©es.
  • Les serveurs d’impression, qui doivent traiter les requĂŞtes dans l’ordre dans lequel elles arrivent, et les insèrent dans une pile.
  • On utilise des piles pour mĂ©moriser temporairement des transactions qui doivent attendre pour ĂŞtre traitĂ©es.
  • La rĂ©alisation d'un rĂ©pertoire tĂ©lĂ©phonique.

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1446
Structure de données
En informatique, l'usage d'une file se fait couramment pour :

  • Les serveurs d’impression, qui doivent traiter les requĂŞtes dans l’ordre dans lequel elles arrivent, et les insèrent dans une file d’attente (ou une queue).
  • La fonction «Annuler la frappe» (en anglais «Undo») d’un traitement de texte qui mĂ©morise les modifications apportĂ©es au texte dans une file.
  • L’évaluation des expressions mathĂ©matiques en notation post-fixĂ©e (ou polonaise inverse en file).
  • MĂ©moriser temporairement des transactions qui doivent attendre dans une file pour ĂŞtre traitĂ©es.

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1447
Structure de données
Voici l'implémentation d'une pile en utilisant une simple liste.
On a saisi le code suivant :

def pile():
    return []
def vide(p):
    return p==[]
def empiler(p,x):
    p.append(x)
def depiler(p):
    assert not vide(p)
    return p.pop()
p=pile()
for i in range(7):
    empiler(p,2*i)
a=depiler(p)
print(a)
print(vide(p))
Quel affichage obtient-on à la fin de l’exécution de ce script ?

  • 12 False
  • 14 None
  • 12 [ ]
  • 7 True

Structures de données (Terminale) - Programmation objet

n°1448
Instance et attribut

On a saisi le code suivant :
class Bizarre:
    def __init__(self, v):
        self.value = v
    def truc(self,chose):
        return self.value+chose
a = Bizarre(5)
a.value += 2
b = a.truc(3)
b += 4
Quelle est la valeur de b?

  • 3
  • 8
  • 12
  • 14

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1469
liste chaînée
On a saisi le code suivant :

class Maillon:
    def __init__(self, val, suiv):
        self.valeur = val
        self.suivant = suiv
def mystere(lst, n):
    if n == 0:
        return lst.valeur
    else:
        return mystere(lst.suivant, n-1)
lst0 = Maillon(10,Maillon(20,Maillon(30,None)))
Quelle est la valeur de mystere(lst0, 2)

  • 10
  • 20
  • 30
  • cette commande renvoie une erreur !

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1470
liste chaînée
On a saisi le code suivant :

class Maillon:
    def __init__(self, val, suiv):
        self.valeur = val
        self.suivant = suiv
def mystere(lst, n):
    if n == 0:
        return lst.valeur
    else:
        return mystere(lst.suivant, n-1)
a = Maillon(10,None)
b = Maillon(20,a)
c = Maillon(30,b)
Quelle est la valeur de mystere(c, 2)

  • 10
  • 20
  • 30
  • cette commande renvoie une erreur !

Structures de données (Terminale) - Programmation objet

n°1471
liste chaînée
On a saisi le code suivant :

class Maillon:
    def __init__(self, val, suiv):
        self.valeur = val
        self.suivant = suiv
a = Maillon(10,None)
b = Maillon(20,a)
c = Maillon(30,b)
Parmi les expressions suivantes, quelle est celle dont la valeur est 20 ?

  • a.suivant.valeur
  • a.valeur.suivant
  • c.suivant.valeur
  • c.valeur.suivant

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1472
liste chaînée
On a saisi le code suivant :

class Maillon:
    def __init__(self, val, suiv):
        self.valeur = val
        self.suivant = suiv
def mystere(lst):
    if lst is None:
        return ''
    else:
        return mystere(lst.suivant) + '-' + str(lst.valeur)
lst = Maillon(10,Maillon(20,Maillon(30,None)))
Qu'obtient-on en exécutant mystere(lst)

  • -10-20-30
  • 10-20-30
  • -30-20-10
  • 30-20-10

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1473
liste chaînée
On a saisi le code suivant :

class Maillon:
    def __init__(self, val, suiv):
        self.valeur = val
        self.suivant = suiv
def mystere(lst):
    if lst.suivant is None:
        return str(lst.valeur)
    else:
        return str(lst.valeur) + '-' +mystere(lst.suivant)
lst = Maillon(10,Maillon(20,Maillon(30,None)))
Qu'obtient-on en exécutant mystere(lst)

  • 10-20-30
  • -10-20-30
  • 30-20-10
  • -30-20-10

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1474
liste chaînée
On a saisi le code suivant :

class Maillon:
    def __init__(self, val, suiv):
        self.valeur = val
        self.suivant = suiv
def mystere(lst):
    if lst.suivant is not None:
        mystere(lst.suivant)
        print(lst.valeur)
a = Maillon(10,None)
b = Maillon(20,a)
c = Maillon(30,b)
quel affichage obtient-on en exécutant mystere(c)

  • 10
    20
    30
    
  • 20
    30
    
  • 30
    20
    10
    
  • 30
    20
    

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1475
On a saisi le code suivant :

class Maillon:
    def __init__(self, val, suiv):
        self.valeur = val
        self.suivant = suiv
def mystere(lst):
    if lst is  None:
        return 0
    return lst.valeur + mystere(lst.suivant)
a = Maillon(10,None)
b = Maillon(20,a)
c = Maillon(30,b)
quelle est la valeur de mystere(c)

  • 30
  • 50
  • 60
  • 0

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1476
On a saisi le code suivant :

class Maillon:
    def __init__(self, val, suiv):
        self.valeur = val
        self.suivant = suiv
def mystere(lst):
    if lst.suivant is  None:
        return 0
    return lst.valeur + mystere(lst.suivant)
a = Maillon(10,None)
b = Maillon(20,a)
c = Maillon(30,b)
quelle est la valeur de mystere(c)

  • 30
  • 50
  • 60
  • 0

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1477
On a saisi le code suivant :

class Maillon:
    def __init__(self, val, suiv):
        self.valeur = val
        self.suivant = suiv
def mystere(lst):
    if lst.suivant is None:
        return lst.valeur
    return mystere(lst.suivant)
a = Maillon(10,None)
b = Maillon(20,a)
c = Maillon(30,b)
quelle est la valeur de mystere(c)

  • 30
  • 20
  • 10
  • None

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1478
On a saisi le code suivant :

class Maillon:
    def __init__(self, val, suiv):
        self.valeur = val
        self.suivant = suiv
def mystere(lst):
    if lst.suivant is not None:
        return lst.valeur
    else :
        return 0
a = Maillon(10,None)
b = Maillon(20,a)
print(mystere(a), mystere(b) )
quel sera l'affichage obtenu à l'exécution de ce code?

  • 10 20
  • 0 10
  • 0 20
  • 30

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1479
On a saisi le code suivant :

class Maillon:
    def __init__(self, val, suiv):
        self.valeur = val
        self.suivant = suiv
def mystere(lst):
    if lst.suivant is None:
        return ''
    return str(lst.valeur) + '-' + mystere(lst.suivant)
a = Maillon(10,None)
b = Maillon(20,a)
c = Maillon(30,b)
a.suivant = c
quelle est la valeur de mystere(c)

  • '30-20-10'
  • '30-20-'
  • '30-20'
  • cette commande renvoie une RecursionError

Structures de données (Terminale) - Autres

n°1507
Programmation fonctionnelle
Quelle est l’issue du code suivant ?

mesFonctions = [lambda x : x ** 2, lambda x : x ** 3, lambda x : x ** 4]
for f in mesFonctions :
    print(f(3), end = ' ')
print()

  • 27 81 343
  • 9 27 81
  • f(3) f(3) f(3)
  • Rien car on ne peut pas crĂ©er des listes de fonctions

Structures de données (Terminale) - Autres

n°1508
Programmation fonctionnelle
On considère les définitions de fonctions suivantes :

def f1(x):
    return x + 3
def f2(x):
    return x ** 2
def c(f, g):
    return lambda x : f(g(x))
Que renvoie c(f1, f2)(3) ?

  • une erreur
  • l'entier 36
  • l'entier 12
  • la chaĂ®ne 'f1(f2)(3)'

Structures de données (Terminale) - Programmation objet

n°1511
On définit la classe identité de la manière suivante :

class identite:
    def __init__(self, nom, prenom, annee):
        self.nom = nom
        self.prenom = prenom
        self.annee = annee
    def age(self, a):
        return a - self.annee
Que s’affichera-t-il si on exécute les deux instructions suivantes ?
theo = identite('Théo', 'Courant', 2001)
print(theo.age(2020))

  • ThĂ©o
  • Courant
  • 2001
  • 19

Structures de données (Terminale) - Programmation objet

n°1512
On définit la classe voiture de la manière suivante :

class voiture:
    def __init__(self, nom, couleur, puissance):
        self.nom = nom
        self.couleur = couleur
        self.puissance = puissance
    def nc(self):
        return nom + couleur
Que s’affichera-t-il si on exécute les deux instructions suivantes ?
deudeuche = voiture('2CV', 'Mauve', 2)
print(deudeuche.nc())

  • 2CVMauve
  • 2CV Mauve
  • Une erreur
  • ('2CV', 'Mauve')

Structures de données (Terminale) - Programmation objet

n°1513
On définit la classe tri de la manière suivante :

class tri:
    def __init__(self, a, b, c):
        self.a = a
        self.b = b
        self.c = c
    def est_rectangle(self):
        cot = self.a**2 + self.b**2 # Cotés
        hyp = self.c**2 # Hypoténuse
        return cot == hyp
Que s’affichera-t-il si on exécute les deux instructions suivantes ?
t = tri(3,4,5)
tri.est_rectangle()

  • True
  • Une erreur
  • Rien
  • False

Structures de données (Terminale) - Arbres

n°1514
Dans quel ordre vont être traîtées
les clés lors d’un parcours infixe ?
image

  • 4, 3, 7, 0, 2, 5, 8
  • 4, 3, 0, 2, 7, 5, 8
  • 3, 0, 2, 4, 7, 5, 8
  • 0, 3, 2, 4, 5, 8, 7

Structures de données (Terminale) - Arbres

n°1516
Dans les parcours suivants, lequel est faux ?
image

  • parcours prĂ©fixe : 1, 2, 4, 7, 5, 8, 3, 6, 9
  • Rendu du parcours postfixe : 4, 7, 8, 5, 2, 9, 6, 3, 1
  • Rendu du parcours infixe : 4, 2, 7, 5, 8, 1, 3, 9, 6
  • Rendu du parcours en largeur : 1, 2, 3, 4, 5, 6, 7, 8, 9

Structures de données (Terminale) - Arbres

n°1517
La clé à la racine d’un arbre binaire de recherche (ou d’un sous-arbre) est toujours :
(on rappel que le parcours utilisé dans les ABR est de type profondeur Infixe avec une sortie croissante)

  • • plus grande que les clĂ©s prĂ©sentes dans son fils gauche;
  • • plus grande que les clĂ©s prĂ©sentes dans son fils droit.
  • • plus grande que les racines prĂ©sentes sous son pied droit.
  • • plus grande que les clĂ©s prĂ©sentes dans sa main droite.

Structures de données (Terminale) - Programmation objet

n°1523
Les variables d'une classe sont appelées des méthodes.

  • rĂ©ponse A
  • rĂ©ponse B
  • Vrai
  • Faux

Structures de données (Terminale) - Programmation objet

n°1524
Les fonctions d'une classe sont appelées des méthodes.

  • rĂ©ponse A
  • rĂ©ponse B
  • Faux
  • Vrai

Structures de données (Terminale) - Arbres

n°1533
Arbre binaire de recherche
Quelle peut-être la valeur (ou clé) manquante de cet arbre binaire de recherche ?
image

  • 16
  • 18
  • 21
  • 10

Structures de données (Terminale) - Arbres

n°1535
Arbre binaire
Quelle est la taille de cet arbre ?
image

  • 2
  • 3
  • 7
  • \(2^3\)

Structures de données (Terminale) - Arbres

n°1536
Arbre
Quelle séquence correspond au parcours en largeur de cet arbre ?
image

  • ['F', 'K', 'G', 'E', 'A', 'T', 'B']
  • ['G', 'E', 'T', 'B', 'K', 'A', 'F']
  • ['F', 'A', 'B', 'T', 'K', 'E', 'G']
  • ['F', 'K', 'A', 'G', 'E', 'T', 'B']

Structures de données (Terminale) - Programmation objet

n°1539
Programmation objet
Comment sont appelées les fonctions définies dans une classe ?

  • Des procĂ©dures
  • Des mĂ©thodes
  • Des sous fonctions
  • Des fonctions locales

Structures de données (Terminale) - Graphes

n°1552
Quel est le type de ce graph ?
image

  • Un graph niveau 18
  • Un graph orientĂ© avec coĂ»ts
  • un graph non orientĂ©
  • un graph dĂ©sorientĂ©

Structures de données (Terminale) - Graphes

n°1553
Qu'est-ce que l'ordre d'un graph ?

  • Le nombre de ses sommets
  • Le nombre de ses arrĂŞtes
  • Le nombre de ses sommets de degrĂ© impaire
  • Le nombre de noeuds adjacents maximum.

Structures de données (Terminale) - Programmation objet

n°1662
Vocabulaire
Comment s'appellent les fonctions qui sont dans une classe ?

  • Des mĂ©thodes
  • Des objets
  • Des instances
  • Des fonctions

Structures de données (Terminale) - Programmation objet

n°1663
Faire un nouvel objet
On a saisi le code suivant :

class Personne:
  def __init__(self, nom, dateNaiss, villeNaiss):
    self.nom = nom
    self.date = dateNaiss
    self.ville = villeNaiss
On crée un nouvel objet p en écrivant :

  • p==Personne('Fabien', 1978, 'Paris')
  • p=Personne('Fabien', 1978, 'Paris')
  • p.Personne('Fabien', 1978, 'Paris')
  • Personne('Fabien', 1978, 'Paris')=p

Structures de données (Terminale) - Programmation objet

n°1664
Vocabulaire
Qu'est-ce qu'un objet en python ?

  • Une mĂ©thode
  • Une instance de classe
  • Une fonction dans une classe
  • Un type

Structures de données (Terminale) - Programmation objet

n°1667
Vocabulaire des classes
On a saisi le code suivant :

class Piece:
    def __init__(self,nom,surface):
        self.nom=nom
        self.surface=surface
    def getSurface(self):
        return self.surface
    def getNom(self):
        return self.nom
    def setSurface(self,s):
        self.surface=s
Quelle est le type de __init__ ?

  • Un constructeur
  • Un accesseur
  • Un mutateur
  • Autre

Structures de données (Terminale) - Programmation objet

n°1668
Vocabulaire des classes
On a saisi le code suivant :

class Piece:
    def __init__(self,nom,surface):
        self.nom=nom
        self.surface=surface
    def getSurface(self):
        return self.surface
    def getNom(self):
        return self.nom
    def setSurface(self,s):
        self.surface=s
Quelle est le type de setSurface ?

  • Un accesseur
  • Un constructeur
  • Un mutateur
  • Autre

Structures de données (Terminale) - Programmation objet

n°1669
Vocabulaire des classes
On a saisi le code suivant :

class Piece:
    def __init__(self,nom,surface):
        self.nom=nom
        self.surface=surface
    def getSurface(self):
        return self.surface
    def getNom(self):
        return self.nom
    def setSurface(self,s):
        self.surface=s
Quelle est le type de getSurface ?

  • Un accesseur
  • Un constructeur
  • Un mutateur
  • Autre

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1677
Structure de pile
Pour implémenter une structure de pile on a créé les fonctions suivantes :
creerPile() -> pile
Renvoie une pile vide. pileVide(p) -> booléen
Teste si la pile p est vide et renvoie le booléen obtenu. empiler(p,e) -> None
Empile l'élément e sur la pile p. depiler(p) -> élément
Dépile la pile p et renvoie l'élément dépilé.
Sachant que p est une pile qui contient au moins deux éléments, quel sera l'effet du code suivant ?

a=depiler(p)
b=depiler(p)
empiler(p,a)
empiler(p,b)

  • La pile p est inchangĂ©e.
  • Les deux Ă©lĂ©ments au sommet de la pile p sont Ă©changĂ©s.
  • Les deux Ă©lĂ©ments au sommet de la pile p sont supprimĂ©s.
  • Le code va provoquer une erreur.

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1678
Structure de pile
Pour implémenter une structure de pile on a créé les fonctions suivantes :
creerPile() -> pile
Renvoie une pile vide pileVide(p) -> booléen
Teste si la pile p est vide et renvoie le booléen obtenu. empiler(p,e) -> None
Empile l'élément e sur la pile p. depiler(p) -> élément
Dépile la pile p et renvoie l'élément dépilé.
Sachant que p est une pile qui contient au moins trois éléments, quel sera l'effet du code suivant ?

a=depiler(p)
b=depiler(p)
c=depiler(p)
empiler(p,b)
empiler(p,a)

  • Les deux Ă©lĂ©ments au sommet de la pile p sont Ă©changĂ©s.
  • Le troisième Ă©lĂ©ment Ă  partir du sommet de la pile p est supprimĂ©.
  • Le code provoque une erreur.
  • Les deux Ă©lĂ©ments au sommet de la pile p sont supprimĂ©s.

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1679
Structure de pile
Pour quelle application utilisera-t'on une structure de pile ?

  • Dans un Ă©diteur de texte un bouton de retour arrière de type Ctrl-z.
  • Dans un bloc note une page pour afficher une liste de course.
  • Dans un jeu vidĂ©o une liste pour contenir les meilleurs scores.
  • Pour crĂ©er une playlist avec un fournisseur de musique.

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1693
Structure de pile
Pour implémenter une structure de pile on a créé les fonctions suivantes :
creerPile() -> pile
Renvoie une pile vide pileVide(p) -> booléen
Teste si la pile p est vide et renvoie le booléen obtenu. empiler(p,e) -> None
Empile l'élément e sur la pile p. depiler(p) -> élément
Dépile la pile p et renvoie l'élément dépilé.
On exécute les instructions suivantes ;

p1=creerPile()
empiler(p1,17)
empiler(p1,25)
empiler(p1,3)
empiler(p1,8)
a=depiler(p1)
b=depiler(p1)
Quelle sera la valeur de la variable b ?

  • 17
  • 25
  • 3
  • 8

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1694
Structure de file
Pour implémenter une structure de file on a créé les fonctions suivantes :
creerFile() -> file
Renvoie une file vide fileVide(f) -> booléen
Teste si la file f est vide et renvoie le booléen obtenu. enfiler(f,e) -> None
Enfile l'élément e dans la file f. defiler(f) -> élément
Défile la file f et renvoie l'élément défilé.
On exécute les instructions suivantes :

f1=creerFile()
enfiler(f1,17)
enfiler(f1,25)
enfiler(f1,3)
enfiler(f1,8)
a=defiler(f1)
b=defiler(f1)
Quelle sera la valeur de la variable b ?

  • 17
  • 25
  • 3
  • 8

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1695
Structure de pile
Pour implémenter une structure de pile on a créé les fonctions suivantes :
creerPile() -> pile
Renvoie une pile vide pileVide(p) -> booléen
Teste si la pile p est vide et renvoie le booléen obtenu. empiler(p,e) -> None
Empile l'élément e sur la pile p. depiler(p) -> élément
Dépile la pile p et renvoie l'élément dépilé.
Sachant que p est une pile qui contient au moins trois éléments, quel code permet de supprimer le deuxième élément de la pile p en partant du sommet et uniquement celui ci ?

  • a=depiler(p)
    b=depiler(p)
    empiler(p,a)
    
  • a=depiler(p)
    b=depiler(p)
    empiler(p,b)
    
  • a=depiler(p)
    b=depiler(p)
    
  • a=depiler(p)
    empiler(p,a)
    b=depiler(p)
    

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1696
Structure de file
Pour implémenter une structure de file on a créé les fonctions suivantes :
creerFile() -> file
Renvoie une file vide fileVide(f) -> booléen
Teste si la file f est vide et renvoie le booléen obtenu. enfiler(f,e) -> None
Enfile l'élément e dans la file f. defiler(f) -> élément
Défile la file f et renvoie l'élément défilé.
la file f1 contient les nombres entiers suivants :
> 3, 8, 2, 10, 5 >
On exécute alors le code ci-dessous

f2=creerFile()
while not fileVide(f1):
   a=defiler(f1)
   enfiler(f2,a)
Quel sera le contenu de la file f2 ?

  • > 3, 8, 2, 10, 5 >
  • > 5, 10, 2, 8, 3 >
  • La file f2 sera vide.
  • > 5, 3, 8, 2, 10 >

Structures de données (Terminale) - Programmation objet

n°1711
Vocabulaire
Comment appelle-t-on les variables propres Ă  nos objets?

  • Des variables locales
  • Des attributs
  • Des mĂ©thodes
  • Des instances

Structures de données (Terminale) - Programmation objet

n°1746
Une classe Couleur
Voici la définition d'une classe Couleur.

class Couleur:
    def __init__(self, t):
        self.r, self.g, self.b = t
    def rgb_vers_hex(self):
        return f'#{self.r:02x}{self.g:02x}{self.b:02x}'
    def __str__(self):
        return f'({self.r}, {self.g}, {self.b})'
Qu'affiche la commande print(Couleur(255, 255, 255)) ?

  • TypeError
  • #ffffff
  • (255, 255, 255)
  • SyntaxError

Structures de données (Terminale) - Programmation objet

n°1748
Une classe minimale ?
On considère le code suivant :

class Mon_objet:
    pass
o = Mon_objet()
o.attribut = 0
À l'exécution :

  • le script s'arrĂŞte avec: AttributeError
  • l'excĂ©cution se dĂ©roule normalement : pas d'erreur.
  • le script s'arrĂŞte avec : InitError
  • le script s'arrĂŞte avec : 'o is not a valid object'

Structures de données (Terminale) - Arbres

n°1793
Arbre et abr !
Voici le code qui permet de créer un arbre:

Noeud(33,Noeud(15,Noeud(10,None,None),Noeud(20,Noeud(12,None,None),None)),Noeud(40,None,None))
Quelle réponse est fausse parmi les propositions suivantes ?
image

  • En retirant une valeur de l'arbre donnĂ©, on obtient un arbre binaire de recherche.
  • L'algorithme suivant permet de dĂ©terminer la plus grande valeur:
    Début
    TantQue fils_droit(x) != None Faire
        x <- fils_droit(x)
    FinTantQue
    Retourner (x)
    Fin
    
  • Dans un arbre binaire de recherche la plus petite valeur est la plus Ă  gauche.
  • Le code suivant permet de dire si la valeur x appartient Ă  l'arbre de recherche k
    ABRRecherche(x,k)
    Début
    Si x == None Alors
       Retourner Faux
    Sinon
       Si k = valeur(x) Alors
          Retourner Vrai
       Sinon
          Si k < cle(x) Alors
             Retourner ABRRecherche(fils_droit(x),k)
          Sinon
             Retourner ABRRecherche(fils_gauche(x),k)
          FinSi
       FinSi
    FinSi
    Fin
    

Structures de données (Terminale) - Arbres

n°1806
Arbres binaires : taille et hauteur
Dans cette question \(n\) désigne la taille d'un arbre binaire et \(h\) sa hauteur (nombre d'arêtes).
Quel encadrement, parmi les suivants, est alors correct ?

  • \(h\leqslant n \leqslant 2^{h+1}\)
  • \(h+1\leqslant n \leqslant 2^{h+1}\)
  • \(h+1\leqslant n \leqslant 2^{h+1}-1\)
  • \(h\leqslant n \leqslant 2^{h+1}+1\)

Structures de données (Terminale) - Arbres

n°1807
Dans un ABR
On considère un Arbre Binaire de Recherche implémenté par une simple classe Noeud. Chaque objet contient une clé 'cle' et deux attributs 'gauche' et 'droit' qui désignent None ou un objet de type Noeud
On considère le code suivant d'une méthode mystere de la classe Noeud:

def mystere(self, noeud):
    # précondition : noeud.cle ne fait pas partie des
    # clés existantes dans l'arbre
    if noeud.cle < self.cle:
        if self.gauche is None:
            self.gauche = noeud
        else:
            self.gauche.mystere(noeud)
    else:
        if self.droit is None:
            self.droit = noeud
        else:
            self.droit.mystere(noeud)
Que fait cette fonction ?

  • Elle remplace tous les 'None' de la structure initiale par l'argument noeud.
  • Elle insère noeud dans l'arbre.
  • Elle remplace tous les noeuds de l'ABR par le noeud mis en argument.
  • Elle supprime noeud dans l'arbre s'il est rencontrĂ© et l'insère Ă  gauche si la place est libre sinon le met Ă  droite.

Structures de données (Terminale) - Arbres

n°1808
Dans un ABR
On considère un Arbre Binaire de Recherche implémenté par une simple classe Noeud. Chaque objet contient une clé 'cle' et deux attributs 'gauche' et 'droit' qui désignent None ou un objet de type Noeud
On considère le code suivant d'une méthode mystere de la classe Noeud:

def mystere(self, noeud):
    # précondition : noeud.cle ne fait pas partie des
    # clés existantes dans l'arbre
    if noeud.cle < self.cle:
        if self.gauche is None:
            self.gauche = noeud
        else:
            self.gauche.mystere(noeud)
    else:
        if self.droit is None:
            self.droit = noeud
        else:
            self.droit.mystere(noeud)
Que fait cette fonction ?

  • Elle remplace tous les 'None' de la structure initiale par l'argument noeud.
  • Elle insère noeud dans l'arbre.
  • Elle remplace tous les noeuds de l'ABR par le noeud mis en argument.
  • Elle supprime noeud dans l'arbre s'il est rencontrĂ© et l'insère Ă  gauche si la place est libre sinon le met Ă  droite.

Structures de données (Terminale) - Graphes

n°1833
Graphe
Dans un graphe non-orienté, qu'est-ce qu'une chaîne ?
image

  • Une suite de sommets optimisant le nombre de sauts entre deux sommets choisis.
  • Une suite d'arĂŞtes consĂ©cutives (chaque arĂŞte a une extrĂŞmitĂ© commune avec la suivante).
  • Une suite de sommets telle que le premier et le dernier soient identiques.
  • Une suite d'objets de la classe Maillon.

Structures de données (Terminale) - Graphes

n°1834
Graphe
On considère le graphe suivant.
Parmi les propositions suivantes, laquelle n'est pas un chemin valide ?
image

  • B-A-E
  • B-A-E-B
  • B-D-D-E-B
  • C-A-B-D

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1944
Recherche d'une valeur
La complexité de la recherche d'une valeur dans un tableau est d'ordre :

  • O(1)
  • O(n)
  • O(n²)
  • O(log(n))

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1945
Recherche d'une valeur
Dans un dictionnaire, les clés sont stockées en mémoire :

  • Par ordre croissant.
  • Par ordre d'arrivĂ©e
  • Par ordre alphabĂ©tique
  • Selon un algorithme de hachage

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1946
Recherche d'une valeur
Dans un dictionnaire, que contient une alvéole ?

  • du miel.
  • une paire clĂ©/valeur
  • une clĂ©
  • l'ensemble des Ă©lĂ©ments

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1947
Recherche d'une valeur
Comment peut-on déterminer qu'une clé appartient à un dictionnaire ?

  • On parcourt l'ensemble des clĂ©s pour voir si elle existe.
  • On essaye de l'ajouter et une erreur se produit.
  • On vĂ©rifie que la clĂ© se trouve entre la prĂ©cĂ©dente et la suivante dans l'ordre croissant.
  • On dĂ©termine l'adresse en mĂ©moire oĂą la clĂ© doit ĂŞtre stockĂ©e et on vĂ©rifie sa prĂ©sence.

Structures de données (Terminale) - Listes, piles, files, dictionnaires

n°1948
Recherche d'une valeur
La complexité de la recherche d'une clé dans un dictionnaire est d'ordre :

  • O(1)
  • O(n)
  • O(n²)
  • O(log(n))

Structures de données (Terminale) - Arbres

n°1951
Arbre
Quel nœud est la racine de cet arbre ?
image

  • 1
  • 2
  • 7
  • 9

Structures de données (Terminale) - Arbres

n°1952
Arbre
Quel nœud est une feuille de cet arbre ?
image

  • 1
  • 2
  • 5
  • 7

Structures de données (Terminale) - Arbres

n°1953
Arbre
Quelle est la hauteur de cet arbre ?
image

  • 1
  • 3
  • 7
  • 23