ioCode
Immuable ()
Piles • Exercices 1A
- Écrire une fonction1IndiceRenvoyer une liste vide directement.
vide : unit -> 'a listqui renvoie une pile vide. Par exemplevide ()renvoie[]. - Écrire une fonction2IndicePréfixer la liste existante avec l'élément à empiler.
push : 'a -> 'a list -> 'a listqui renvoie la pile obtenue en empilant l'élémentxsur la pilep. Par exemplepush 1 [2; 3]renvoie[1; 2; 3]. - Écrire une fonction3IndiceIgnorer le premier élément pour retourner la queue restante.
pop : 'a list -> 'a listqui renvoie la pile privée de son sommet. Par exemplepop [1; 2; 3]renvoie[2; 3]. - Écrire une fonction4IndiceAccéder au premier élément sans modifier la structure de la liste.
peek : 'a list -> 'aqui renvoie l'élément au sommet de la pile sans la modifier. Par exemplepeek [1; 2; 3]renvoie1. - Écrire une fonction5IndiceCompter les éléments en utilisant une récursion sur la queue.
taille : 'a list -> intqui calcule le nombre d'éléments contenus dans la pile. Par exempletaille [1; 2; 3]renvoie3. - Écrire une fonction6IndiceParcourir la chaîne caractère par caractère avec un for pour construire une liste. s.[i] permet d'accéder au caractère en position i dans la chaîne.
to_list : string -> char listqui renvoie la liste des caractères de la chaînechaine. Par exempleto_list "abc"renvoie['a'; 'b'; 'c']. - Écrire une fonction7IndiceMaintenir une pile d'état pour valider l'équilibrage des parenthèses.
verifier_parentheses : string -> boolqui renvoietruesi les parenthèses de la chaîneexpressionsont bien équilibrées, etfalsesinon. Par exempleverifier_parentheses "(a+b)"renvoietrue.
Langage
Console initialisée. En attente de l'interpréteur...