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
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2011
    Messages : 5
    Points : 2
    Points
    2
    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 chevronné

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    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
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2011
    Messages : 5
    Points : 2
    Points
    2
    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 chevronné

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    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