Pile: exo realisation de la primitive Empiler
Résolu
bornin90s
Messages postés
52
Statut
Membre
-
bornin90s Messages postés 52 Statut Membre -
bornin90s Messages postés 52 Statut Membre -
Bonjour je suis en train de relire mon cours mais je me demande si je n'ai pas mal écrit la solution de l'exo d'application .
Voici l'énoncé et la solution et en commentaire ce que je crois avoir oulié de noter. Qu'en pensez-vous? Merci pour votre aide
Enoncé:
1/ Soit une pile d’entier réaliser avec les entiers. Ecrire un module qui réalise la primitive Empiler()
2/ Soit une pile d’entier réaliser avec les entiers. Ecrire un module qui réalise la primitive Pilepleine()
Correction
Correction Exo 2
Voici l'énoncé et la solution et en commentaire ce que je crois avoir oulié de noter. Qu'en pensez-vous? Merci pour votre aide
Enoncé:
1/ Soit une pile d’entier réaliser avec les entiers. Ecrire un module qui réalise la primitive Empiler()
2/ Soit une pile d’entier réaliser avec les entiers. Ecrire un module qui réalise la primitive Pilepleine()
Correction
Type pile = ↑structure DEBUT Info :entier Suiv :pile FIN Var sommet :pile Procedure Empiler(Donne val :entier D/R sommet :pile) /** * Ici devait-on pas déclarer p comme suit *var p = pile *? */ DEBUT Si (pilePleine(sommet)=vrai) alors Ecrire « Impossible d’ajouter » Sinon Allouer(p) P↑.info←val P↑.suiv ←NIL Si(pileVide(sommet)=vrai)alors Sommet ←p Sinon P.↑suiv ← sommet Sommet ← p FINSI FINSI FIN
Correction Exo 2
Type pile = ↑structure DEBUT Info :entier Suiv :pile FIN Var sommet :pile Procedure pilePleine(Donne sommet :pile) :booleen /** * Ici devait-on pas déclarer p comme suit *var p = pile *? */ DEBUT Allouer(p) SI(p=NIL) alors Retourner(vrai) Sinon Liberer(p)/*Pourquoi doit-on liberer p? */ Retourner(faux) FINSI FIN
A voir également:
- Pile: exo realisation de la primitive Empiler
- Pile carte mere - Guide
- Pile manette wii ✓ - Forum Wii
- Pile bios empêche démarrage pc ✓ - Forum Matériel & Système
- PIle BIOS ✓ - Forum Carte-mère/mémoire
- Comment changer pile souris contactor ✓ - Forum MacOS
1 réponse
Bonjour,
"Ici devait-on pas déclarer p comme suit var p = pile "
Je pense que si, pour les deux cas.
"Pourquoi doit-on liberer p?"
Le principe de pilePleine est d'essayer d'allouer une nouvelle donnée (pour montrer que c'est possible) mais s'il a réussi il faut ensuite la libérer pour ne pas prendre inutilement la place et avoir à la fin de la procédure la même pile qu'au début.
"Ici devait-on pas déclarer p comme suit var p = pile "
Je pense que si, pour les deux cas.
"Pourquoi doit-on liberer p?"
Le principe de pilePleine est d'essayer d'allouer une nouvelle donnée (pour montrer que c'est possible) mais s'il a réussi il faut ensuite la libérer pour ne pas prendre inutilement la place et avoir à la fin de la procédure la même pile qu'au début.
bornin90s
Messages postés
52
Statut
Membre
Merci bcp .