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

Langage Pascal Discussion :

Paramètres de la procédure Write


Sujet :

Langage Pascal

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 5
    Points : 15
    Points
    15
    Par défaut Paramètres de la procédure Write
    Bonjour,

    Je dois convertir un programme du Pascal au C.

    Ne connaissant rien au Pascal, j'ai parcouru les cours sur developpez.com, et réussi à traduire 99% du code.
    Il reste pourtant une ligne de code qui reste pour moi mystérieuse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    write(livre, tab[n]:succ(a))
    Cette ligne se trouve dans une procédure qui ne prend pas d'arguments.
    n est un entier local à la procédure
    tab un tableau d'entiers à portée globale
    a un entier à portée globale

    Pourriez-vous me dire ce que fait cette ligne ?

  2. #2
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 033
    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 033
    Points : 15 168
    Points
    15 168
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par veryellow Voir le message
    Pourriez-vous me dire ce que fait cette ligne ?
    Bonjour ! :succ(a) set à formater l'écriture de tab[n]. succ(a) veut dire a + 1.

    Donc le tout signifie "écrire la valeur de la variable tab[n] sur au moins a + 1 caractères".

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 5
    Points : 15
    Points
    15
    Par défaut
    Merci pour la rapidité, et la pertinence de la réponse.
    Pour ceux que ça intéresse, voici le code (très) original issu de la "Grammaire de la nature" de Jean Marie Souriau (livre disponible sur www.jmsouriau.com)
    Il s'agit du calcul des 1000 première décimales de pi avec la formule d'Euler.
    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
    program DernierFaust;
    const multitude = 201 ; doigts = 5 ; sexe = 2 ; neant = 0 ;
    type demon = longint;
    var Faust, ciel, ange : demon ;
    enfer: array[neant.. multitude] of demon ; grimoire : text;
    procedure Invoquer(var ca, co, bra, da :demon); var a : demon; begin
    a := bra + ca * da ; bra
    := a div co; da := a -
    co * bra
    end;
     
    procedure Incube (Marguerite : demon); var homme : demon; begin
    ciel := neant;
    for homme := multitude downto neant do
    invoquer(Marguerite, Faust, ciel, enfer[homme]) end;
     
    procedure Succube (Marguerite : demon); var femme: demon; begin
    ciel := neant;
    for femme:= neant to multitude do
    invoquer(Faust, Marguerite, enfer[femme], ciel) end;
     
    procedure Vaderetro; var exorciste : demon; begin
    for exorciste := neant to multitude do
    enfer[exorciste] := neant end;
    procedure Satanas; begin
    enfer[neant]:=succ(enfer[neant])
    end;
     
    procedure Epilogue; var sorcier : demon; begin
    for sorcier := neant to pred(multitude) do
    write(grimoire, enfer[sorcier]: succ(doigts)) end;
     
    procedure Prologue; begin
    Faust := round(exp(ln(doigts*sexe) * doigts));
    ange := round(multitude * ln(Faust) / ln(sexe));
    rewrite(grimoire, 'parchemin'); end;
     
    begin prologue;
    vaderetro; satanas; satanas;
    for ange := ange downto ange div ange do begin
    incube (ange) ;
    succube (succ (sexe * ange)) ;
    satanas end ;
    incube(sexe);
    epilogue end.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] [débutant] condition sur une case par ligne, et action sur chaque ligne
    Par touille dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/06/2010, 18h17
  2. Réponses: 1
    Dernier message: 08/09/2009, 10h47
  3. [Labview 7.1]Débutant : action sur des boutons
    Par azerty-30 dans le forum LabVIEW
    Réponses: 7
    Dernier message: 02/06/2009, 11h03
  4. Actions souris sur tableau Flex de ActiveX
    Par zeus7857 dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 13/08/2008, 15h42
  5. [Débutant]Mettre une action sur un bouton
    Par Bindy dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 29/06/2007, 13h28

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