FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
"questionnaire" Emptypar papydall Hier à 16:57

» PANORAMIC V 1
"questionnaire" Emptypar papydall Hier à 3:22

» select intégrés [résolu]
"questionnaire" Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
"questionnaire" Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
"questionnaire" Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
"questionnaire" Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
"questionnaire" Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0
"questionnaire" Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
"questionnaire" Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
"questionnaire" Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
"questionnaire" Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
"questionnaire" Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
"questionnaire" Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
"questionnaire" Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
"questionnaire" Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment : -50%
-50% Baskets Nike Air Huarache Runner
Voir le deal
69.99 €

 

 "questionnaire"

Aller en bas 
2 participants
AuteurMessage
lutcho74

lutcho74


Nombre de messages : 139
Age : 29
Date d'inscription : 21/11/2008

"questionnaire" Empty
MessageSujet: "questionnaire"   "questionnaire" EmptyVen 21 Nov 2008 - 22:25

Voilà je suis un élève de 3ème de 14 ans et je compte faire programmeur comme métier, car je suis passionné de toutes "choses" ayant un rapport avec l'informatique et j'ai donc commencé par le langage basic mais je ne m'y suis mit que depuis peu et j'aimerai créer un "programme" en basic qui affiche une consigne (par exemple conjugue à la 3ème pers. du sing. ; je ne devrai pas avoir de mal à faire sa mais c'est pour le reste que je bloque) et qu'il y est un endroit ou l'on peut écrire la réponse que si elle est juste sa continue et que si elle est fausse que sa affiche une message avec la correction.

Je sais que je m'attaque a un projet plutôt difficile pour les bases que j'ai mais je vous demande de l'aide pour 2 raisons, je n'est pas d'idée de programme pas trop compliqué mais qui ne sont pas non plus simple et je pense que si vous m'aidez à le faire je n'aurez aucun mal à le comprendre et à me servir des commende utilisé pour d'autre choses. study

Si vous pouviez m'aidé se serai gentil; merci d'avance Smile
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2386
Date d'inscription : 28/05/2007

"questionnaire" Empty
MessageSujet: Re: "questionnaire"   "questionnaire" EmptySam 22 Nov 2008 - 9:04

Tout d'abord, je pense que tu fais le bon choix en voulant faire métier dans l'informatique. C'est un secteur d'avenir et aujourd'hui, la plupart des objets usuels (téléphone portable, lecteur de DVD, chaine Hifi, télévision, ...) contiennent du logiciel. Ce sera encore plus vrai demain et il faudra de plus en plus de programmeurs.

Je pense que tu veux faire ce qu'on appelle en anglais un "serious game" avec PANORAMIC, c'est à dire un didacticiel sous forme de jeu.

Ton "cahier des charges" est le suivant:
- le programme pose une question
- l'utilisateur réponds à la question
- le programme compare la réponse proposée à une réponse type
- le programme affiche que c'est correct ou propose la solution en cas d'erreur
- le programme passe à une autre question
- le programme s'arrête s'il n'y a plus de questions

Je vais regarder comment programmer ça de la manière la plus simple.

Déjà, au niveau de l'interface avec l'utilisateur et des objets utilisés, on peut proposer la question avec un ALPHA (objet 1) et mettre un EDIT (objet 2) pour que l'utilisateur tape sa réponse.
On place un BUTTON (objet 3) pour lancer la comparaison.

Ensuite, pour le traitement, on utilise 2 variables string (reponse_correcte$ et reponse_utilisateur$), l'utilisation de variables permettra par la suite d'utiliser le même traitement de comparaison pour différentes questions.
On clique sur un BUTTON pour lancer le traitement de comparaison: lorsque le bouton est cliqué, et on lit le contenu de l'EDIT par reponse_utilisateur$=TEXT$(2) et on compare à reponse_correcte$.
Si c'est la même chose, on écrit dans l'ALPHA que c'est correct, sinon, on affiche la bonne réponse.
On efface l'EDIT.

Voici la base:
Code:
dim reponse_correcte$, reponse_utilisateur$
label compare

rem création des objets
alpha 1
caption 1,"Quel est le prénom du Président de la république?"
reponse_correcte$="Nicolas"
edit 2:top 2,50
button 3:top 3,100:caption 3,"OK"

rem si on clique sur le bouton, on exécute compare
on_click 3,compare
end

compare:
rem lecture de la réponse de l'utilisateur
reponse_utilisateur$=text$(2)
if reponse_utilisateur$=reponse_correcte$
caption 1,"C'est correct"
else
caption 1,"La réponse correcte est "+reponse_correcte$
end_if
text 2,"":rem on efface l'EDIT
return

Tu peux transformer le programme pour mettre plusieurs questions (tu mets une boucle FOR par exemple). Si tu as 5 questions à poser, tu fais:
Code:
FOR I=1 TO 5
ton traitement : text 1,"question":reponse_correcte$="la réponse"
NEXT I

Une difficulté, c'est que l'utilisateur doit répondre exactement ce qui est prévu pour la réponse. Par exemple, s'il tape en majuscule NICOLAS, sa réponse sera considérée comme fausse, ou aussi s'il tape des espaces après ou avant sa réponse.

Pour éviter cela,
tu peux éliminer les blancs à droite et à gauche par
Code:
reponse_utilisateur$=trim$(text$(2))
et pour éliminer le problème d'une frappe en majuscule, tu peux comparer dans le if, la réponse convertie en majuscule par rapport à la saisie convertie elle aussi en majuscule:
Code:
if upper$(reponse_utilisateur$)=upper$(reponse_correcte$)
Revenir en haut Aller en bas
https://panoramic.1fr1.net
lutcho74

lutcho74


Nombre de messages : 139
Age : 29
Date d'inscription : 21/11/2008

"questionnaire" Empty
MessageSujet: "questionnaire"   "questionnaire" EmptySam 22 Nov 2008 - 13:33

Merci pour le premier code j'ai déjà commencé à comprendre mais ce que je ne comprend pas c'est comment ajouté une 2ème questions... Question
J'ai essayé avec la boucle FOR en mettant FOR I=1 to 2 et j'ai également ajouté I à DIM ...
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2386
Date d'inscription : 28/05/2007

"questionnaire" Empty
MessageSujet: Re: "questionnaire"   "questionnaire" EmptySam 22 Nov 2008 - 14:52

Voici un exemple qui pose 4 questions de suite sur le même principe.
J'ai mis une boucle FOR pour lire les questions qui sont en DATA et une autre pour lire les réponses elles aussi en DATA.

L'instruction DATA est une particularité du Basic qui permet de stocker des données direment dans le source.

J'utilise une variable entière I% car il n'y a pas besoin d'avoir une variable réelle.

Voici le code. Il peut bien sûr être amélioré, c'est juste une solution à ton problème parmi d'autres.

Code:
dim i%,question$(4)
dim reponse_correcte$(4), reponse_utilisateur$

label compare

rem création des objets
alpha 1
edit 2:top 2,50
button 3:top 3,100
caption 3,"OK"

rem si on clique sur le bouton, on exécute compare
on_click 3,compare

rem données des questions/réponses
data "Quel est le prénom du Président de la république?"
data "Quel est la date de la bataille de Marignan?"
data "Quelle est la capitale de l'Italie?","Qui a créé LINUX?"
data "Nicolas","1515","Rome"
data "Linus Torwalds"

rem boucle de lecture des questions
for i%=1 to 4
  read question$(i%)
next i%

rem boucle de lecture des réponses
for i%=1 to 4
  read reponse_correcte$(i%)
next i%

rem initialisation avec la première question
i%=1
caption 1,question$(i%)

end

compare:
rem lecture de la réponse de l'utilisateur
reponse_utilisateur$=text$(2)
if reponse_utilisateur$=reponse_correcte$(i%)
  caption 1,"C'est correct"
else
  caption 1,"La réponse correcte est "+reponse_correcte$(i%)
end_if
text 2,"":rem on efface l'EDIT

rem on attend une seconde
wait 1000
rem on prépare le couple suivant des questions/réponses
if i%<4
  i%=i%+1
  caption 1,question$(i%)
end_if
return

Pour l'essayer, tu n'a rien à retaper. Voici une méthode qui prend deux secondes:
Tu sélectionnes le code ci-dessus, tu le mets dans le presse-papier (Controle C) et tu le recopies directement comme source dans l'EDITEUR (Controle V). Tu n'a plus qu'à l'exécuter (F9).
Revenir en haut Aller en bas
https://panoramic.1fr1.net
lutcho74

lutcho74


Nombre de messages : 139
Age : 29
Date d'inscription : 21/11/2008

"questionnaire" Empty
MessageSujet: "questionnaire"   "questionnaire" EmptySam 22 Nov 2008 - 15:22

Merci beaucoup ! ! ! !
Very Happy
Je l'est fait pour un prof de Latin de mon collège
Code:
dim i%,question$(7)
dim reponse_correcte$(7), reponse_utilisateur$

label compare

rem création des objets
alpha 1
edit 2:top 2,50
button 3:top 3,100
caption 3,"OK"

rem si on clique sur le bouton, on exécute compare
on_click 3,compare

rem données des questions/réponses
data "Quel est le génitif Singulier de causa,ae?","quel est le nominatif singulier de causa,ae ?"
data "Quel est le datif singulier de causa,ae ?","Quel est le vocatif singulier de causa,ae ?"
data "Quel est le génitif pluriel de causa,ae?","Quel est l'accusatif pluriel de causa,ae ?"
data "quel est le nominatif pluriel de causa,ae ?"

data "causae","causa","causae"
data "causa","causarum","causas","causae"

rem boucle de lecture des questions
for i%=1 to 7
  read question$(i%)
next i%

rem boucle de lecture des réponses
for i%=1 to 7
  read reponse_correcte$(i%)
next i%

rem initialisation avec la première question
i%=1
caption 1,question$(i%)

end

compare:
rem lecture de la réponse de l'utilisateur
reponse_utilisateur$=text$(2)
if reponse_utilisateur$=reponse_correcte$(i%)
  caption 1,"C'est correct"
else
  caption 1,"La réponse correcte est "+reponse_correcte$(i%)
end_if
text 2,"":rem on efface l'EDIT

rem on attend une seconde
wait 2000
rem on prépare le couple suivant des questions/réponses
if i%<7
  i%=i%+1
  caption 1,question$(i%)
end_if
return
J'avoue je n'ai pas modifié grand chose mais je vais approfondir ce code pour pouvoir l'utiliser dans d'autre cas Very Happy
geek

Merci encore
Revenir en haut Aller en bas
Contenu sponsorisé





"questionnaire" Empty
MessageSujet: Re: "questionnaire"   "questionnaire" Empty

Revenir en haut Aller en bas
 
"questionnaire"
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Bouton "STOP" pour stopper PANORAMIC
» Problème avec "file_readbuf"
» Nouvel objet système "printer"
» Petit Questionnaire
» Probleme avec les objets ".3ds" v 0.9.17

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: