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

Free Pascal Discussion :

Initialisation d'un tableau [Débutant(e)]


Sujet :

Free Pascal

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Initialisation d'un tableau
    Bonjour,

    Yannick, j'ai 30 ans je reprend un BTS SIO (enciennement IG) cette année,

    En math nous étudions le Pascal et je galère terriblement...

    J'ai un exercice qui vous paraîtra peut-être simple, mais je n'arrive même pas à le commencer depuis 2h que je suis dessus. Pourrais-je solliciter votre aide ?

    Je dois écrire une fonction prenant en argument un tableau t de type array[1..N] of integer, et le remplissant de zéros.

    J'ai beaucoup plus d'exercices à faire mais je me dis qu'en comprenant le début j'y arriverai surement après.

    Merci

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 938
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Bonjour et bienvenue,

    Allez, une petite aide pour démarrer.

    Tout d'abord, le N du type de tableau doit être défini sous forme de constante au début du programme. Par exemple :
    Tu dois ensuite déclarer le type de ton tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Type TTableau = Array [1..N] of Integer;
    Ceci fait, tu déclares la variable t :
    Le tableau passé en paramètre à la fonction devant y être modifié, il doit être précédé du mot-clé var. Dans la fonction, une simple boucle for zérotera le tableau. Le compteur de ta boucle sera une variable locale à la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Function Zerotage (var { ... }
    Var i : Integer;
    Begin
      for i := 1 to N do
        { ... }
    Je te laisse continuer.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci de ta réponse c'est gentil. je n'aurai pas pensé à définir N, j'ai du mal à comprendre la var Ttableau et I et { ... } la tu définis quoi? Je n'avais jamais touché de langage avant aussi y a tout un mecanisme à integrer.

  4. #4
    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
    Fio,
    Citation Envoyé par Alucard38 Voir le message
    Merci de ta réponse c'est gentil. je n'aurai pas pensé à définir N, j'ai du mal à comprendre la var Ttableau et I et { ... } la tu définis quoi? Je n'avais jamais touché de langage avant aussi y a tout un mecanisme à integrer.
    Alors il faut lire un cours de Pascal.
    Si les cons volaient, il ferait nuit à midi.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Oui je reli la, entre le C, le pascal, le sql et d'autre je craque!!!
    Le pascal j'en étudi que pendant les cours de math

  6. #6
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 938
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Attention aux mélanges, c'est la migraine assurée.

    Encore un indice pour t'aider : un élément d'un tableau est référencé comme ceci : tableau[4] pour le 4ème élément, tableau[i] pour le ième. Dans la boucle for, la variable i va prendre toutes les valeurs de 1 à N :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for i := 1 to N do
      tableau[i] := 0;
    N'hésite pas à consulter les cours à ta disposition : http://pascal.developpez.com/cours/#debuter
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci pour ton aide. Je coince à la ligne 12 de mon programme.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    program initab;
    const N = 10;
    type TTableau = array [1..N] of integer;
    var T : TTableau;
     
    function zero (var T : integer) : integer;
             var i : integer;
              begin
                       for i : = 1 to N do TTableau[i] : =0;         ---> ma ligne 12
               writeln (zero);
              end.

  8. #8
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 938
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Houla, manifestement tu n'as pas saisi le principe du passage des paramètres.

    Une procédure ou une fonction est un sous-programme qui reçoit les données à traiter. Normalement, elle n'a pas à s'occuper d'autre chose que les données qui lui sont fournies.

    Dans le cas présent, une procédure suffit car je ne vois pas trop quelle valeur une fonction pourrait retourner. On sait juste qu'elle reçoit en paramètre un tableau de type TTableau et qu'elle doit le modifier. Son en-tête sera donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Procedure Zero (var tableau : TTableau);
    Pourquoi ai-je appelé mon paramètre tableau, et pas t comme dans le programme principal ? Parce que la procédure doit être considérée comme un sous-programme indépendant dont le paramètre passé est une variable à part entière. J'ai donc fait exprès de nommer le tableau tableau et non t pour bien le montrer.

    A l'intérieur de la procédure, il s'agit donc d'assigner 0 à tous les éléments de la variable tableau à l'aide d'une boucle for :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Procedure Zero (var tableau : TTableau);
    Var i : Integer;
    Begin
      for i := 1 to N do
        tableau[i] := 0;
    End;
    A présent, il faut appeler la procédure dans le programme principal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Begin   (* Programme principal *)
      { ... }
      Zero(t);
      { ... }
    End.
    Si tu parviens à comprendre le principe exposé ci-dessus, tu es sauvé.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci, c'est quasi un cours la ;-)

    Je relirai mieu ce soir et regarderai mon programme. Procedure = sous-programme.

Discussions similaires

  1. Initialisation d'un tableau à plusieurs dimensions
    Par kinouseb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/02/2007, 13h16
  2. Initialisation d'un tableau de pointeurs
    Par tintin72 dans le forum C++
    Réponses: 19
    Dernier message: 19/11/2006, 10h22
  3. Problème d'initialisation d'un tableau
    Par Premium dans le forum C
    Réponses: 13
    Dernier message: 31/05/2006, 14h48
  4. Débutant : initialisation d'un tableau
    Par lebokto dans le forum C++
    Réponses: 7
    Dernier message: 02/11/2005, 15h50
  5. Initialisation d'un tableau de type STRUCT
    Par Axiome dans le forum MFC
    Réponses: 4
    Dernier message: 06/09/2005, 10h58

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