Source : Scratch Wiki en français

(Redirigé depuis Supprimer une liste)


Liste

Une liste (de fait un tableau par opposition aux listes chaînées) est un structure de données permettant d'associer à un identifiant un ensemble de valeurs indexé et itérable. En Scratch, les listes ne sont pas typées.

Définition

En sciences informatiques, un tableau est une adresse en mémoire visant une séquence de cases mémoires allouée à un programme, dont chaque case est accessible depuis l'identifiant du tableau et un indice de case. Dans la plupart des langages de programmation, il s'agit plus complexe, du fait du typage des données.

L'objet « tableau » peut être vu comme une escalier où sur chaque marche se trouve une valeur liée à l'identifiant du tableau par le numéro de la marche.

Typage

Article principal Article principal : Typage

Le typage d'une liste indique la capacité de cette dernière à gérer les différents types d'objets.

Portée

Article principal Article principal : Portée

La portée d'une liste limite son environnement de définition.

Tableau en Scratch

Le langage Scratch permet la création et l'utilisation de listes prédéfinies via la catégorie de blocs Scratch Données.

Leur gestion dans un projet se fait dans la catégorie Données de la palette de blocs Scratch.

Créer une liste

Bouton « créer une liste » dans la catégorie Données.

Depuis la palette de blocs Scratch, dans la catégorie Données, le bouton « Créer une liste » permet de créer une liste.

L'interface de création de liste dans l'Éditeur.

Le bouton ouvre une interface pour la création d'une liste. Un nom unique doit être donné, et la portée de la liste doit être choisie.

Idée
 Idée :
Choisir une nomenclature pour les listes permet de s'y retrouver plus facilement dans des projets en utilisant plusieurs.

Renommer une liste

Le menu déroulant affiché lors d'un clic sur le bloc reporteur associé à un tableau dans la palette de blocs Scratch.

Depuis le menu déroulant du reporteur d'une liste, cette dernière peut être renommée.

Interface pour renommer une liste.

Un nouveau nom est demandé. Il n'est pas obligatoire de changer ce dernier.

Info
 Info :
Toutes les instances de la liste sont automatiquement renommées.

Supprimer une liste

Depuis le menu déroulant du reporteur d'une liste, cette dernière peut être supprimée.

Si la liste n'est pas utilisée, elle est directement supprimée. Sinon, un avertissement demande confirmation de la suppression de la liste.

Danger
 Danger :
Il n'y pas d'outil de restauration des listes supprimées, vérifiez alors que vous souhaitez réellement supprimer telle ou telle liste.

Affectations

Trois opérations d'affectation sont possibles, ainsi que deux opérations de suppression.

Ajout d'élément

Le bloc ajouter () à [ v] ::list ajoute un élément à la liste précisée. Si la liste est vide, un élément est créé, sinon, un élément est ajouté à la fin de la liste.

Insertion d'élément

Le bloc insérer () en position () de [ v] ajoute un élément à un indice précis d'une liste. L'élément à cet indice et les éléments d'indices supérieurs voient leurs indices incrémentés.

Attention
 Attention :
Complexité pire cas en O(n).

Modification d'élément

Le bloc remplacer l'élément () de la liste [ v] par () modifie la valeur d'un élément d'indice donné d'une liste.

Suppression d'élément

Le bloc supprimer l'élément () de [ v] retire un élément d'indice donné d'une liste.

Attention
 Attention :
Complexité pire cas en O(n).

Suppression des éléments

Le bloc supprimer tous les éléments de la liste [ v] vide une liste.

Élément

Un élément (en anglais "item") d'une liste est une case contenant une valeur et accessible depuis un indice.

Le bloc élément [i] de [ma liste v] retourne l'élément d'indice i de la liste ma liste.

Recherche

Scratch dispose de deux blocs pour la recherche de valeur dans les éléments :

Indice

Un indice (en anglais "index") est un identifiant des éléments dans une liste (ou toute autre structure de données séquentielle). On parle parfois de position d'un élément.

LeSaviezVous
 Le saviez-vous ? :
Dans la plupart des langages de programmation, les indices commencent à 0.

Longueur

La longueur d'une liste indique le nombre d'éléments que la liste contient. Si la liste est vide, la longueur est considérée comme nulle.

Le bloc (longueur de [ v]) retourne la longueur d'une liste.

LeSaviezVous
 Le saviez-vous ? :
(élément [last] de [ma liste v]) est équivalent à (élément (longueur de [ma liste v]) de [ma liste v]).
LeSaviezVous
 Le saviez-vous ? :
En Scratch, essayer d'accéder à un élément inexistant résulte en un retour vide.

Représentation concaténée

Le bloc reporteur associé à une liste (liste::list) retourne la concaténation des valeurs d'une liste en tant que chaînes de caractère.

Info
 Info :
Si au moins un élément n'est pas de longueur 1, des espaces sont insérés.

Moniteur

Article principal Article principal : Moniteur

Le moniteur d'une liste est un élément affiché sur la scène indiquant notamment le nom, le contenu et la longueur de la liste. Il n’interagit pas avec les différents éléments de la scène.

Contrairement au moniteur d'une variable, le moniteur de liste est - sur petit écran - interactif : l'utilisateur peut modifier des éléments, en supprimer ou en ajouter.

Info
 Info :
Les dimensions du moniteur sont ajustables via le symbole égal situé en bas du moniteur.

Limitations

Sur Scratch 3.0, la longueur d'une liste est limitée à 200 000 éléments[1]. Toutefois, il n'y pas de limite lors de l'import d'une liste.

Info
 Info :
La limite empêche d'ajouter ou d'insérer des éléments dans la liste.

Références

Voir aussi

Les témoins (''cookies'') nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation de témoins.