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

Pascal Discussion :

Réponse à des questions dans un temps imparti : problème avec Delay


Sujet :

Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de IMPRO
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Août 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Août 2007
    Messages : 111
    Par défaut Réponse à des questions dans un temps imparti : problème avec Delay
    bonjour ,
    voila je veux faire un programme qui fait un test , les but des ces tests est de répondre a des question dans un temps de 30 sec et de mettre la réponse dans un emplacement réservé . il ya 30 question
    mais j ai un problème avec le temps limité(30 sec) , alors j ai utilisé la commande DELAY
    voila le code de la partie ou j ai le problème
    ( les question et les reposes sont dans un tableau )
    -----------------------------------------------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    cpt:=0;
     
    for i := 1 to 30  do
     begin
       writeln(t[i].question);
       delay(3000);
       readln(reponse);
       if (reponse=t[i].reponse) then cpt:=cpt+1;
       clrscr;
     end;
    write('le resultat de ce test est : ',cpt);
    readln;
    end.
    ---------------------------------------
    mais sa marche pas , il passe + de 30 sec sans répondre mais la question elle change pas parce que il y a le READLN(reponse) ,
    comment faire ??? :s
    merci de m aider .

  2. #2
    Membre expérimenté Avatar de Tux++
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    281
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 281
    Par défaut
    bonjour,

    si tu veux qu'après les 30 secondes, la question change, tu ne dois pas procéder de la sorte.

    tu dois démarrer un compteur entre l'affichage de la question et la saisie au clavier de la réponse et si ce compteur dépasse 30secondes, tu passes à la question suivante

  3. #3
    Membre confirmé Avatar de IMPRO
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Août 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Août 2007
    Messages : 111
    Par défaut
    salut
    justement c'est ça le problème !
    1- comment déclencher le compteur en parallèle avec la l'attente de lecture, donc si l'utilisateur saisie une réponse le compteur dois s'arrêter !!

    bon j'ai utilise la fonction predefinie DELAY avant la lecture mais la il ya un probleme car pour effectuer la lecture l'utilisateur doit d'abord attendre 30sec et le deuxieme probleme, quand delay ecoule ses 30sec il va passer a l'instruction readln pour recuperer la reponse, donc il ne va pas passer a la question suivante tant qu'il ne y a pas de reponse !!
    comment faire pour mettre readln en parallèle avec delay, est ce que la fonction delay retourne une valeur pour tester avec ??

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Gae,

    Delay n'est pas adapte "dans dans ce cas, car mettant un delai (bizare ?) de durée fixée, ne dépendant pas du temps écoulé pour obtenir la réponse.

    Il faut lire l'heure au moment où on pose la question, et attendre la réponse avec un délai maximum (Delay n'est pas adapté)

  5. #5
    Membre confirmé Avatar de IMPRO
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Août 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Août 2007
    Messages : 111
    Par défaut
    j'ai pas compris ce qu'il faut faire

  6. #6
    Membre confirmé Avatar de bs.box
    Inscrit en
    Mai 2008
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 174
    Par défaut Bonjour,
    Comme "droggo" a indiqué,
    il faut avoir premièrement le temps de début,
    plus tu t'ajoute un teste dans la boucle FOR ;
    puis,
    Tu ne peut pas imposé readln; comme ça..
    regardez un peut cet algorithme..

    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
    cpt:=0;
     
    for i := 1 to 30  do
     begin
       writeln(t[i].question);
       repeat
       // Ici vous devez savoir comment avoir le temps; Consulter la FAQ !!
       // Puis faite vous que la condition (30 seconde écoulés) soit 
       // "TempsEcoule".
       // KeyPressed; est une fonction qui teste si une touche à été préssée
       // ou pas!!
       // donc, c'est à ces deux facteur que tu doit te travailler..
       until (TempsEcoule)or(KeyPressed);
       readln(reponse);
       if (reponse=t[i].reponse) then cpt:=cpt+1;
       clrscr;
     end;
    write('le resultat de ce test est : ',cpt);
    readln;
    end.
    Bon Courage..

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

Discussions similaires

  1. Entrer la réponse à une question dans un script.
    Par Trebor dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 01/09/2009, 19h38
  2. Gestion des paramètres dans le temps
    Par Terminator dans le forum SQL
    Réponses: 8
    Dernier message: 06/05/2009, 14h34
  3. Comment permuter l'ordre des questions dans un quiz
    Par lex001 dans le forum Débuter
    Réponses: 3
    Dernier message: 12/02/2009, 02h30
  4. Réponses: 1
    Dernier message: 25/05/2008, 17h38
  5. [Vim] et C++ ; Réponses à des questions de Richard
    Par Luc Hermitte dans le forum Autres éditeurs
    Réponses: 13
    Dernier message: 19/01/2004, 23h32

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