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 :

[TP] Aide pour commenter un programme


Sujet :

Turbo Pascal

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 16
    Par défaut [TP] Aide pour commenter un programme
    Bonjour, je suis actuellement entrain d’apprendre un tutoriel sur le turbo pascal !! Vous allez me dire "Quesque se sujet fait dans la parti Delphi" Ben je trouve que le Pascal ressemble très fort au Delphi de toute Façon avant de se lancer dans le Delphi il faut apprendre les bases qui sont le pascal !! Bref voilà !! Donc arrivé à un stade du tutoriel je bloque il nous présente un petit programme mais je ne comprends pas certaine fonction donc voilà le code :

    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
    Program exemple12 ; { nom du programme :exemple12}
    Uses crt, dos ;    {crt est une biliohoteque ! dos pour declarer que c'est sous dos}
    Var f : text ;    {déclaration de la variable f de type text }
    nom : string ;    {declaration de la variable nom de type string }
    choix : char ;    {declaration de la variable choix de type char }
    Procedure lecture ;  { c'est un procedure pour lire un fichier c est sa ?}
    Begin
    Append (f) ;          {??????????????????????????????????????????????}
    Reset (f) ;           {reset et pour donner une taille a f mais c'est quoi une taille ??}
    Readln (f, nom) ;     {nous demandera une valeur qui atribura a f et nom c est sa ??}
    Writeln (nom) ;       {???????????????????????????????????????}
    End ;
    BEGIN
    Clrscr ;               {efface l'ecran}
    Assign (f, 'init.txt') ;   {on attribu le fichier init.txt a la variable f c' est sa ? }
    Rewrite (f) ;            {?????????????????????????????????}
    Write ('Entrez un nom d''utilisateur : ') ;  {écris a l ecran entre un nom ...}
    Readln (nom) ;       {nous demande une valeur a atribuer a la variable nom}
    nom := 'Dernier utilisateur : ' + nom ;   {???????????????????????????}
    Writeln (f, nom) ;   {????????????????????????????????}
    Close (f) ;     {ferme le fichier f qui est le fichier init.txt c est sa ?}
    Write ('Voulez-vous lire le fichier init.txt ? [O/N] ') ; {ecris a l ecran voulez vous ...}
    Readln (choix) ;      {nous demande un choix entre oui ou non }
    If (choix='O') or (choix='o') then lecture ;  { si on taper O ou o il affiche init.txt}
    END.
    Voilà, j'ai mis des commentaires pour definir chaque fonction mais je ne suis pas sur !! Donc se que je vous demande s'est de copier coller se code dans le bloc note et de modifier les commentaire faux et les commentaires où j'ai mis les ???????????????? (j'ai mis sa car je ne savais pas du tout !! )

    Vous pourriez me faire sa ? svp !

  2. #2
    Membre Expert
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Par défaut
    Je redirige vers le forum Pascal.

    Car qu'est ce qui ressemble plus à du Pascal que du Pascal ?

    Par la même occasion merci de changer ce tître à forte valeur commerciale mais très pauvre au sens technique.

  3. #3
    Responsable Pascal, Lazarus et Assembleur


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

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 996
    Billets dans le blog
    2
    Par défaut
    Bonjour !

    Un minimum d'indentation permet de comprendre plus facilement.
    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
    Program exemple12 ; { nom du programme :exemple12}
     
    Uses crt,      {crt est une bibliothèque de gestion du mode texte!}
         dos ;     {dos est une bibliothèque de fonctions dos}
     
    Var f : text ;        {déclaration de la variable f de type fichier texte }
        nom : string ;    {déclaration de la variable nom de type string }
        choix : char ;    {déclaration de la variable choix de type char }
     
    Procedure lecture ;  { c'est une procedure pour lire un fichier c est sa ?}
    Begin
      Append (f) ;       {ouverture fichier pour ajout de lignes supplémentaires (??? ne sert à rien)}
      Reset (f) ;        {retour au début du fichier}
      Readln (f, nom) ;  {lecture d'une ligne de texte dans le fichier}
      Writeln (nom) ;    {affichage de la ligne lue à l'écran}
    End;
     
    BEGIN
      Clrscr ;                                     {efface l'ecran}
      Assign (f, 'init.txt') ;                     {on attribue le fichier init.txt a la variable f}
      Rewrite (f) ;                                {on recrée un fichier init.txt vide}
      Write ('Entrez un nom d''utilisateur : ') ;  {écris a l ecran entre un nom ...}
      Readln (nom) ;                               {nous demande une valeur a atribuer a la variable nom}
      nom := 'Dernier utilisateur : ' + nom ;      {Insertion de "Dernier utilisateur"}
      Writeln (f, nom) ;                           {écriture dans le fichier init.txt}
      Close (f) ;                                  {ferme le fichier init.txt}
      Write ('Voulez-vous lire le fichier init.txt ? [O/N] ') ; {ecris a l ecran voulez vous ...}
      Readln (choix) ;                             {nous demande un choix entre oui ou non }
      If (choix='O') or (choix='o') then lecture ; {si on taper O ou o il affiche init.txt}
    END.
    Bon courage pour la suite de ton apprentissage !
    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]

  4. #4
    Membre Expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Par défaut
    Ce programme contient un bug majeur : le fichier n'est pas fermé à la fin de la procédure lecture. De plus, l'appel à Append(f) au début de cette même procédure est totalement inutile, Reset(f) suffit.

    Si ce programme est donné tel quel dans un tutoriel, un conseil : changer de cours/tutoriel au plus vite !

    @++

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 16
    Par défaut Aide pour comprendre les fonctions d'un code !
    Bonjour !!!

    Voici mon code qu'il-y-a dans mon tutoriel sur le Turbo Pascal !!

    Pour voir mon code avec les couleurs pour mieu comprendre allez sur ce lien http://www.rafb.net/paste/results/4FY1R082.html

    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
    Program exemple12 ;  {program appeller exemple12}
     
    Uses crt,       {crt est une bibliothèque}
         dos ;      {dos est une bibloithèque}
     
    Var f : text ;       {on créer une variable f de type text}  
        nom : string ;   {on créer une variable nom de type string}
        choix : char ;   {on créer une variable choix de type char}
     
    Procedure lecture ;  {ceci est une procedure pour plutard dans le code pour lire un fichier txt qui sera nommer init.txt }
    Begin {début de la procedure lecture}      
      Reset (f) ;    
      Writeln (nom) ;    
    End; {fin de la procedure lecture}
     
    BEGIN 
      Clrscr ;                                    {efface l'écran}
      Assign (f, 'init.txt') ;       {pour dire que le fichier init.txt sera attribué a la variable f}
      Rewrite (f) ;   {on créer ensuite le fichier init.txt}                             
      Write ('Entrez un nom d''utilisateur : ') ;  {affiche à l'écran entrez un non ...}
      Readln (nom) ;        {on attribut la valeur saisi par l'utilisateur à la variable nom}
      nom := 'Dernier utilisateur : ' + nom ; {on laisse la même valeur saisie par l'utilisateur en lui rajoutant juste une petit phrase devant !! tout simplement !}     
      Writeln (f, nom) ;   {on ecris dans la variable f , donc le fichier init.txt le contenu de la variable nom}                       
      Close (f) ;    {on ferme le fichier init.txt pour éviter de perdre les données rentré}                            
      Write ('Voulez-vous lire le fichier init.txt ? [O/N] ') ;{on demande a l'utilisateur si il veus lire le fichier init.txt }  
      Readln (choix) ;   {nous demandons le choix de l'utilisateur !}                          
      If (choix='O') or (choix='o') then lecture ;  {si l'utilisateur saisie O ou O, la lecture du fichier init.txt se lance ! si il saisie n ou N ou tout simplement une autre lettre le program quit !}
    END. {fin du programe !}
    Voilà, j'ai commenté ce code ! Mais voilà ce dont je ne comprends pas !! :

    Dans la partie procédure lecture, nous avons un writeln(nom); writeln est une commande pour écrire dans un fichier mais pourquoi ecrire writeln(nom); et non writeln(f) directement !! Moi je pense que ils ont mit writeln(nom); car dans dans la procédure lecture nous ne savons pas encore que le fichier init.txt a était atribué a la variable F, et s'est pour sa que a la deuxième partie du code ils mettent writeln(f, nom); pour écrire dans le fichier F (qui est le fichier init.txt) le contenu de la variable nom !! Je ne suis pas sûr de ce que je dis donc si j'ai faux corrigez moi directement !!


    Le code ci dessus, quand je le compile tout marche je l'éxecute il me demande 'entrez un nom d'utilisateur : ' je rentre toto je fais entrer il me demande si je veus lire le fichier init.txt je fais oui !! et il me sort le contenu du fichier init.txt donc 'dernier utilisateur : toto' !!
    Ensuite je reviens dans le compilateur, et dans la deuxième partie du code je supprime f dans writeln(f, nom); donc il reste writeln(nom); !! et compile et quand je l'éxecute sa marche toujours pourtant writeln sert a écrire dans un fichier !! J'ai supprimé f dans le writeln donc pourtant dans le fichier f il ne devrait plus avoir le contenu de la variable nom s'est bizar !!


    Donc voilà jespere que vous pourrez répondre a mes deux questions !! please

  6. #6
    Membre Expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Par défaut
    Une fois de plus : changer de tutoriel et en lire un vrai
    WriteLn sert à écrire dans un flux de sortie : un fhcier lorsqu'il est spécifié, sinon à l'écran.

    @++

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 16
    Par défaut
    Lol si il serai possible de mieu expliquer car la c'est incompréensible please expliquer moi bien les reponse de mes deux question !

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 16
    Par défaut
    C'est bon dsl suffit de chercher un peut avec google et on trouve merci quand meme

  9. #9
    Membre Expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Par défaut
    Citation Envoyé par justind1989
    C'est bon dsl suffit de chercher un peut avec google et on trouve merci quand meme
    Aaaah, très bonne philosophie

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 16
    Par défaut
    Merci hdd34

  11. #11
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Procedure lecture ;
    Begin
      Reset (f) ; // remet le fichier au début
      Writeln (nom) ; // retourne à l'écran le contenu de la _variable_ (!!!) nom, et non le contenu du fichier (on se demande d'ailleurs à quoi sert le reset)
    End;
    Cette procédure est géniale, j'adore!

    C'est un peu comme si on te demandais de coder une fonction calcule : integer pour calculer la somme de 3 et 4 et que tu écrivais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure calcule(x, y : integer) : integer;
    begin
    calcule := 7;
    end;
    Je suis d'accord avec Hdd34 : change de tutorial !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/04/2007, 11h30
  2. Aide pour un petit programme
    Par multeamage dans le forum C++
    Réponses: 13
    Dernier message: 19/08/2006, 17h36
  3. Besoin d'aide pour un petit programme
    Par Nico35 dans le forum C
    Réponses: 13
    Dernier message: 25/05/2006, 22h21
  4. Aide pour projet de programmation Lycée
    Par Supervince dans le forum C
    Réponses: 26
    Dernier message: 21/05/2006, 15h55
  5. [TPW][cours]Demande d'aide pour finir un programme
    Par jf dans le forum Turbo Pascal
    Réponses: 21
    Dernier message: 16/06/2003, 18h10

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