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

Pascal Discussion :

G�n�ralisation de fonction


Sujet :

Pascal

  1. #1
    Membre � l'essai
    Profil pro
    Inscrit en
    F�vrier 2011
    Messages
    5
    D�tails du profil
    Informations personnelles :
    �ge : 33
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2011
    Messages : 5
    Par d�faut G�n�ralisation de fonction
    Bonjour, bonjour,
    J'ai r�aliser une proc�dure en pascal qui fait appel � des fonctions, presque semblables.
    Est-ce quelqu'un saurait m'aider � g�n�raliser ces fonctions???
    C'est super urgent
    Merci bcp

  2. #2
    Membre Expert

    Homme Profil pro
    �tudiant
    Inscrit en
    Juin 2009
    Messages
    935
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 34
    Localisation : France, Aveyron (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Par d�faut
    Salut

    Ceci est base de la programmation. Je te conseille de commencer par lire des cours et des tutoriels. Dans ton cas, une simple procedure ou fonction avec parametres suffit.

    Et, ca ne sert a rien de dire que c'est urgent, ca ne nous donne pas trop envie de r�pondre ...

    Bonne chance

    Mick605

  3. #3
    Membre � l'essai
    Profil pro
    Inscrit en
    F�vrier 2011
    Messages
    5
    D�tails du profil
    Informations personnelles :
    �ge : 33
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2011
    Messages : 5
    Par d�faut
    Bah en fait, c'est parce que je dois rendre mon travail mardi
    Mais j'ai eu les cours, et je ne comprends pas tr�s bien! Ce n'est pas mon option principal, je ne fais pas informatique!
    J'ai fait la proc�dure avec les quatre fonctions que je dois g�n�raliser, pour les ins�rer dans la proc�dure principale.
    Je publie ce que j'ai fait, au cas o� quelqu'un saurait m'aider

    C'est une proc�dure qui consiste � voir, le nombre de jeton align� de mm couleur verticalement(0,1), horizontalement(1,0), obliquement d�croissante(1,1), et obliquement croissante(-1,1).

    Merci de votre aide
    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
    95
    96
    97
    98
    99
    100
    101
    102
    103
    procedure elementsAlignes(var tab:grille; lgtab:coord, elt, direction: coord;
    var elementAlignes:integer; x:integer; y:integer;
    begin
         begin
         elementAlignes:=1
         x:=elt.col
         y:=elt.lig
       case (???)of
                       direction.col=0 and direction.lig=1; fctverticale ((x,y), elementsAlignes)
                        direction.col=1 and direction.lig=0; fcthorizontale ((x,y), elementsAlignes)
                        direction.col=-1 and direction.lig=1; fctobliquedecrois ((x,y), elementsAlignes)
                        direction.col=1 and direction.lig=1; fctobliquecrois ((x,y), elementsAlignes)
                            end;
     
     
     
     
    procedure fctverticale ((x,y), elementsAlignes)
    var b:boolean; temporaire:integer;
    begin
         b:=true
         temporaire:=y
         while (y>1) and (b:=true) do
         begin
              if tab[y,x].couleur= tab[y-1,x].couleur then
              elementAlignes:= elementAlignes+1
              y:=y-1
         end;
            else
         begin
              b:=false
         y:=temporaire
         b:=true
         while (y<lgTab.lig) and (b:=true) do
         begin
              if tab[y,x].couleur= tab[y+1,x].couleur then
              elementAlignes:=elementAlignes+1
              y:=y+1
         end;
             else
         begin
              b:=false
         end;
    end;
     
    procedure fcthorizontale ((x,y), elementsAlignes)
    var b:boolean; temporaire:integer;
    begin
         b:=true
         temporaire:=y
         while (x>1) and (b:=true) do
         begin
              if tab[y,x].couleur= tab[y,x-1].couleur then
              elementAlignes:= elementAlignes+1
              x:=x-1
         end;
            else
         begin
              b:=false
         y:=temporaire
         b:=true
         while (y<lgTab.lig) and (b:=true) do
         begin
              if tab[y,x].couleur= tab[y,x+1].couleur then
              elementAlignes:=elementAlignes+1
              x:=x+1
         end;
             else
         begin
              b:=false
         end;
    end;
     
    procedure fctdecrois ((x,y), elementAlignes)
    var b:boolean; temporaire1:integer; temporaire2:integer;
    begin
         b:=true
         temporaire1:=x
         temporaire2:=y
         while (y>1) and (b:=true) and (y<lgTab.lig) do
         begin
              if tab[y,x].couleur= tab[y-1,x-1].couleur then
              elementAlignes:= elementAlignes+1
              x:=x-1
              y:=y-1
         end;
            else
         begin
              b:=false
         x:=temporaire1
         y:=temporaire2
         b:=true
         while (x<lgTab.col) and (b:=true) and (y>1) do
         begin
              if tab[y,x].couleur= tab[y+1,x+1].couleur then
              elementAlignes:=elementAlignes+1
              x:=x+1
              y:=y+1
         end;
             else
         begin
              b:=false
         end;

  4. #4
    Membre Expert

    Homme Profil pro
    �tudiant
    Inscrit en
    Juin 2009
    Messages
    935
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 34
    Localisation : France, Aveyron (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Par d�faut
    Citation Envoy� par Cl3m-cl3m Voir le message
    Bah en fait, c'est parce que je dois rendre mon travail mardi
    Mais j'ai eu les cours, et je ne comprends pas tr�s bien! Ce n'est pas mon option principal, je ne fais pas informatique!
    Normalement, si tu as eu des cours, tu dois �tre capable de le faire. Je t'ai donn� la solution dans mon premier message. Il te suffit d'utiliser une procedure avec parametres. Si tu ne sais pas ce que c'est, cherche, et regarde les cours : http://pascal.developpez.com/cours/p...age_13#LXIII-C

    En voyant ton code, je me dis que tu dois �tre capable d'ajouter cette procedure avec parametres toute seule. Pour t'aider, les param�tres � donner � ta procedure sont la direction de la ligne � v�rifier, selon X et Y.

Discussions similaires

  1. R�ponses: 8
    Dernier message: 12/02/2013, 01h08
  2. R�ponses: 3
    Dernier message: 14/06/2006, 16h36
  3. Impl�mentation des fonctions math�matiques
    Par mat.M dans le forum Math�matiques
    R�ponses: 9
    Dernier message: 17/06/2002, 16h19
  4. fonction printf
    Par ydeleage dans le forum C
    R�ponses: 7
    Dernier message: 30/05/2002, 11h24
  5. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    R�ponses: 4
    Dernier message: 15/05/2002, 20h07

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