Série d’exercices (Structures de données)

Nom & Prénom : - Classe :

Exercice 1 (Bac 2016)

  1. L’identificateur d’une variable :
    • Ne doit pas commencer par un chiffre
    • Peut contenir un espace
    • Peut contenir le caractère souligné « _ »
  2. L’instruction qui permet d’affecter à une variable X, une valeur aléatoire de l’intervalle [2, 10] est :
    • X ⟵ 2 + Aléa(10)
    • X ⟵ 2 + Aléa(9)
    • X ⟵ Aléa(2 + 10)
  3. Une structure de données tableau peut :
    • Contenir des éléments de types différents
    • Etre déclarée avec une taille maximale variable
    • Avoir des indices de cases de type caractère
  4. Pour le type scalaire énuméré :
    • Les valeurs énumérées peuvent appartenir à un type prédéfini
    • Une valeur énumérée peut être affectée à une variable de même type
    • Les opérateurs relationnels « < », « > » et « = » peuvent être appliqués

Exercice 2 (Bac 2014)

Soient les tableaux de déclarations suivants :

Tableau de déclaration de nouveaux types
Types
Jour_semaine = (Dimanche, Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi, Dimanche)
Jour_travail = Lundi .. Vendredi
Phrase = Chaine[10]
Tab = Tableau [Lundi..Vendredi] de Phrase
TDO
Objet Type/Nature
A
T
Ch
i, j
Entier
Tab
Phrase
Jour_Travail

Valider chacune des propositions suivantes. Justifier la réponse en cas d’instruction jugée invalide.

1. a ⟵ ord(succ(Vendredi))

Justification :

2. T[Vendredi] ⟵ "Bonjour"

Justification :

3. Ch[15] ⟵ Sous_chaine("Bac", 1, 1)

Justification :

4. Lire(j)

Justification :

5. Pour i de Lundi à Vendredi Faire
  Ecrire(T[i])
Fin Pour

Justification :

Exercice 3 (Bac 2013)

Valider chacune des propositions suivantes en mettant (V) si elle est correcte ou (F) sinon.

  1. Soit l’instruction C ⟵ Sous_chaine("Baccalauréat", 4, 1) :
    • Elle permet d’affecter le caractère "c" à la variable C
    • La variable C doit être déclarée de type caractère
    • La variable C doit être déclarée de type chaine
  2. L’instruction X ⟵ Aléa(6) + 4 permet d’affecter à la variable X une valeur aléatoire de l’intervalle :
    • [4, 6]
    • [4, 10]
    • [4, 9]
  3. L’instruction R ⟵ Arrondi(12.5) permet d’affecter à la variable R :
    • L’entier 12
    • L’entier 13
    • Le réel 13.0
  4. Soit l’affectation C ⟵ majus("?") :
    • Elle permet d’affecter à la variable C le caractère "?" en gras
    • Elle permet d’affecter à la variable C le caractère "?"
    • La variable C doit être de type caractère

Exercice 4 (Bac 2013)

Soit la partie déclarative suivante d’un programme Pascal :

Program composer ;
Const mot1 = 'Informatique'; mot2 = '3D';
Var mot3, mot4 : String; n, m : integer;

En utilisant des procédures et des fonctions prédéfinies, donner les instructions Pascal permettant de réaliser les traitements suivants :

  1. A partir de la constante mot1, mettre dans la variable mot3 le terme 'format'
  2. A partir de mot3 et mot2, mettre dans la variable mot4 le terme 'format 3D'
  3. Mettre dans n la longueur de la chaine mot4
  4. A partir de la constante mot2, mettre dans m la valeur 3

Exercice 5 (Bac 2013)

Soit le type Examen contenant les valeurs suivantes : Math, Anglais, Physique et Informatique

  1. Qu’appelle-t-on le type Examen décrit ci-dessus.
  2. Proposer la déclaration pascal du type examen.
  3. Compléter le tableau ci-dessous par les types et les valeurs des variables A, B et C après exécution des instructions Pascal suivantes :
    A := pred(Informatique);
    B := ord(Anglais) + 8 div 4;
    C := (Math < Physique);
Variable Type Valeur
A
B
C

Exercice 6 (Bac 2012)

Compléter le tableau suivant par les valeurs des variables indiquées sachant que toutes les instructions sont correctes.

Instructions Valeurs
X ⟵ Tronc(11.8)
Y ⟵ Arrondi(11.8)
X = - Y =
Valeur("138.5", N, E)
N = - E =
Convch(138.25, Ch)
Ch =
Ch1 ⟵ "Information"
Efface(Ch1, 3, 6)
Ch1 =
Ch1 ⟵ "Information"
Ch2 ⟵ Sous_chaine(ch1, 3, 6)
Ch1 = - Ch2 =

Exercice 7 (Bac 2011)

Répondre par Vrai si la proposition est correcte ou par faux sinon.

Proposition Réponse
Un tableau de réels peut être rempli d'entiers
Un compteur d'une structure répétitive doit être de type scalaire
Les opérateurs div et mod ne peuvent pas être appliqués sur les nombres réels
Efface(Ch, Long(Ch)-1, 2) efface les deux premiers caractères de la chaine Ch

Exercice 8 (Bac 2011)

Soit l'algorithme traitement suivant :

0) Algorithme Traitement
1) Lire(n)
2) r ⟵ 0
Répéter
  r ⟵ r + n mod 10
  n ⟵ n div 10
Jusqu'à (n = 0)
3) Ecrire(r)
4) Fin Traitement

Questions:

  1. Quelle est la valeur affichée par ce programme lorsque n = 125 ?
  2. Quelle est la valeur affichée par ce programme lorsque n = 458 ?
  3. Que fait ce programme ?

Exercice 9 (Bac 2007)

Dans le tableau ci-dessous remplir les colonnes résultat et type par le résultat et le type correspondant à chacune des expressions de la première colonne.

Expression Résultat Type
Concat(Sous_chaine("Baccalauréat", 1, 3), " 2007")
(("D" < "A" ) et (ABS(-1) > 0))
(15 div 3) MOD 2
Tronc(7.25) + Arrondi(7.25)

Exercice 10 (Bac 2007)

Soit l'algorithme suivant :

1. Début Algo
2. Lire(Ch, c)
3. [i ⟵ 0, tr ⟵ (1 = 0)]
Répéter
  i ⟵ i +1
  tr ⟵ (c = ch[i])
Jusqu'à (tr) ou (Long(ch) = i)
4. Fin algo

Questions

  1. Quel est le rôle de cet algorithme ?
  2. Compléter le tableau ci-dessous par le type ou la nature des objets qui ont figuré dans l'algorithme précédent.
Objet Type/Nature
i
c
tr
ch