Aller au contenu principal

TP1 - Prise en main

Objectif

Maitriser les primitives des structures linéaires.

Au préalable
  1. Se créer un dossier Terminale NSI sur votre ordinateur ou clé USB
  2. Dans ce dossier, créer un dossier Structures Linéaires

Sur EduPython ou autre instance python, faire :

  1. Créer un nouveau fichier en cliquant sur l'icône 📄, ou en appuyant sur CTRL+N
  2. Enregistrer le fichier sous le nom TP1_Prise_En_Main en cliquant sur l'icône 💾, ou en appuyant sur CTRL+S
TP

Dans ce TP, on va utiliser les listes python pour représenter les différentes structures.

Listes

  1. Recopier et compléter les primitives des listes :
    def vide():
    ...

    def estVide(L):
    ...

    def cons(x, L):
    ...

    def car(L):
    ...

    def cdr(L):
    ...

On donne le code suivant :

L = vide()
L = cons(12, cons(5, cons(32, L)))
a = car(L)
L1 = cdr(L)
L1 = cons(42, cons(23,L1))
  1. Expliquer ce que font chacune des lignes.
  2. Que valent L et L1 à la fin du programme ?

Piles

  1. Recopier et compléter les primitives des piles :
    def videP():
    ...

    def estVideP(P):
    ...

    def empiler(x, P):
    ...

    def depiler(P):
    ...

    def taille(P):
    ...

On donne le code suivant :

P = vide()
empiler(34,P)
empiler(76,P)
empiler(43,P)
a = depiler(P)
empiler(42,P)
b = taille(P)
  1. Expliquer ce que font chacune des lignes.
  2. Que valent P et b à la fin du programme ?

Files

  1. Recopier et compléter les primitives des files :
    def videF():
    ...

    def estVideF(F):
    ...

    def enfiler(x, F):
    ...

    def defiler(F):
    ...

    def taille(F):
    ...

On donne le code suivant :

F = vide()
enfiler(67,F)
enfiler(34,F)
enfiler(78,F)
a = defiler(F)
enfiler(23,F)
b = taille(F)
  1. Expliquer ce que font chacune des lignes.
  2. Que valent F et b à la fin du programme ?