IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Turbo Pascal Discussion :

Gestion d'une liste circulaire


Sujet :

Turbo Pascal

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 13
    Points : 8
    Points
    8
    Par défaut Gestion d'une liste circulaire
    Salut tout le monde, je suis nouveau ici et je cherche la solution d'un exercice.

    Exercice : on considère une file circulaire représentée par un tableau. Ecrire un module Pascal Manipuler_file.pas qui contient les fonctions ou les procédures suivantes:
    - Afficher le contenu de la file,
    - Consulter le premier élément de la file,
    - Enfiler un nouvel élément,
    - Défiler un élément,
    - Tester si la file est pleine,
    - Tester si la file est vide.
    Ecrire un programme Pascal qui permet de manipuler une file de nombres entiers en utilisant le module Manipuler_File.

    Merci pour votre attention

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Kie,

    Personne ici ne fera ton travail à ta place.

    IL faut nous montrer ce que tu as fait, nous expliquer ce qui te bloque, et on verra.
    Si les cons volaient, il ferait nuit à midi.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par droggo Voir le message
    Kie,

    Personne ici ne fera ton travail à ta place.

    IL faut nous montrer ce que tu as fait, nous expliquer ce qui te bloque, et on verra.
    Dsl
    c'est mon travail:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    program Manipuler_File;
    type
    	liste=record
    		elt:integer;
    		svt:^liste;
    	end;
    var
    	fil:^liste;
     
    procedure afficheFile(fil:^liste)
    var l:^liste;
    begin
    	l:=fil;
    	while(l<>nil)
    	begin
    		writeln(^l.elt);
    		l:=^l.svt;
    	end;
    end;	
     
    function premiereEltFile(fil:^liste):integer;
    begin
    	premiereEltFile:=^l.elt;
    end;
     
    procedure enfiler(fil:^liste,x:integer)
    var l:^liste;
    	e:^liste;
    begin
    	l=fil
    	while(l.svt<>nil)
    	begin
    		l:=^l.svt;
    	end;
    	allocate(e);
    	^e.elt:=x;
    	^e.svt:=nil;
    	^l.svt:=e;
    end;
     
    function defiler(fil:^liste):integer;
    var l:^liste;
    	x:integer;
    begin
    	l:=fil;
    	fil:=^fil.svt;
    	x:=^l.elt;
    	^l.svt:=nil;
    	free(l);
    	defiler:=x;
    end;	
    begin
     
    end.
    Merci pour ta réponse.

  4. #4
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Bonjour ! Apparemment il y a un certain nombre de petites corrections à faire.

    Pour arriver à compiler le code (sans chercher à savoir s'il fonctionne bien), j'ai ajouté la déclaration d'un type pliste. Il me semble que c'est nécessaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    type
      pliste=^liste;
      liste=record
        elt:integer;
        svt:pliste;
      end;
    Autrement, après un while on doit avoir un do.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    while (l<>nil) do
    begin
    Il manque aussi des points-virgules.

    Enfin, j'ai enlevé des chapeaux chinois un peu partout. Je crois qu'il y en avait trop, mais je préfèrerais que quelqu'un d'autre le confirme, n'étant pas expert de ce genre d'écriture.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  5. #5
    Membre expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti chat, bienfaiteur de tritons et autres bestioles

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 552
    Points : 3 918
    Points
    3 918
    Par défaut
    Salut

    Ca commence mal :
    On considère une file circulaire représentée par un tableau
    et tu fais une implémentation par pointeur.
    Ton prof va t'adorer...

    M E N S . A G I T A T . M O L E M
    Debian 64bit, Lazarus + FPC -> n'oubliez pas de consulter les FAQ Delphi et Pascal ainsi que les cours et tutoriels Delphi et Pascal

    "La théorie, c'est quand on sait tout, mais que rien ne marche. La pratique, c'est quand tout marche, mais qu'on ne sait pas pourquoi. En informatique, la théorie et la pratique sont réunies: rien ne marche et on ne sait pas pourquoi!".
    Mais Emmanuel Kant disait aussi : "La théorie sans la pratique est inutile, la pratique sans la théorie est aveugle."

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    Unit Manipuler_file;
     Interface
      Const n = 10;
      Type tableau=array[1..n]of integer;
     
        Function File_Vide(d,f : integer) : boolean;
        Function File_Pleine(d,f : integer) : boolean;
        Procedure Remplire_file( Var T:Tableau ; Var f: integer);
        Procedure Afficher(T: Tableau; d,F:integer);
        Procedure Enfiler( Var T:Tableau ;Var f: integer; d,y : integer );
        Procedure Defiler( Var T:Tableau ;d,f : integer );
     
     
     
     
     
     
     
     Implementation
     
     
       Function File_Vide(d,f : integer) : boolean;
        begin
         if d=f then
          File_Vide := True
         else
          File_Vide := False;
        end;
     
       Function File_Pleine(d,f : integer) : boolean;
        begin
        if d=(f+1)mod n then
         File_Pleine := True
        else
        file_Pleine := False;
        end;
     
       Procedure Remplire_file( Var T:Tableau ; Var f: integer);
       var i : integer;
       begin;
       for i:= 1 to ( f-1) do
       begin
       write('donnez T[',i,']=');
       read ( T[i]);
       end;
       end;
     
     
       Procedure Afficher(T: Tableau; d,F:integer);
       var i:integer;
       begin
        i:=1;
       while i<=10 do
        begin
        if i<d then
        write('x',' ')
        else
        if i<f then
       write (T[i],' ')
        else
       write('x',' ');
       i:=i+1;
       end;
     
        end;
     
        Procedure Enfiler( Var T:Tableau ;Var f: integer; d,y : integer );
        begin
        if File_Pleine(d,f) = true Then
       writeln ('La fille est pleine ')
       else
        begin
        T[f]:=y;
         f:=(f+1);
          if f>n Then
         f:=1;
         end;
         afficher(T,d,f);
         end;
     
       Procedure Defiler( Var T:Tableau ;d,f : integer );
       begin
       if File_Vide(d,f) = true Then
        writeln (' La fille est vide ')
       else
       begin
        d:=(d+1);
        if d>n Then
        d:=1;
         end;
         afficher ( T,d,f);
        end;
     
       End.
    Et comme ça ?

Discussions similaires

  1. Model Driven ? Data Driven ? Gestion d'une liste a usage multiple
    Par dolanor dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 13/01/2008, 21h51
  2. [MySQL] formulaire automatisés pour gestion d'une liste
    Par Larffas dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/10/2007, 13h01
  3. [MCD] Gestion d'une liste de matériels
    Par joker vb dans le forum Schéma
    Réponses: 4
    Dernier message: 15/09/2007, 01h34
  4. gestion d'une liste d'enseignants
    Par Lio 2 dans le forum Langage
    Réponses: 6
    Dernier message: 19/08/2007, 20h47
  5. Gestion d'une liste box
    Par norwy dans le forum Windows
    Réponses: 6
    Dernier message: 01/11/2005, 12h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo