Fondements de l’informatique : pack de révision

Formulaires, étapes clés de la méthode pour chaque thème et 20 exercices, avec les corrigés complets à la fin.

Nouveaux exercicesRetour au cours

Dans la fenêtre d’impression, choisissez « Enregistrer au format PDF » pour garder une copie sur votre appareil.

1Formules et méthodes

Systèmes de numération

Poids des positions
binaire 2k, octal 8k, hexa 16k
Vers le décimal
Σ dk·bk
Depuis le décimal
diviser par la base, lire les restes de bas en haut
Hexa ↔ binaire
un chiffre hexa = 4 bits
Complément à deux
inverser les bits et ajouter 1

Logique propositionnelle et preuves

Lignes d’une table de vérité
2ⁿ
Implication
p → q ≡ ¬p ∨ q ≡ ¬q → ¬p
Implication niée
¬(p → q) ≡ p ∧ ¬q
Équivalence
p ↔ q ≡ (p → q) ∧ (q → p)
De Morgan
¬(p ∧ q) ≡ ¬p ∨ ¬q, ¬(p ∨ q) ≡ ¬p ∧ ¬q
Lois de distributivité
p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r), p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r)
Quantificateurs niés
¬∀x P(x) ≡ ∃x ¬P(x), ¬∃x P(x) ≡ ∀x ¬P(x)
Modus ponens, modus tollens
p → q, p ⊢ q; p → q, ¬q ⊢ ¬p

Méthode

  1. Comptez les variables distinctes : la table de vérité a 2ⁿ lignes, la première avec toutes les variables à 1.
  2. Donnez à chaque sous-formule sa propre colonne et remplissez les colonnes de l’intérieur vers l’extérieur.
  3. Appliquez la règle de chaque connecteur : → n’est 0 que pour 1 → 0, ↔ vaut 1 quand les deux côtés sont égaux.
  4. Pour des équivalences, comparez les colonnes finales ligne par ligne ; pour un raisonnement, regardez seulement les lignes où toutes les prémisses valent 1.
  5. Pour nier un énoncé quantifié, faites passer ¬ vers l’intérieur, échangez ∀ et ∃, et niez la formule intérieure.

Logique numérique : portes, tableaux de Karnaugh et bascules

Portes de base
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
Règles booléennes
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
De Morgan
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
Ordre du tableau de Karnaugh
00, 01, 11, 10 (Gray code)
Groupe de 2ᵏ cases
perd k variables
Multiplexeur 4 vers 1
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
Bascules
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
Compteurs
n bits : 2ⁿ états ; modulo N : plus petit n tel que 2ⁿ ≥ N ; fout = fclk/N
Compteur asynchrone
fmax = 1/(n·tpd)
Compteurs en anneau et Johnson
n et 2n états

Méthode

  1. Pour un circuit, travaillez des entrées vers la sortie, une porte à la fois, et écrivez la valeur sur chaque fil, ou écrivez son expression et remplissez la table de vérité.
  2. Pour la simplification, placez les 1 (et les états indifférents sous forme de X) dans un tableau de Karnaugh dont les lignes et colonnes suivent le code de Gray : 00, 01, 11, 10.
  3. Couvrez les 1 avec le moins possible de groupes de 1, 2, 4, 8 ou 16 cases, aussi grands que possible, en débordant sur les bords ; chaque groupe est un terme produit formé des variables qui restent constantes. Regroupez les 0 pour la forme POS.
  4. Pour les bascules et les compteurs, lisez les entrées à chaque front d’horloge actif, notez l’état après chaque front, et rappelez-vous qu’un compteur de n bits repasse à zéro après 2ⁿ états.

Théorie des nombres et arithmétique modulaire

Division avec reste
a = q·n + r, 0 ≤ r < n
Euclide
gcd(a, b) = gcd(b, a mod b)
Plus petit commun multiple
lcm(a, b) = a·b/gcd(a, b)
Inverse
a·a⁻¹ ≡ 1 (mod n), gcd(a, n) = 1
Congruence linéaire
a·x ≡ b → x ≡ a⁻¹·b (mod n)
Indicatrice d’Euler
φ(n) = n·∏(1 − 1/p), φ(pᵏ) = pᵏ − pᵏ⁻¹
Fermat
aᵖ⁻¹ ≡ 1 (mod p)
RSA
n = pq, φ = (p − 1)(q − 1), d = e⁻¹ mod φ, c = mᵉ mod n, m = cᵈ mod n

Méthode

  1. Réduisez d’abord chaque nombre modulo n ; les restes sont compris entre 0 et n − 1.
  2. Pour un pgcd, divisez plusieurs fois avec l’algorithme d’Euclide ; le dernier reste non nul est le pgcd.
  3. Pour un inverse, appliquez l’algorithme étendu et gardez le coefficient de a ; ajoutez n s’il est négatif.
  4. Résolvez a·x ≡ b en multipliant par a⁻¹ ; combinez deux congruences en écrivant x = r₁ + m₁k.
  5. Pour les puissances, écrivez l’exposant en binaire et élevez au carré à répétition ; en RSA, d = e⁻¹ mod φ(n) avec φ(n) = (p − 1)(q − 1).

Théorie des graphes

Lemme des poignées de main
Σ deg(v) = 2|E|
Graphes complets
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
Graphe régulier
|E| = n·k/2
Arbre et forêt
|E| = n − 1, |E| = n − c
Feuilles d’un arbre
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
Euler
circuit : tous les degrés pairs ; chemin : exactement 2 degrés impairs
Circuits hamiltoniens dans Kn
(n − 1)!/2
Mise à jour de Dijkstra
d(v) = min(d(v), d(u) + w(u, v))
Marches de longueur L
(Mᴸ)ij

Méthode

  1. Notez le degré de chaque sommet ; la somme des degrés vaut deux fois le nombre d’arêtes.
  2. Pour les questions d’Euler, vérifiez que le graphe est connexe et comptez les sommets de degré impair.
  3. Pour les arbres, utilisez n − 1 arêtes et le lemme des poignées de main.
  4. Pour Dijkstra, tenez un tableau des distances provisoires et fixez à chaque tour le sommet non fixé de plus petite distance.
  5. Pour un arbre couvrant minimal, triez les arêtes par poids et sautez toute arête qui ferme un cycle (Kruskal), ou faites croître un arbre à partir d’un sommet de départ (Prim).

Sous-réseaux IPv4

Hôtes par sous-réseau
2(32 − prefix) − 2 (/31: 2, /32: 1)
Taille de bloc
256 − (mask octet)
Adresse réseau
IP AND masque
Adresse de diffusion
IP OR (NOT masque) : tous les bits d’hôte à 1
Sous-réseaux avec n bits empruntés
2n

2Exercices

1.Systèmes de numérationMoyen
poids en complément à deux1−12816413201608041201

Le motif de 8 bits 1110 0010 stocke un entier signé en complément à deux. Quelle est sa valeur N en décimal ?

1110 00108 bit
N =
2.Systèmes de numérationDifficile
complément à deux sur 32 bits, N = ??signe???????????????????????????????

Quel est l'entier le plus négatif N que l'on peut stocker en complément à deux sur 32 bits ?

32 bit
N =
3.Logique propositionnelle et preuvesMoyen
c ∧ (a ∨ b)(c ∨ a) ∧ b(c ∨ a) ∧ (c ∨ b)(c ∧ a) ∨ (c ∧ b)

Quelle formule est logiquement équivalente à c ∨ (a ∧ b) ? Cliquez dessus.

c ∨ (a ∧ b)
  1. 1c ∧ (a ∨ b)
  2. 2(c ∨ a) ∧ b
  3. 3(c ∨ a) ∧ (c ∨ b)
  4. 4(c ∧ a) ∨ (c ∧ b)
4.Logique propositionnelle et preuvesDifficile
pqrq → pr → pq → r111110101100011010001000

Le raisonnement de prémisses q → p; r → p et de conclusion q → r est invalide. Cliquez sur la ligne de la table de vérité qui est un contre-exemple.

q → pr → p∴ q → r
  1. 1p = 1, q = 1, r = 1
  2. 2p = 1, q = 1, r = 0
  3. 3p = 1, q = 0, r = 1
  4. 4p = 1, q = 0, r = 0
  5. 5p = 0, q = 1, r = 1
  6. 6p = 0, q = 1, r = 0
  7. 7p = 0, q = 0, r = 1
  8. 8p = 0, q = 0, r = 0
5.Logique numérique : portes, tableaux de Karnaugh et basculesMoyen
ABC000111100101324576

Simplifiez F = ABC′ + A′B′C′ + ABC à sa forme somme de produits minimale. Combien de littéraux L contient l’expression simplifiée ?

F = ABC′ + A′B′C′ + ABC
L =
6.Logique numérique : portes, tableaux de Karnaugh et basculesDifficile
ABCD00011110000111101011X302040517060121131150140819111X10

Trouvez la forme SOP minimale de F(A, B, C, D) = Σm(0, 1, 7, 9, 11, 13, 15) + d(3, 10), où d marque les états indifférents. Combien de termes produits N a-t-elle ?

F(A, B, C, D) = Σm(0, 1, 7, 9, 11, 13, 15) + d(3, 10)
N =
7.Théorie des nombres et arithmétique modulaireMoyen

Trouvez l’inverse de 21 modulo 41 : le nombre x avec 0 < x < 41 et 21·x ≡ 1 (mod 41).

a = 21n = 41
21−1 mod 41 =
8.Théorie des nombres et arithmétique modulaireDifficile
mc = me​ mod n273m = cd​ mod n?(n, e) = (1517, 19)d

Une clé RSA utilise p = 37, q = 41 et e = 19. Déchiffrez le chiffré c = 273 : trouvez le message m.

p = 37q = 41e = 19c = 273
m =
9.Algorithmes et complexitéMoyen

La programmation dynamique est utile lorsqu'un problème présente :

  1. AAucun sous-problème, de sorte qu'il peut être résolu en une seule étape
  2. BUniquement des entrées aléatoires
  3. CDes sous-problèmes qui se chevauchent et une sous-structure optimale
  4. DUne seule boucle
10.Algorithmes et complexitéDifficile

Quelle définition de la classe NP est correcte ?

  1. ALes problèmes de décision dont les réponses « oui » peuvent être vérifiées en temps polynomial à l'aide d'un certificat
  2. BLes problèmes qui ne sont pas polynomiaux
  3. CLes problèmes qu'aucun algorithme ne peut résoudre
  4. DLes problèmes qui ne peuvent pas être résolus en temps polynomial
11.Structures de donnéesMoyen

Quelle structure de données utilise-t-on pour vérifier si les parenthèses de "{[()]}" sont équilibrées ?

  1. AUn arbre binaire de recherche
  2. BUne file
  3. CUne table de hachage
  4. DUne pile
12.Structures de donnéesDifficile

Pourquoi les arbres B (B-trees) sont-ils utilisés dans les bases de données et les systèmes de fichiers ?

  1. AIls utilisent moins de mémoire que n'importe quel tableau, si bien que tout l'index tient toujours en mémoire centrale
  2. BIls n'ont pas besoin de rééquilibrage
  3. CLeur facteur de branchement élevé maintient l'arbre peu profond, ce qui réduit les lectures disque lentes
  4. DIls stockent les données sans les trier
13.Théorie des graphesMoyen

Un arbre a 3 sommets de degré 3, 4 sommets de degré 2, et tous ses autres sommets sont des feuilles (degré 1). Combien de feuilles L a-t-il ?

3 × deg 34 × deg 2
L =
14.Théorie des graphesDifficile
51157126116411ABCDEFG

L’algorithme de Dijkstra part de A. Cliquez sur le sommet qui est fixé (rendu définitif) au tour 6 ; A lui-même est le tour 1.

départ : Atour 6
  1. 1A
  2. 2B
  3. 3C
  4. 4D
  5. 5E
  6. 6F
  7. 7G
15.Bases de données et SQLMoyen

Une table employees possède une colonne manager_id qui fait référence à un autre employé. Comment lister chaque employé à côté du nom de son responsable ?

  1. AUtiliser uniquement GROUP BY manager_id
  2. BJoindre la table employees à elle-même avec deux alias
  3. CCréer une seconde copie de la table sur disque
  4. DCombiner la table avec elle-même au moyen de UNION ALL et d'un filtre WHERE
16.Bases de données et SQLDifficile

x est NULL et y = 1. Quelle est la valeur de la condition (x > 5 OR y = 1) ?

  1. ATRUE
  2. BFALSE
  3. CNULL, donc la ligne est toujours rejetée
  4. DUNKNOWN
17.Réseaux informatiquesMoyen

Pourquoi UDP est-il souvent préféré pour les appels vidéo en direct ?

  1. AUDP chiffre automatiquement les données
  2. BUDP garantit l'arrivée de chaque paquet, si bien que l'image ne se fige jamais
  3. CUDP est obligatoire pour toute vidéo
  4. DUn faible délai compte plus que la retransmission de chaque paquet perdu
18.Réseaux informatiquesDifficile

La phase de « slow start » du contrôle de congestion TCP :

  1. AN'est utilisée que par UDP
  2. BMaintient la fenêtre fixe à un segment
  3. CAugmente la fenêtre de congestion de façon exponentielle jusqu'à un seuil ou une perte
  4. DRéduit de moitié la fenêtre de congestion à chaque aller-retour jusqu'à la détection d'une perte de paquet
19.Sous-réseaux IPv4Moyen
/24 → /2711111111111111111111111111100000bits réseaubits hôte

Le réseau 192.168.10.0/24 doit être divisé en au moins 6 sous-réseaux égaux. Si tu empruntes le moins de bits possible, combien d'hôtes utilisables H chaque sous-réseau a-t-il ?

192.168.10.0/246 subnets
H =
20.Sous-réseaux IPv4Difficile
dernier octet = 200112816403201618040201réseauhôte

Un hôte a l'adresse 10.20.191.200/27. Quel est le dernier nombre (quatrième octet) x de l'adresse de diffusion de son sous-réseau ?

10.20.191.200/27
x =

3Solutions

1.Systèmes de numération

Réponse: N = −30

Systèmes de numération positionnels : chaque chiffre vaut sa valeur multipliée par une puissance de la base. En binaire les positions valent 1, 2, 4, 8, 16, … ; en hexadécimal 1, 16, 256, …, avec A–F pour 10–15. En complément à deux sur 8 bits, le bit de gauche vaut −128 au lieu de +128 : c'est ainsi qu'on stocke les nombres négatifs.

Additionner les poids

Les autres bits gardent leurs valeurs positives habituelles.

−128 + 64 + 32 + 2 = −30

Réponse

N = −30
2.Systèmes de numération

Réponse: N = −2,147 × 10⁹

Systèmes de numération positionnels : chaque chiffre vaut sa valeur multipliée par une puissance de la base. En binaire les positions valent 1, 2, 4, 8, 16, … ; en hexadécimal 1, 16, 256, …, avec A–F pour 10–15. En complément à deux sur 8 bits, le bit de gauche vaut −128 au lieu de +128 : c'est ainsi qu'on stocke les nombres négatifs.

Valeur la plus négative

−231 = −2147483648

Réponse

N = −2147483648
3.Logique propositionnelle et preuves

Réponse: (c ∨ a) ∧ (c ∨ b)

Équivalence logique : deux formules sont équivalentes (≡) quand elles ont la même valeur dans chaque ligne de la table de vérité. Une tautologie vaut 1 dans toutes les lignes, une contradiction 0 dans toutes les lignes, et une contingence n’est ni l’une ni l’autre. Lois utiles : De Morgan, ¬(a ∧ b) ≡ ¬a ∨ ¬b et ¬(a ∨ b) ≡ ¬a ∧ ¬b ; a → b ≡ ¬a ∨ b ≡ ¬b → ¬a (contraposée) ; ¬(a → b) ≡ a ∧ ¬b ; et les lois de distributivité, a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c).

La loi

∨ se distribue sur ∧ : a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c).
c ∨ (a ∧ b) ≡ (c ∨ a) ∧ (c ∨ b)

Vérifier avec la table de vérité

a = 1, b = 1, c = 1: 1 | 1 1 1 1
a = 1, b = 1, c = 0: 1 | 0 1 1 0
a = 1, b = 0, c = 1: 1 | 1 0 1 1
a = 1, b = 0, c = 0: 0 | 0 0 0 0
a = 0, b = 1, c = 1: 1 | 1 1 1 1
a = 0, b = 1, c = 0: 0 | 0 0 0 0
a = 0, b = 0, c = 1: 1 | 0 0 1 0
a = 0, b = 0, c = 0: 0 | 0 0 0 0

Réponse

(c ∨ a) ∧ (c ∨ b)

Les colonnes après la barre sont les options dans l’ordre affiché.

4.Logique propositionnelle et preuves

Réponse: p = 1, q = 1, r = 0

Quantificateurs et raisonnements : ¬∀x P(x) ≡ ∃x ¬P(x) et ¬∃x P(x) ≡ ∀x ¬P(x). Faites passer une négation vers l’intérieur, échangez chaque quantificateur qu’elle traverse, et niez la formule intérieure avec les lois propositionnelles, comme ¬(a → b) ≡ a ∧ ¬b. Un raisonnement est valide quand la conclusion vaut 1 dans toutes les lignes où toutes les prémisses valent 1. Une seule ligne avec des prémisses vraies et une conclusion fausse est un contre-exemple et montre que le raisonnement est invalide.

Prémisses et conclusion ligne par ligne

p = 1, q = 1, r = 1: 1 1 | 1
p = 1, q = 1, r = 0: 1 1 | 0
p = 1, q = 0, r = 1: 1 1 | 1
p = 1, q = 0, r = 0: 1 1 | 1
p = 0, q = 1, r = 1: 0 0 | 1
p = 0, q = 1, r = 0: 0 1 | 0
p = 0, q = 0, r = 1: 1 0 | 1
p = 0, q = 0, r = 0: 1 1 | 1

Contre-exemple

p = 1, q = 1, r = 0

Réponse

p = 1, q = 1, r = 0

Un raisonnement de cette forme ressemble à une règle valide, mais une seule ligne suffit à montrer qu’il ne l’est pas.

5.Logique numérique : portes, tableaux de Karnaugh et bascules

Réponse: L = 5

Algèbre de Boole : les règles qui simplifient les expressions sont X + X′ = 1 et X·X′ = 0, X + X = X, l’absorption X + X·Y = X, la règle de combinaison X·Y + X·Y′ = X, X + X′Y = X + Y et le théorème du consensus XY + X′Z + YZ = XY + X′Z. Les lois de De Morgan transforment (X·Y)′ en X′ + Y′ et (X + Y)′ en X′·Y′. Un tableau de Karnaugh applique ces règles graphiquement : chaque groupe de deux cases voisines est une utilisation de XY + XY′ = X.

Mintermes de l’expression

ABC′ → m(6)
A′B′C′ → m(0)
ABC → m(7)
ABC00011110011001030204051716

Regrouper et lire

F = AB + A′B′C′

Compter les littéraux

L = 5

Réponse

L = 5
6.Logique numérique : portes, tableaux de Karnaugh et bascules

Réponse: N = 3

Tableaux de Karnaugh : les cases sont ordonnées en code de Gray (00, 01, 11, 10), donc les cases voisines, y compris celles de part et d’autre des bords, diffèrent par exactement une variable. Regroupez les 1 en rectangles de 1, 2, 4, 8 ou 16 cases, aussi grands que possible et en aussi petit nombre que possible, jusqu’à ce que chaque 1 soit couvert. Chaque groupe est un terme produit : les variables qui restent constantes à l’intérieur. Un groupe de 2ᵏ cases perd k variables. Les états indifférents (X) peuvent servir à agrandir les groupes mais n’ont jamais besoin d’être couverts. Regrouper les 0 donne la forme POS minimale.

Implicants premiers

Les plus grands groupes pouvant être formés de 1 et de X.

CD, B′D, AD, A′B′C′, AB′C
ABCD00011110000111101011X302040517060121131150140819111X10

Couverture minimale

F = CD + AD + A′B′C′
N = 3

Réponse

N = 3
7.Théorie des nombres et arithmétique modulaire

Réponse: 21−1 mod 41 = 2

Inverses et congruences : a a un inverse modulo n exactement quand pgcd(a, n) = 1. L’algorithme d’Euclide étendu écrit 1 = s·n + t·a, et alors a⁻¹ ≡ t (mod n). Une congruence a·x ≡ b (mod n) avec pgcd(a, n) = 1 a pour solution x ≡ a⁻¹·b. Deux congruences x ≡ r₁ (mod m₁) et x ≡ r₂ (mod m₂) à modules premiers entre eux ont une solution modulo m₁·m₂ (théorème des restes chinois). L’indicatrice d’Euler φ(n) compte les nombres de 1 à n premiers avec n : φ(n) = n·∏(1 − 1/p).

Algorithme d’Euclide étendu

Chaque reste r s’écrit r ≡ t·21 (mod 41).

r = 41, t = 0
r = 21, q = 1, t = 1
r = 20, q = 1, t = −1
r = 1, q = 20, t = 2

Inverse

1 ≡ 2·21 (mod 41)
x = 2
vérification: 21·2 = 42 = 1·41 + 1

Réponse

21−1 mod 41 = 2
8.Théorie des nombres et arithmétique modulaire

Réponse: m = 208

Puissances modulaires et RSA : calculez aᵏ mod n par carrés répétés : écrivez k en binaire, élevez au carré, réduisez après chaque étape et multipliez les puissances dont le bit vaut 1. Fermat : aᵖ⁻¹ ≡ 1 (mod p) pour un nombre premier p ne divisant pas a, donc l’exposant peut être réduit modulo p − 1. RSA : choisissez des nombres premiers p et q, n = p·q et φ(n) = (p − 1)(q − 1) ; l’exposant public e est premier avec φ(n), et l’exposant privé est d = e⁻¹ mod φ(n). Chiffre avec c = mᵉ mod n et déchiffrez avec m = cᵈ mod n.

Exposant privé

n = 1517, φ(n) = 1440
d = 19−1 mod 1440 = 379

Déchiffrer par carré répété

379 = 256 + 64 + 32 + 16 + 8 + 2 + 1
2731 ≡ 273 (mod 1517)
2732 ≡ 196 (mod 1517)
2734 ≡ 491 (mod 1517)
2738 ≡ 1395 (mod 1517)
27316 ≡ 1231 (mod 1517)
27332 ≡ 1395 (mod 1517)
27364 ≡ 1231 (mod 1517)
273128 ≡ 1395 (mod 1517)
273256 ≡ 1231 (mod 1517)
273379 ≡ 273·196·1395·1231·1395·1231·1231 ≡ 208 (mod 1517)

Message

m = 208
vérification: 20819 mod 1517 = 273

Réponse

m = 208
9.Algorithmes et complexité

Réponse: C · Des sous-problèmes qui se chevauchent et une sous-structure optimale

Pourquoi c'est la réponse

Mémoriser les résultats des sous-problèmes qui se chevauchent (mémoïsation ou tabulation) évite le travail répété et transforme des algorithmes exponentiels en algorithmes polynomiaux.

Réponse

C · Des sous-problèmes qui se chevauchent et une sous-structure optimale
10.Algorithmes et complexité

Réponse: A · Les problèmes de décision dont les réponses « oui » peuvent être vérifiées en temps polynomial à l'aide d'un certificat

Pourquoi c'est la réponse

Pour un problème NP, une solution proposée (certificat) peut être vérifiée rapidement, par exemple vérifier qu'une affectation donnée satisfait une formule booléenne.

Réponse

A · Les problèmes de décision dont les réponses « oui » peuvent être vérifiées en temps polynomial à l'aide d'un certificat
11.Structures de données

Réponse: D · Une pile

Pourquoi c'est la réponse

On empile chaque symbole ouvrant et on dépile à chaque symbole fermant ; celui-ci doit correspondre au symbole dépilé, et la pile doit être vide à la fin.

Réponse

D · Une pile
12.Structures de données

Réponse: C · Leur facteur de branchement élevé maintient l'arbre peu profond, ce qui réduit les lectures disque lentes

Pourquoi c'est la réponse

Les arbres B stockent de nombreuses clés par nœud, donc la hauteur est faible et peu de lectures de blocs sont nécessaires par recherche ; les arbres B+ relient en plus les feuilles pour les parcours d'intervalles.

Réponse

C · Leur facteur de branchement élevé maintient l'arbre peu profond, ce qui réduit les lectures disque lentes
13.Théorie des graphes

Réponse: L = 5

Euler, Hamilton et arbres : un graphe connexe a un circuit eulérien (chaque arête une fois, retour au départ) quand tous les sommets ont un degré pair, et un chemin eulérien qui n’est pas un circuit quand exactement deux sommets ont un degré impair ; le chemin va alors d’un sommet impair à l’autre. Un circuit hamiltonien visite chaque sommet une fois ; Kn en a (n − 1)!/2. Un arbre à n sommets a n − 1 arêtes, et un graphe connexe à m arêtes conserve un arbre couvrant après suppression de m − n + 1 arêtes.

Lemme des poignées de main pour un arbre

L + 17 = 2(L + 7) − 2
L = 5

Réponse

L = 5

Raccourci : L = 2 + Σ (d − 2) sur les sommets de degré d ≥ 3.

14.Théorie des graphes

Réponse: F

Plus courts chemins et arbres couvrants : l’algorithme de Dijkstra fixe un sommet par tour : le sommet non fixé de plus petite distance provisoire. Sa distance est alors définitive, et chaque voisin v reçoit d(v) = min(d(v), d(u) + w(u, v)). L’algorithme de Kruskal construit un arbre couvrant minimal en prenant les arêtes de la plus légère à la plus lourde et en sautant toute arête qui fermerait un cycle ; l’algorithme de Prim fait croître un arbre à partir d’un sommet de départ en ajoutant toujours l’arête la plus légère qui en sort. Un arbre couvrant à n sommets a n − 1 arêtes.

Dijkstra tour par tour

1. A (0): B: 5
2. B (5): C: 16, D: 10, G: 11
3. D (10): E: 22, F: 16
4. G (11): C: 15
5. C (15)
6. F (16)
7. E (22)

tour 6

F

Réponse

F
15.Bases de données et SQL

Réponse: B · Joindre la table employees à elle-même avec deux alias

Pourquoi c'est la réponse

Une auto-jointure comme FROM employees e JOIN employees m ON e.manager_id = m.id permet à un alias de représenter l'employé et à l'autre son responsable.

Réponse

B · Joindre la table employees à elle-même avec deux alias
16.Bases de données et SQL

Réponse: A · TRUE

Pourquoi c'est la réponse

x > 5 vaut UNKNOWN, mais un OR avec TRUE vaut TRUE dans tous les cas, donc la ligne est conservée ; de même, UNKNOWN AND FALSE vaudrait FALSE.

Réponse

A · TRUE
17.Réseaux informatiques

Réponse: D · Un faible délai compte plus que la retransmission de chaque paquet perdu

Pourquoi c'est la réponse

Retransmettre les paquets perdus ajouterait du délai ; les médias en temps réel tolèrent quelques pertes, d'où l'utilisation de protocoles basés sur UDP comme RTP.

Réponse

D · Un faible délai compte plus que la retransmission de chaque paquet perdu
18.Réseaux informatiques

Réponse: C · Augmente la fenêtre de congestion de façon exponentielle jusqu'à un seuil ou une perte

Pourquoi c'est la réponse

Le slow start fait croître la fenêtre de congestion de façon exponentielle ; après le seuil, l'évitement de congestion la fait croître linéairement, et une perte la réduit.

Réponse

C · Augmente la fenêtre de congestion de façon exponentielle jusqu'à un seuil ou une perte
19.Sous-réseaux IPv4

Réponse: H = 30

Sous-réseaux IPv4 : une adresse a 32 bits. Le préfixe /p indique combien de bits de tête identifient le réseau ; les 32 − p bits restants numérotent les hôtes. Un sous-réseau a 2³²⁻ᵖ adresses, mais la première (adresse réseau) et la dernière (adresse de diffusion) ne peuvent pas être attribuées, il tient donc 2³²⁻ᵖ − 2 hôtes. Exceptions : un /31 (liaison point à point, RFC 3021) utilise ses 2 adresses pour des hôtes, et un /32 est une adresse unique (un seul hôte ou une interface de bouclage).

Bits à emprunter

23 = 8 ≥ 6 → b = 3, /27

Hôtes par sous-réseau

25 − 2 = 30

Réponse

H = 30
20.Sous-réseaux IPv4

Réponse: x = 223

Sous-réseaux IPv4 : une adresse a 32 bits. Le préfixe /p indique combien de bits de tête identifient le réseau ; les 32 − p bits restants numérotent les hôtes. Un sous-réseau a 2³²⁻ᵖ adresses, mais la première (adresse réseau) et la dernière (adresse de diffusion) ne peuvent pas être attribuées, il tient donc 2³²⁻ᵖ − 2 hôtes. Exceptions : un /31 (liaison point à point, RFC 3021) utilise ses 2 adresses pour des hôtes, et un /32 est une adresse unique (un seul hôte ou une interface de bouclage).

Taille de bloc

25 = 32

Sous-réseau de cet hôte

réseau: ⌊200/32⌋·32 = 192
diffusion: 192 + 32 − 1 = 223
hôtes utilisables: 193 … 222

Réponse

x = 223

ExamProblems · examproblems.com/courses/computer-science-fundamentals