A voir également:
- Aide pour algoithme en pascal (informatique)
- Le code ascii en informatique - Guide
- Turbo pascal download - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Jargon informatique - Télécharger - Bureautique
- C'est quoi url en informatique - Guide
5 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
4 juin 2008 à 19:55
4 juin 2008 à 19:55
Je ne suis pas expert en traitement dynamique, alors que les experts me pardonnent, je parle de novice à novice...
le type pointeur correspond à une sorte de collier de perle dont chaque perle possède une valeur (integer) et un élément suivant (éventuellement NIL si pas de suivant) j'utiliserai cette métaphore pour expliquer le programme.
La fonction insertion_fin(tete,valeur) remonte le collier qui contient la perle 'tete' et accroche à sa fin une nouvelle perle de "couleur" 'valeur'
Plus en détail :
new(p2); // on attribue à 'p2' une nouvelle valeur, c'est à dire une "adresse" dans l'ordinateur, on a ainsi créer virtuellement un nouveau "collier de perle" ne contenant qu'une perle.
p:=tete; // on attribue à 'p' la valeur de 'tete', c'est à dire qu'on choisi une perle de 'tete' qui sera le point de départ du traitement de la procédure, et que l'on pointe (du doigt pour l'image)
while (p^.suivant<>NIL) do p:=p^.suivant; // tant qu'il y a une "perle" à la suite de celle que l'on pointe on décale notre "doigt" sur la perle suivante.
p^.suivant:=p2; // la nouvelle perle que l'on a créée au début est "accrochée" à la fin du collier de perle que l'on pointe avec p
p2^.valeur:=valeur; // la valeur de cette perle (sa couleur) est attribué par 'valeur' (pris en entrée de la procédure)
p2^.suivant:=NIL; // on indique qu'il n'y a pas de perle à la suite de cette nouvelle que l'on vient de créer
Exemple :
'tete' correspond à l'adresse de la cellule 1/5/3/9/4/9/NIL/
on utilise insertion_fin(tete,6);
'tete' correspond désormais à l'adresse de la cellule 1/5/3/9/4/9/6/NIL/
Voilà je pense avoir été (très) clair, mais si il y avais encore quelques zones d'ombres...
le type pointeur correspond à une sorte de collier de perle dont chaque perle possède une valeur (integer) et un élément suivant (éventuellement NIL si pas de suivant) j'utiliserai cette métaphore pour expliquer le programme.
La fonction insertion_fin(tete,valeur) remonte le collier qui contient la perle 'tete' et accroche à sa fin une nouvelle perle de "couleur" 'valeur'
Plus en détail :
new(p2); // on attribue à 'p2' une nouvelle valeur, c'est à dire une "adresse" dans l'ordinateur, on a ainsi créer virtuellement un nouveau "collier de perle" ne contenant qu'une perle.
p:=tete; // on attribue à 'p' la valeur de 'tete', c'est à dire qu'on choisi une perle de 'tete' qui sera le point de départ du traitement de la procédure, et que l'on pointe (du doigt pour l'image)
while (p^.suivant<>NIL) do p:=p^.suivant; // tant qu'il y a une "perle" à la suite de celle que l'on pointe on décale notre "doigt" sur la perle suivante.
p^.suivant:=p2; // la nouvelle perle que l'on a créée au début est "accrochée" à la fin du collier de perle que l'on pointe avec p
p2^.valeur:=valeur; // la valeur de cette perle (sa couleur) est attribué par 'valeur' (pris en entrée de la procédure)
p2^.suivant:=NIL; // on indique qu'il n'y a pas de perle à la suite de cette nouvelle que l'on vient de créer
Exemple :
'tete' correspond à l'adresse de la cellule 1/5/3/9/4/9/NIL/
on utilise insertion_fin(tete,6);
'tete' correspond désormais à l'adresse de la cellule 1/5/3/9/4/9/6/NIL/
Voilà je pense avoir été (très) clair, mais si il y avais encore quelques zones d'ombres...
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
3 juin 2008 à 23:19
3 juin 2008 à 23:19
Salut, il serait plus facile pour t'aider de nous donner le type de 'pointeur' et de 'p2', les unités utilisées pour ton programme.
Là comme ça on dirait un traitement dynamique d'une pile ou d'une liste peut-être...
Précise tout ça et j'arrive...
Là comme ça on dirait un traitement dynamique d'une pile ou d'une liste peut-être...
Précise tout ça et j'arrive...
oui désolée, c'est parce que moi en fait, je suis pas du tout dans ces etudes-là, c'est pour aider un ami... donc je m'y connais pas du tout --' le logiciel utilisé s'appelle FPS (Free Pascal) si ça peut t'aider ! merci d'avance !! :)
program Noname0;
var valeur:integer;
var n,i,recherche:integer;
type pointeur=^cellule;
cellule=record
valeur:integer;
suivant:Pointeur;
end;
var tete:Pointeur;
var p,p2,pp,res:Pointeur;
program Noname0;
var valeur:integer;
var n,i,recherche:integer;
type pointeur=^cellule;
cellule=record
valeur:integer;
suivant:Pointeur;
end;
var tete:Pointeur;
var p,p2,pp,res:Pointeur;
merci !!! c'est sympa je commence à comprendre un peu ^^
mais ce qui est clair c'est que j'irai jamais en IUT informatique !!!!! =)
mais ce qui est clair c'est que j'irai jamais en IUT informatique !!!!! =)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question