Langages et programmation Terminale
Recharger la page pour de nouvelles questions.
---
primaryColor: "var(--md-primary-fg-color)"
shuffleQuestions: true
shuffleAnswers: true
nQuestions: 10
---
### Langages et programmation (Terminale) - Récursivité
n°1397
Test récursif
On a saisi le code suivant :
Que retourne la commande suivante ?
- [ ] 0
- [ ] False
- [X] True
- [ ] L'exécution génère une erreur.
### Langages et programmation (Terminale) - Récursivité
n°1398
Fonction récursive
Laquelle de ces fonctions retourne True lorsqu'on exécute :
- [ ]
- [ ]
- [X]
- [ ]
### Langages et programmation (Terminale) - Récursivité
n°1399
Affichages récursifs
On a saisi le code suivant :
Quel affichage obtient-on en exécutant `affiche(3)`
- [ ]
- [ ]
- [X]
- [ ]
### Langages et programmation (Terminale) - Récursivité
n°1400
Fonction récursive de deux variables
Une seule des fonctions définies ci-dessous retourne `'ccccc'` à l'appel de `replique(5,'c')`. Déterminer laquelle. - [ ]
- [ ]
- [X]
- [ ]
### Langages et programmation (Terminale) - Récursivité
n°1401
Fonction récursive et type str
On a saisi le code suivant :
Que retourne l'instruction `copy(3,'A')` ?
- [ ] `'AAA'`
- [ ] `'AAAAAA'`
- [X] `'AAAAAAAA'`
- [ ] `'3A'`
### Langages et programmation (Terminale) - Récursivité
n°1402
Affichages récursifs
On a saisi le code suivant :
Quel affichage obtient-on en exécutant `affiche(3)`
- [ ]
- [ ]
- [X]
- [ ]
### Langages et programmation (Terminale) - Récursivité
n°1403
Fonction récursive et type str
On a saisi le code suivant :
Que retourne l'instruction : `mystere(3,'$')` ?
- [ ] `'$$$'`
- [ ] `'$2$'`
- [X] `'$$$$'`
- [ ] L'exécution déclenche une erreur
### Langages et programmation (Terminale) - Récursivité
n°1404
Fonction récursive et assertion
On a saisi le code suivant :
Qu'obtient-on en exécutant la commande `g(3)`?
- [ ] `1789`
- [ ] `1`
- [X] `AssertionError`
- [ ] `RecursionError`
### Langages et programmation (Terminale) - Récursivité
n°1405
Fonction récursive de deux variables
On a saisi le code suivant :
Que retourne la commande `f(3,4)` ?
- [ ] 4
- [ ] 5
- [ ] 6
- [X] 7
### Langages et programmation (Terminale) - Récursivité
n°1406
Test récursif
On a saisi le code suivant :
Que retourne la commande : `mystere(3)`
- [ ] True
- [X] False
- [ ] RecursionError
- [ ] 0
### Langages et programmation (Terminale) - Modularité
n°1504
Modularité
Parmi les lignes suivantes, trouver celle qui ne permet pas d'importer et d'utiliser la totalité du module itertools : - [ ] import itertools - [ ] import itertools as itt - [X] from itertools import cycle - [ ] Je ne sais pas... ### Langages et programmation (Terminale) - Modularité n°1505
DĂ©bogage
Quel message d'exception s'affiche si on tente d'exécuter le code suivant ?
- [ ] NameError
- [X] SyntaxError
- [ ] IndexError
- [ ] IndentationError
### Langages et programmation (Terminale) - Modularité
n°1506
Messsage d'erreur
Quel message d'exception s'affiche si on tente d'exécuter le code suivant ?
- [ ] NameError
- [ ] SyntaxError
- [ ] IndexError
- [X] IndentationError
### Langages et programmation (Terminale) - Paradigmes
n°1518
Auteur G. Conan
On considère la classe Objet\_3D suivante : :
Si o est une instance de la classe Objet\_3D, pour calculer le volume de o, l'instruction correcte est :
- [ ] Volume(o)
- [ ] o.Volume(self)
- [X] o.Volume()
- [ ] Volume(self)
### Langages et programmation (Terminale) - Paradigmes
n°1521
On a saisi le code suivant :
Que contient la variable s à la fin de l’exécution de ce script ?
- [X] Segment : [(1, 2), (3, 4)]
- [ ] Segment : [(1.0, 2.0), (3.0, 4.0)]
- [ ] Segment : 1, 2, 3, 4
- [ ] Segment : [(4, 3), (2, 1)]
### Langages et programmation (Terminale) - Paradigmes
n°1522
On a saisi le code suivant :
Que contient la variable s à la fin de l’exécution de ce script ?
- [ ] Segment : [(1, 2), (3, 4)]
- [X] Segment : [(4, 3), (2, 1)]
- [ ] Segment : [(1.0, 2.0), (3.0, 4.0)]
- [ ] Segment : 1, 2, 3, 4
### Langages et programmation (Terminale) - Récursivité
n°1571
Compléter la fonction
On propose de créer une fonction récursive permettant de calculer \(x^n\)
Pour compléter la fonction proposée :
Que doit-on écrire à la place des pointillés ?
- [ ]
- [X]
- [ ] Quoi que l'on écrive, cette fonction ne donnera pas le résultat attendu.
- [ ]
### Langages et programmation (Terminale) - Récursivité
n°1572
Que fait cette fonction ?
On exécute les lignes suivantes :
Que renvoi ce programme en console ?
- [ ]
- [X]
- [ ]
- [ ]
### Langages et programmation (Terminale) - Récursivité
n°1573
Que retourne le programme suivant ?
- [X]
- [ ]
- [ ]
- [ ] Une erreur de type : 'RecursionError: maximum recursion depth exceeded in comparison '
### Langages et programmation (Terminale) - Autres
n°1605
Langage C
Quel est le contenu du tableau *tab* Ă la fin de ce programme ?
- [ ] {2,3,4,5,6}
- [X] {0,2,6,12,20}
- [ ] {5,4,3,2,1}
- [ ] {1,2,3,4,5}
### Langages et programmation (Terminale) - Autres
n°1606
Langage C
Que va afficher ce programme ?
- [ ] 6
- [ ] 0
- [X] 3
- [ ] %d,3
### Langages et programmation (Terminale) - Autres
n°1607
Langage C
Le langage C est un langage ... - [ ] compliqué. - [ ] interprété. - [X] compilé. - [ ] de l'antiquité. ### Langages et programmation (Terminale) - Autres n°1615
On a saisi le code suivant en langage C :
Que contient la variable a à la fin de l’exécution de ce programme ?
- [ ] 0
- [X] 21
- [ ] 23
- [ ] 5
### Langages et programmation (Terminale) - Récursivité
n°1743
Algorithme d'Euclide
Rappel : Cet algorithme permet de déterminer le Plus Grand Diviseur Commun de deux nombres entiers non nuls.
Il agit par divisions euclidiennes successives, par exemple avec 42 et 24 :
\(42=1\times24 + 18\)\(24=1\times18 + 6\)\(18=3\times6 + 0\)
Le dernier reste non nul est le PGCD des deux nombres ; dans l'exemple : 6 est le PGCD de 42 et 24.
Le code suivant est incomplet, il manque l'appel récursif :
Parmi les lignes suivantes, quelle est la correcte ?
- [ ] `return pgcd_recursif(a, b)`
- [X] `return pgcd_recursif(b, a % b)`
- [ ] `return pgcd_recursif(a % b, b)`
- [ ] `return pgcd_recursif(a // b, a % b)`
### Langages et programmation (Terminale) - Récursivité
n°1744
Pas récursif alors...
Un algorithme contenant des boucles sans appels récursifs est dit : - [X] itératif - [ ] instructif - [ ] impératif - [ ] peu élégant ### Langages et programmation (Terminale) - Récursivité n°1745
À partir de la version récursive
On a créé une fonction récursive mystere :
Parmi les réponses suivantes, quelle est sa version itérative ?
- [X]
- [ ]
- [ ]
- [ ]
### Langages et programmation (Terminale) - Mise au point
n°1747
Mutateur d'un attribut
Voici la définition incomplète d'une classe Couleur.
Parmi les codes suivants lequel est le plus convenable pour la méthode change\_r ?
- [X]
- [ ]
- [ ]
- [ ]
### Langages et programmation (Terminale) - Autres
n°1854
Algorithme d'Euclide
Rappel : Cet algorithme permet de déterminer le Plus Grand Diviseur Commun de deux nombres entiers non nuls.
Il agit par divisions euclidiennes successives, par exemple avec 42 et 24 :
\(42=1\times24 + 18\)\(24=1\times18 + 6\)\(18=3\times6 + 0\)
Le dernier reste non nul est le PGCD des deux nombres ; dans l'exemple : 6 est le PGCD de 42 et 24.
Le code suivant est incomplet, que manque-til ?:
Parmi les lignes suivantes, quelle est la correcte ?
- [ ]
- [ ]
- [ ]
- [X]
### Langages et programmation (Terminale) - Modularité
n°1935
Module
Le module module2 contient la fonction ma\_fonction.
Dans un programme, on trouve l'instruction suivante : `import module2`
Quelle instruction permet alors d'accéder à ma\_fonction dans le programme ? - [X] module2.ma\_fonction() - [ ] ma\_fonction() - [ ] module2->ma\_fonction() - [ ] On ne peut pas y accéder car elle n'est pas dans l'espace de nommage. ### Langages et programmation (Terminale) - Modularité n°1936
Module
En Python, un module : - [ ] est forcément un programme compilé en C - [X] peut être n'importe quel fichier d'extension .py - [ ] doit être installé dans le répertoire de l'interpréteur - [ ] ne peut contenir que des fonctions ### Langages et programmation (Terminale) - Modularité n°1937
Module
Parmi ces affirmations sur les espaces de noms, laquelle sont vraie ? - [ ] Ils lient les noms de variables avec leur valeur. - [ ] Ils ne sont utilisés que pour les fonctions contenues dans les modules. - [ ] Ils persistent après la fin de l'exécution du programme. - [X] Ils assurent l'unicité des noms de variables.
Test récursif
On a saisi le code suivant :
def mystere(n):
if n>0 :
return mystere(n-2)
else :
return n==0
mystere(4)
Fonction récursive
Laquelle de ces fonctions retourne True lorsqu'on exécute :
f(5)
def f(n):
if n==0 :
return True
else :
return f(n-2)
def f(n):
if n<=0 :
return True
else :
f(n-2)
def f(n):
if n<=0 :
return True
return f(n-2)
def f(n):
if n==0 :
return True
f(n-2)
Affichages récursifs
On a saisi le code suivant :
def affiche(n):
print(n)
if n>=0:
affiche(n-1)
3
2
1
0
0
1
2
3
3
2
1
0
-1
3
Fonction récursive de deux variables
Une seule des fonctions définies ci-dessous retourne `'ccccc'` à l'appel de `replique(5,'c')`. Déterminer laquelle. - [ ]
def replique(a,b):
if a==1:
return b
else :
return replique( a-1 , b+b)
def replique(a,b):
if a==1:
return b
elif a%2 == 0:
return replique( a-2 , b+b)
else :
return b + replique( a-2 , b+b)
def replique(a,b):
if a==1:
return b
elif a%2 == 0:
return replique( a//2 , b+b)
else :
return b + replique( a//2 , b+b)
def replique(a,b):
if a==1:
return b
else :
replique( a-1 , b+b)
Fonction récursive et type str
On a saisi le code suivant :
def copy(n,s):
if n==0:
return s
return copy(n-1, s+s)
Affichages récursifs
On a saisi le code suivant :
def affiche(n):
if n>0:
affiche(n-1)
print(n)
3
2
1
0
3
2
1
0
1
2
3
1
2
3
Fonction récursive et type str
On a saisi le code suivant :
def mystere(n,s):
if n==0:
return s
return s + mystere(n-1, s)
Fonction récursive et assertion
On a saisi le code suivant :
def g(n):
assert n>=0
if n==0 :
return 1789
else :
return g(n-2)
Fonction récursive de deux variables
On a saisi le code suivant :
def f(a,b):
if a == 0 :
return b
return f(a-1, b+1)
Test récursif
On a saisi le code suivant :
def mystere(n):
if n>0 :
return mystere(n-2)
else :
return n==0
Modularité
Parmi les lignes suivantes, trouver celle qui ne permet pas d'importer et d'utiliser la totalité du module itertools : - [ ] import itertools - [ ] import itertools as itt - [X] from itertools import cycle - [ ] Je ne sais pas... ### Langages et programmation (Terminale) - Modularité n°1505
DĂ©bogage
Quel message d'exception s'affiche si on tente d'exécuter le code suivant ?
a = 1
for i in range(3):
print('i = {}, a = {}'.format(i, a)
a = 2 * a
Messsage d'erreur
Quel message d'exception s'affiche si on tente d'exécuter le code suivant ?
v = 1
while v < 100:
if v % 7 == 0:
print(v, 'est un multiple de 7')
else:
print(v, 'n'est pas un multiple de 7')
v = v + 1
Auteur G. Conan
On considère la classe Objet\_3D suivante : :
class Objet_3D:
def __init__(self, xVal, yVal, zVal, L, H, P):
self.x = xVal
self.y = yVal
self.z = zVal
self.Longueur = L
self.Hauteur = H
self.Profondeur = P
def Volume(self):
return self.Longueur * self.Hauteur * self.Profondeur
def Translation(self, dx, dy, dz):
self.x = self.x + dx
self.y = self.y + dy
self.z = self.z + dz
On a saisi le code suivant :
class Point :
def __init__(self, x, y) :
self.px, self.py = x, y
class Segment :
”””Classe conteneur utilisant la classe Point.”””
def __init__(self, x1, y1, x2, y2) :
self.orig = Point(x1, y1)
self.extrem = Point(x2, y2)
def __str__(self) :
return (”Segment : [({ :g}, { :g}), ({ :g}, { :g})]”
.format(self.orig.px, self.orig.py,
self.extrem.px, self.extrem.py))
s = Segment(1.0, 2.0, 3.0, 4.0)
print(s)
On a saisi le code suivant :
class Point :
def __init__(self, x, y) :
self.px, self.py = x, y
class Segment :
”””Classe conteneur utilisant la classe Point.”””
def __init__(self, x1, y1, x2, y2) :
self.orig = Point(x1, y1)
self.extrem = Point(x2, y2)
def __str__(self) :
return (”Segment : [({ :g}, { :g}), ({ :g}, { :g})]”
.format(self.orig.px, self.orig.py,
self.extrem.px, self.extrem.py))
s = Segment(4.0, 3.0, 2.0, 1.0)
print(s)
Compléter la fonction
On propose de créer une fonction récursive permettant de calculer \(x^n\)
Pour compléter la fonction proposée :
def puissance(x,n):
if n > 0 :
return .......
return 1
puissance(x,n-1)
x*puissance(x,n-1)
x**(n-1)*puissance(x,n-1)
Que fait cette fonction ?
On exécute les lignes suivantes :
def ed(L,M=[]):
if len(L) == 0 : return M
a=L.pop()
if a not in M : M.append(a)
return ed(L,M)
L=[2, 3, 2, 6, 8, 9, 9, 10, 9, 3, 6, 7, 8, 8, 9]
print(ed(L))
None
[9, 8, 7, 6, 3, 10, 2]
[9, 8, 8, 7, 6, 3, 9, 10, 9, 9, 8, 6, 2, 3, 2]
[2, 10, 3, 6, 7, 8, 9]
Que retourne le programme suivant ?
def A(x):
if x <= 1 : return x
return B(x+1)
def B(x) :
return A(x-2)+4
print(A(4))
13
1
12
Langage C
Quel est le contenu du tableau *tab* Ă la fin de ce programme ?
unsigned int i;
unsigned int tab[5] = {1,2,3,4,5};
for (i=0;i<5;i++) {
tab[i] = tab[i]*i;
}
Langage C
Que va afficher ce programme ?
unsigned int i, j;
i=0;
j=0;
while (i<3) {
j=j+i;
i++;
}
printf('%d',j);
Langage C
Le langage C est un langage ... - [ ] compliqué. - [ ] interprété. - [X] compilé. - [ ] de l'antiquité. ### Langages et programmation (Terminale) - Autres n°1615
On a saisi le code suivant en langage C :
unsigned char a;
unsigned char i;
a=5;
for(i=0;i<2;i++)
a=2*a;
a++;
Algorithme d'Euclide
Rappel : Cet algorithme permet de déterminer le Plus Grand Diviseur Commun de deux nombres entiers non nuls.
Il agit par divisions euclidiennes successives, par exemple avec 42 et 24 :
\(42=1\times24 + 18\)\(24=1\times18 + 6\)\(18=3\times6 + 0\)
Le dernier reste non nul est le PGCD des deux nombres ; dans l'exemple : 6 est le PGCD de 42 et 24.
Le code suivant est incomplet, il manque l'appel récursif :
def pgcd_recursif(a, b):
if b == 0:
return a
else:
...
Pas récursif alors...
Un algorithme contenant des boucles sans appels récursifs est dit : - [X] itératif - [ ] instructif - [ ] impératif - [ ] peu élégant ### Langages et programmation (Terminale) - Récursivité n°1745
À partir de la version récursive
On a créé une fonction récursive mystere :
def mystere(T, n=0):
if n == len(T) // 2: return T
T[n], T[-1 - n] = T[-1 - n], T[n]
return mystere(T, n + 1)
def mystere(T):
n = len(T) // 2
for i in range(n):
T[i], T[-1 - i] = T[-1 - i], T[i]
return T
def mystere(T):
n = len(T) // 2
for i in range(n):
T[i], T[-n - i] = T[-n - i], T[i]
return T
def mystere(T):
n = len(T)
for i in range(n):
T[i], T[-1 - i] = T[-1 - i], T[i]
return T
def mystere(T):
n = len(T) // 2
for i in range(n):
T[i], T[n - i] = T[n - i], T[i]
return T
Mutateur d'un attribut
Voici la définition incomplète 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 change_r(self, nouveau_r):
'''Permet de changer la composante rouge de la couleur
précondition: nouveau_r doit être un entier
'''
...
def __str__(self):
return f'({self.r}, {self.g}, {self.b})'
assert isinstance(nouveau_r, int)
if nouveau_r >= 0 and nouveau_r <= 255:
self.r = nouveau_r
else:
raise ValueError('Valeur inappropriée')
if nouveau_r >= 0 and nouveau_r <= 255 and isinstance(nouveau_r, int):
self.r = nouveau_r
else:
raise ValueError('Valeur inappropriée')
self.r = nouveau_r
if nouveau_r >= 0 and nouveau_r <= 255:
self.r = nouveau_r
else:
raise ValueError('Valeur inappropriée')
Algorithme d'Euclide
Rappel : Cet algorithme permet de déterminer le Plus Grand Diviseur Commun de deux nombres entiers non nuls.
Il agit par divisions euclidiennes successives, par exemple avec 42 et 24 :
\(42=1\times24 + 18\)\(24=1\times18 + 6\)\(18=3\times6 + 0\)
Le dernier reste non nul est le PGCD des deux nombres ; dans l'exemple : 6 est le PGCD de 42 et 24.
Le code suivant est incomplet, que manque-til ?:
def pgcd(a, b):
if a < b:
a, b = b , a
...
while b > 0:
a, b = a // b, a % b
return a
while b > 0:
a, b = a, a % b
return a
while b < 0:
a, b = a, a % b
return a
while b > 0:
a, b = b, a % b
return a
Module
Le module module2 contient la fonction ma\_fonction.
Dans un programme, on trouve l'instruction suivante : `import module2`
Quelle instruction permet alors d'accéder à ma\_fonction dans le programme ? - [X] module2.ma\_fonction() - [ ] ma\_fonction() - [ ] module2->ma\_fonction() - [ ] On ne peut pas y accéder car elle n'est pas dans l'espace de nommage. ### Langages et programmation (Terminale) - Modularité n°1936
Module
En Python, un module : - [ ] est forcément un programme compilé en C - [X] peut être n'importe quel fichier d'extension .py - [ ] doit être installé dans le répertoire de l'interpréteur - [ ] ne peut contenir que des fonctions ### Langages et programmation (Terminale) - Modularité n°1937
Module
Parmi ces affirmations sur les espaces de noms, laquelle sont vraie ? - [ ] Ils lient les noms de variables avec leur valeur. - [ ] Ils ne sont utilisés que pour les fonctions contenues dans les modules. - [ ] Ils persistent après la fin de l'exécution du programme. - [X] Ils assurent l'unicité des noms de variables.