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 :

[LG]Divers problémes pour un programme.


Sujet :

Langage Pascal

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2003
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 8
    Points : 2
    Points
    2
    Par défaut [LG]Divers problémes pour un programme.
    j'ai un Tp d'info à finir pour la rentrée, et j'ai quelques problèmes

    deja je bloque sur le fait que je doit attribuer à la fin de chaines de caractères une variable composée de numéros, mais cette variable je dois la faire varier, donc je suis obligé de la définir en tant qu'integer
    or quand je rajoute cette variable à la chaine, il me dit qu'il attend un Ansistring et non un longint (l'erreur exacte est : 55 / 84 ser4.pas
    Error: Incompatible types: got "LONGINT" expected "ANSISTRING")

    Si vous voulez jetez un coup d'oeil au fichier, le voila
    http://membres.lycos.fr/screenst4c/Divers/TP.zip


    sinon il faut que je récupère toutes les variables contenues dans un flot constitué du code d'un prog
    pour cela j'utilise un vecteur précédement crée qui a récupéré tous les mots et les as mis en majuscule (c'est la démarche qu'on nous avait fait prendre au début)
    j'ai bien pensé à récupérer ce qui se situe apres var, mais certaines variables ne sont pas précédées de var, j'ai pas encore trouvé comme les récupérer, de meme pour celles séparées par une virgule
    car le vecteur ne stocke que les mots, donc plus de ponctuations.

    sinon j'utilise DevPascal, vu qu'on a ca à la fac, je pense que c'est mieux

    ps : bien sur je ne veux pas qu'on me mache tout le travail, sinon je ne progresserais jamais, juste besoin d'un petit coup de pouce, et ie pense que ce forum est la pour ca

    merci d'avance


    ah sinon, sympa ce site ! , je pensais pas qu'on pouvait faire autant de choses avec Pascal
    est ce que toutes les sources dispo marchent avec tous les compilateurs ?
    ou pour certains il faut leur ajouter des trucs ?
    car j'ai téléchargé le fichier couleurs.zip, et j'ai voulu voir si devpascal pouvait le compiler, résultat j'ai eu pleins d'erreurs

    --------
    Pascail : edition du titre

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Bon, ça commençait mal (cf "TP"), et puis ça s'est amélioré sur la fin (cf "Je ne veux pas qu'on me mâche le boulot") !

    Bon, tu essaies d'ajouter une chaîne de caractères avec un entier. C'est comme si tu ajoutais des pommes avec des poires : ça ne marche pas !

    Pour info, il faut te servir de la procédure Str. Je ne t'en dis pas plus, car le sujet a déjà été abordé sur le forum. Utilise donc la fonction Rechercher du forum.

    Pour ton autre problème, j'ai pas tout suivi, mais je pense pouvoir te donner une piste :

    var va indiquer le début de la liste des variables. La fin va se détecter un peu moins facilement : ce sera l'apparition des mots réservés const, type, procedure, function, begin, ou bien une autre clause var.

    Il faut donc les détecter. Ensuite, pour trouver le nom de chaque variable, il faut regarder les différentes virgules, point-virgules, deux-points. Sert toi pour ça de la fonction Pos.

    A+
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2003
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    ok merci

    bah vi, ca serait trop facile si je demandais à qqu qui maitrise le langage de me faire tout le travail, ca m'aura servi à rien

    en effet avec str ca marche plus d'erreur
    vi je me doutais bien qu'il apprécierais pas que j'ajoute des entiers avec des chaines de caractères
    mais j'avais cherché un peu et j'avais pas vu qu'il existait un fonction qui transformer directement un entier en chaine

    sinon pour la suite, je pense qu'il faut que j'entre tous les mots situés apres var, sauf les mots réservés, et cela jusqu'au begin
    je vais réfléchir à cela demain

    par contre vu que je travaille sur un vecteur qui a récupéré les mots du flot, je n'ai aucun points,virugles ou autre

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Si tes mots sont déjà séparés, ça pourrait se corcer... En effet, il faut exclure de la liste des variables les différents types. S'il est facile de repérer les types comme Integer, string et autres types standards, il ne va pas en être de même pour les types utilisateur, déclarés précédemment.
    Si tu dois en plus de taper la lecture de la section type, tu es bon pour te refaire tout le compilateur !

    Je ne pense pas que ce soit une bonne idée de faire sauter toute la ponctuation, à moins que l'on ne te donne pas le choix...

    A+
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  5. #5
    Candidat au Club
    Inscrit en
    Avril 2003
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    oui c'est ce que je me disais en réfléchissant après

    en fait dans l'exercice il dise pas explicitement qu'elle méthode utiliser

    mais vu qu'avant on a défini 3 procédures : une qui crée le vecteur dont j'ai parlé et recupère tous les mots du flot, une 2eme qui les met en majuscule, et une 3eme qui cherche si un mot donné en fait parti

    donc je pensais qu'il fallait utiliser tout ca, mais c'est vrai que pour récupérer toutes les variables ca va etre loin d'etre une partie de plaisir

    mais on a aussi crée au debut du prog, un vecteur contenant tous les mots réservés,
    ainsi il faut peut etre que je lui fasse comparer tous les mots se trouvant entre procedure et begin et n'enregistrer que les mots non reservés mis à part le nom de la procédure

    je vais peut etre essayer ca

    [Edit]
    En fait non t'as raison, j'oubliais qu'il pouvait y avoir des types persos, comme vecteur

    finalement je me demande si c'est vraiment une bonne idée cette histoire de vecteur
    je vais essayer sans

  6. #6
    Candidat au Club
    Inscrit en
    Avril 2003
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    finalemment j'ai crée un nouveau vecteur qui stocke les mots, mais aussi la ponctuation, comme ca des qu'un mot, situé entre procedure et begin, et suvit d'un ',' ou d'un ':' est récupéré

    enfin maintenant j'ai une runtime error

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Une runtime error ? Code 10 ? Si c'est ça, c'est pas bon... Ca peut cacher tout et n'importe quoi cette bête là.

    A+
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  8. #8
    Candidat au Club
    Inscrit en
    Avril 2003
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Hdd34
    Une runtime error ? Code 10 ? Si c'est ça, c'est pas bon... Ca peut cacher tout et n'importe quoi cette bête là.

    A+
    oui une runtimer error
    on dit aussi code 10 ?

    la fenetre s'ouvre et se ferme en suivant, si je garde appuyer la touche pour lancer le prog, j'arrive à discerner Runtime error, et 4 lignes de numéros

    j'ai essayé de voir si c'etait pas avec le flot que ca déconnait, mais j'ai rien trouvé

    oui c'est vrai que c'est chiant ce type d'erreur, on a aucune indication de la ou ca peut provenir

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Essaie de lancer ton prog depuis l'IDE de Turbo Pascal. Il te donnera le code de l'erreur.
    "Runtime error" signifie "erreur d'exécution" : c'est très vaste. Avec un code d'erreur, on serait plus avancé.

    A+
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  10. #10
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    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 937
    Points : 59 415
    Points
    59 415
    Billets dans le blog
    2
    Par défaut
    Si tu lances ton programme depuis l'IDE de TP, prends la peine de noter l'adresse à laquelle l'erreur se produit (par exemple, Runtime error 10 at 0001:02F4).

    Ensuite, dans l'IDE, fais une recherche depuis le menu Search --> Find error, indiques-y l'adresse et tu as des chances que TP t'indique l'instruction ayant planté ton programme.

    Cela ne marche pas toujours car, lorsque l'erreur survient dans une interruption ou dans un driver, TP ne peut évidemment pas la détecter dans son code.

    Bonne chance !
    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]

  11. #11
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Merci du tuyau Alcatîz
    Et pendant qu'on y est, y'aurait-il quelqu'un pour m'expliquer les BreakPoints ?? non je déconne....
    a+
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Normalement, si l'erreur est détectable par TP, il te place tout de suite sur l'instruction qui pose problème. Les cas où il faut se reporter à l'adresse mémoire sont extrêment rares, voire inexistants.

    Encore en train de délirer Wormful ?

    A+
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  13. #13
    Candidat au Club
    Inscrit en
    Avril 2003
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    je voulais passer pour vous remercier de votre aide, mais j'ai ma période d'exam et j'ai completement oublié

    j'avais réussi à me débarasser de la runtime error (en supprimant des paramètres non utilisés, bizarre)

    en tout cas merci pour votre aide

    A bientot peut etre

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Ben ça plaisir de voir que tu as quand même pensé à nous !

    On ne compte plus ceux qui se tirent sans rien dire.

    Bonne chance pour tes exams.

    A+
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  15. #15
    Candidat au Club
    Inscrit en
    Avril 2003
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    c'est la moindre des choses, et j'aurais aimé le faire avant, mais j'ai toujours tendance à oublier les choses importantes

    A bientot peut etre

Discussions similaires

  1. Quel âge pour la programmation ?
    Par Frazeks dans le forum Programmation pour enfants
    Réponses: 35
    Dernier message: 30/04/2020, 18h16
  2. Réponses: 145
    Dernier message: 15/02/2009, 11h51
  3. Icones pour un programme
    Par jeebee dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 10/12/2005, 19h17
  4. une IHM pour mon programme fortran
    Par mehdouchi dans le forum Fortran
    Réponses: 5
    Dernier message: 09/09/2005, 16h00
  5. Sujet pour un programme en POO?
    Par dreamanoir dans le forum Langage
    Réponses: 6
    Dernier message: 28/01/2005, 19h18

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