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 :

Notions d'enregistrement en Pascal


Sujet :

Langage Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 12
    Par défaut Notions d'enregistrement en Pascal
    Bonjour. J'ai un projet d'informatique (sous Pascal) à rendre pour la semaine prochaine. J'ai déja programmé quand j'étais plus jeune sous VB, les deux langages n'ont pas l'air enormement different pour ce dont j'ai besoin. Le problème c'est que j'ai d'autres projets (non informatique) assez en retard...J'ai donc ecrit mon programme un peu comme en VB, mais je n'arrive pas à l'adapter en Pascal. Je n'y ai pas encore passé beaucoup de temps, mais je sais que galerer sur des petits problèmes de langage peut etre tres long (comparé à quelqu'un qui maitrise le langage). Donc voila, si vous maitrisez le langage, ca serait sympa d'adapter ma procedure...(j'ai surtout un problème pour déclarer des variables du type : Joueur[i].nom...)
    D'avance merci.

    C'est une procédure de saisie de données (un score de tennis)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Procedure Nom_equipe 
     If Nbre_joueur =  4 then 
      For i from 1 to 2 do 
      Equipe[i].nom=”l’équipe”  Joueur[i].nom + Joueur[i+1].nom 
      End ; 
     
     If Nbre_joueur =  2 then 
      For i from 1 to 2 do 
      Equipe[i].nom=Joueur[i].nom 
      End ; 
    End ;



    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
     
    Procedure Saisie_score 
    begin 
     
     h :=Nbre_set 
     for j from 1 to Nbre_set do 
     begin 
      If h<Nbre_set then  
       Halt (arrête  la boucle for ??!) 
      Else  
       For i from 1 to 2 do 
       Begin  
        Repeat 
        Writeln(« combien de jeux à gagné » Equipe_nom[i] «dans le set» j « ?») 
        Writeln(« 1, 2, 3, 4, 5, 6, 7, T pour Tie Break, P si le set numéro » j « n’a pas encore commencé») 
        Readln(equipe[i].set[j].jeu) 
        Until equipe[i].set[j].jeu IN [1, 2, 3, 4, 5, 6, 7, T, P] 
        If equipe[i].set[j].jeu = P then 
         h:=j-1 
     
       End; 
     
     End;

    Commentaire : h correspond au numéro de set qui est en train de se jouer.

    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
    For k from 1 to 2 do 
     Begin 
      If equipe[k].set[h].jeu=T then 
       Repeat  
       Writeln (« Nombre de point marqué par » Equipe_nom[k] « dans le Tie Break » ) 
       Readln(equipe[k].point) 
       UNTIL équipe[k].point IN integer 
      Else  
       Repeat  
       Writeln (« Score » Equipe_denom[k] « dans le dernier jeu en cours ») 
       Writeln (0, 15, 30, 40, E pour égalité, A pour avantage, D pour avantage à l’adversaire) 
       Readln (equipe[k].point IN (0, 15, 30, 40, E, A, D) 
     
      If equipe[1].point = E then 
       equipe[2].point = E 
       halt  (sortie de la boucle for ?!!) 
     
     
      If equipe[1].point = A then 
       equipe[2].point = D 
       halt  
     
      If equipe[1].point = D then 
       equipe[2].point = A 
       halt  
     
     End; 
    End.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Par défaut
    En bref, (très bref )

    comme vous le savez déjà votre variable équipe ou joueur sont des variables de type structure, un tableau de structure plus précisement.

    en pascal, une structure ce déclare comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    type NomDeStructure = record
      Membre1 : integer;
      Membre2 : string;
    end;
    Pour un tableau du type de votre structure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var Joueur : array[0..10] of NomDeStructure
     
    Joueur[0].Membre1 := 0;
    N.B : cela est à voir selon vos besoin (statique ou dynamique)

    et

    arrêter une boucle, c'est l'instruction :

    Après lecture rapide de votre code, le reste me semble ok

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 12
    Par défaut
    OK merci beaucoup !

  4. #4
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    Ce ne code ne marche en aucun cas. la syntaxe de l' ecriture en pascal n' est pas respecté, pas de point virgule, ecriture des boucles for, ...
    je crois plutot que tu dois revoir ton cours sur le pascal sinon tu auras de serieux problemes.

  5. #5
    Membre émérite Avatar de Tuxico
    Profil pro
    Étudiant
    Inscrit en
    Août 2003
    Messages
    662
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2003
    Messages : 662
    Par défaut
    arrêter une boucle, c'est l'instruction :

    Code :

    Break;

    déconseillé

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 12
    Par défaut
    déconseillé ?!
    Pourquoi ?

Discussions similaires

  1. [TP] La structure d'enregistrement en Turbo Pascal
    Par Iheb Design dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 08/10/2007, 17h48
  2. [VB6] [Crystal] Selection enregistrement
    Par littlecow dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 11/01/2005, 13h08
  3. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26
  4. enregistrer dans un fichier avec une appli mdi
    Par ferrari dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/05/2002, 15h17

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