Enregistrements

Le type structuré à champs nommés et typés : définition, accès par notation pointée, tableau d'enregistrements, enregistrements imbriqués.

  • 22 cartes
  • 5 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Mises en situation
  5. Comprendre

Quelques cartes du deck

  • Enregistrement : de quoi s'agit-il ?

    Voir la réponse

    Donnée composée de plusieurs valeurs nommées, de types éventuellement différents, regroupées sous un seul nom.

    Un élève (nom, âge, moyenne) est un enregistrement. En C, c'est une struct ; en Java, une classe ou un record ; en Python, une classe de données.

  • Qu'affiche ce programme ?

    ```python
    from dataclasses import dataclass

    @dataclass
    class Eleve:
    nom: str
    notes: list

    eleves = [Eleve("Ana", [12, 15]), Eleve("Ben", [9, 14]), Eleve("Cléo", [17, 11])]
    print(eleves[1].notes[0])
    `

    • 9
    • 14
    • 12
    • Ben
    Voir la réponse

    9

    eleves[1] est le deuxième élève (Ben), .notes sa liste [9, 14], [0] la première note : 9. 14 serait notes[1], 12 la première note du premier élève.

  • En C, on déclare un enregistrement avec le mot-clé … et on accède à un champ avec le caractère …, comme dans p.x.

    Voir la réponse

    En C, on déclare un enregistrement avec le mot-clé struct et on accède à un champ avec le caractère point, comme dans p.x.

    Python et Java utilisent la même notation pointée pour un champ ou un attribut. En C, avec un pointeur vers l'enregistrement, on écrit p->x.

  • Champ : de quoi s'agit-il ?

    Voir la réponse

    Valeur nommée et typée, qui fait partie d'un enregistrement.

    Un champ se repère par son nom, alors que la case d'un tableau se repère par son numéro. Dans un tableau, toutes les cases ont le même type ; ce n'est pas obligatoire pour les champs.

  • Un programme garde deux tableaux parallèles, noms et ages. Après avoir trié noms par ordre alphabétique, les âges ne correspondent plus aux bonnes personnes. Quelle solution règle le problème à la racine ?

    • Trier aussi ages, avec le même algorithme, mais sur ses propres valeurs
    • Un tableau d'enregistrements Personne(nom, age), trié d'un bloc
    • Trier d'abord ages, puis noms, pour que les indices se recouvrent
    • Un seul tableau qui alterne un nom, un âge, un nom, un âge
    Voir la réponse

    Un tableau d'enregistrements Personne(nom, age), trié d'un bloc

    Les tableaux parallèles reposent sur une convention : la case i de chaque tableau concerne la même personne. Trier l'un seul la rompt. Un enregistrement garde nom et âge ensemble, et déplacer une case déplace les deux.