Aller au contenu principal

Type

Objectifs

Comment organiser les données ?

  • Reconnaître les types de données
  • Reconnaître les structures de données

Cours

Type

Introduction à l'algorithmique

Variable

  • Pour contenir une valeur

  • Chaque variable a un type

  • Déclarée avec un nom

    • Le nom peut contenir des lettres, des chiffres et des _

    • Le nom doit commencer par une lettre

    • Le nom ne peut pas être un mot réservé (if, else, for, ...)

Types de base

  • 42

    • Nombre entier : Integer (int)

  • 3.14

    • Nombre décimal (virgule flottante) : Float (float)

  • false / true

    • Booléen (vrai ou faux) : Boolean (bool)

  • "Hello"

    • Chaîne de caractères / texte : String (str)

    • Délimitée par des guillemets

Quiz : quel type ?

  • 16

    • int

  • "Bleu"

    • str

  • "7"

    • str

  • 6.626

    • float

  • true

    • bool

  • 3,14

    • erreur (virgule au lieu du point)

Opérateurs

  • 16 + 5.2

    • Addition entre deux nombres (int ou float)

  • 31 - 0

    • Soustraction entre deux nombres

  • 8 * 1291

    • Multiplication entre deux nombres

  • 42 / 5

    • Division entre deux nombres

  • 5 % 2

    • Modulo : reste de la division entière

  • "Abra" + "cadabra"

    • Concaténation entre deux chaînes de caractères

Type des opérations

  • int + int

    • int

  • int - float

    • float

  • float * float

    • float

  • int / int

    • float

  • str + str

    • str

  • str + int

    • erreur (types différents)

Quiz : quel type ?

  • 5 + 3

    • int

  • 5 + 3.2

    • float

  • "5" + "3"

    • str

  • "5" + 3

    • erreur (str + int)

Liste

  • liste = [42, 3.14, "Hello"]

  • Liste : ensemble ordonné d'éléments

  • Délimité par des crochets

  • Chaque élément est séparé par une virgule

  • Chaque élément a un index (position dans la liste) qui débute à 0

    • liste[0] : premier élément, liste[1] : deuxième élément, …

    • liste[-1] : dernier élément, liste[-2] : avant-dernier …

    • liste[1] : 3.14

    • liste[3] : erreur (index hors de la liste)

Quiz : évaluer l'expression

  • a = [54, 12, 29, 34, 87]

  • b = ["rouge", "vert", "bleu"]

  • a[2]

    • 29

  • b[1]

    • "vert"

  • a[1] + a[3]

    • 46

  • a[1] + b[0]

    • erreur (types différents)

  • b[0] + b[0]

    • "rougerouge"

F pour passer en plein écran ou O pour afficher la vue d'ensemble.
Versions sans animation, plein écran, imprimable.

Exercices

Variable

Est-ce un nom de variable valide ?

  1. nom
  2. 42
  3. nom de variable
  4. nom_de_variable
  5. 1nom
  6. nom!
  7. nom2
  8. int
Solution
  1. Valide
  2. Invalide, un nom de variable ne peut pas commencer par un chiffre.
  3. Invalide, un nom de variable ne peut pas contenir d'espaces.
  4. Valide
  5. Invalide, un nom de variable ne peut pas commencer par un chiffre.
  6. Invalide, un nom de variable ne peut pas contenir de caractères spéciaux.
  7. Valide
  8. Invalide, int est un mot-clé réservé.

Type

Quel est le type de chaque variable dans les exemples suivants ?

  1. a = 5
  2. b = 12.0
  3. c = "Bonjour"
  4. d = True
  5. e = [1, 2, 3]
  6. f = a + b
  7. g = c + " tout le monde"
  8. h = e[1]
  9. i = a - c
  10. j = a / e[0]
  11. k = e[3]
  12. l = e[1] + e[2]
Solution
  1. a est un nombre entier (int).
  2. b est un nombre flottant (float).
  3. c est une chaîne de caractères (str).
  4. d est un booléen (bool).
  5. e est une liste d'entiers (list).
  6. f est un nombre flottant (float).
  7. g est une chaîne de caractères (str).
  8. h est un entier (int).
  9. i est une erreur, on ne peut pas soustraire un entier d'une chaîne de caractères.
  10. j est un nombre flottant (float).
  11. k est une erreur, l'index 3 n'existe pas dans la liste e.
  12. l est un entier (int).

Évaluation

Quel est le résultat de chaque expression ?

  1. 6 + 3
  2. 6 - 3
  3. 6 * 3
  4. 6 / 3
  5. "6" + 3
  6. "6" + "3"
  7. 6 + "3"
  8. "6" - "3"
Solution
  1. 9
  2. 3
  3. 18
  4. 2.0
  5. Erreur, on ne peut pas additionner une chaîne de caractères et un entier.
  6. "63"
  7. Erreur, on ne peut pas additionner un entier et une chaîne de caractères.
  8. Erreur, on ne peut pas soustraire des chaînes de caractères.

On déclare les variables suivantes :

ls = [1, 2, 3, 4, 5]
a = 2
b = "la"

Quel est le résultat de chaque expression ?

  1. ls[1]
  2. ls[a]
  3. ls[b]
  4. ls[1] + ls[2]
  5. ls[a] + ls[2]
  6. ls[1] + ls[b]
Solution
  1. 2
  2. 3
  3. Erreur, on ne peut pas utiliser une chaîne de caractères comme index.
  4. 5
  5. 6
  6. Erreur, on ne peut pas additionner un entier et une chaîne de caractères.

Organigramme + Liste

plantuml

Que retourne les instances suivantes de l'algorithme ci-dessus ? liste.taille est le nombre d'élément de la liste (donc 3 pour les instances ci-dessous).

  1. liste = [1, 2, 3], x = 1
  2. liste = [7, 5, 2], x = 6
  3. liste = [2, 15, 3], x = 3
Solution
  1. Vrai
  2. Faux
  3. Vrai

Que fait cet algorithme ? Vous pouvez le tester avec d'autres valeurs.

Solution

Indique si x est présent dans liste.

Réécrire l'algorithme en pseudo-code : FONCTION contient(liste, x)

Solution
FONCTION contient(liste, x)
i ← 0
TANT QUE i < liste.taille FAIRE
SI liste[i] = x ALORS
RETOURNER Vrai
SINON
i ← i + 1
FIN SI
FIN TANT QUE
RETOURNER Faux
FIN FONCTION

Références