π
<-
Chat plein-écran
[^]

Probleme chronometre TI-Basic

Probleme chronometre TI-Basic

Message non lude gam » 16 Mai 2018, 15:44

Bonjour, je m'adresse ici au programmeurs, ou en fait à n'importe qui maitrise un peu le TI-Basic. Le problème, c'est que tout est juste sauf ... que ça marche pas.
Si quelqu'un peut voir le programme et voir ce qui marche pas....
merci

Le programme est ici: archives_voir.php?id=1504958
et le code est ci-dessous :
Code: Tout sélectionner
ClrHome
getTime→L₁
(L₁(1)*3600)+(L₁(2)*60)+L₁(3)→A

"DEBUT BOUCLE CHRONOMETRE"
While getKey=0
   getTime→L₂
   (L₂(1)*3600)+(L₂(2)*60)+L₂(3)→B
   
   "HEURES"
   If (B-A)≥3600
   Then
      int((B-A)⁄3600)→H
      Output(3,4,H
   End
   Output(3,6,":"
   
   "MINUTES"
   remainder((B-A),3600)→X
   If X≥60
   Then
      int(remainder((B-A)⁄3600),60)→M
      Output(3,7,M
   End
   Output(3,9,":"
   
   remainder(int(remainder((B-A),3600)⁄60),60)→S
   Output(3,10,S
End
Dernière édition par gam le 16 Mai 2018, 16:25, édité 1 fois.
créations: avec chacha: Chacha's pack, Marques(packs Oiram)
seul: Minuteur(utilitaires)
Avatar de l’utilisateur
gamAmbianceur
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 12.7%
 
Messages: 166
Inscription: 06 Déc 2017, 11:59
Localisation: Strasbourg
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Bac +2

Re: Probleme chronometre TI-Basic

Message non lude Bisam » 16 Mai 2018, 15:57

getTime renvoie directement l'heure sous la forme {heures, minutes, secondes}.

Tu as un peu oublié de multiplier par 60 et par 3600, aux lignes 3 et 8...
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Probleme chronometre TI-Basic

Message non lude gam » 16 Mai 2018, 16:23

Tas raison. Purée, en plus je m'étais dit qu'il fallait pas que j'oublie... :troll:
Merci, je corrige et je voir si ça marche!
||
\/
(erreur de débutant)

EDIT: voilà, j'ai modifier mais ça change pas, le temps ne défile pas.
créations: avec chacha: Chacha's pack, Marques(packs Oiram)
seul: Minuteur(utilitaires)
Avatar de l’utilisateur
gamAmbianceur
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 12.7%
 
Messages: 166
Inscription: 06 Déc 2017, 11:59
Localisation: Strasbourg
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Bac +2

Re: Probleme chronometre TI-Basic

Message non lude loupiot » 16 Mai 2018, 17:47

premièrement, les
Code: Tout sélectionner
If (B-A)≥3600
   Then

sont inutiles, tu peux tout simplement les supprimer.
Code: Tout sélectionner
int((B-A)/3600)→H
affiche bien les heures.
Code: Tout sélectionner
int(remainder((B-A)/3600),60)→M
crée une erreur. remainder est inclus dans le int, ça devrait être l'inverse. M n'est pas des minutes, juste des heures modulo 60. Multiplie (B-A)/3600 par 60 pour obtenir des minutes modulo 60.
Tu as alors
Code: Tout sélectionner
int(remainder((B-A)/60),60)→M

Code: Tout sélectionner
remainder(int(remainder((B-A),3600)/60),60)→S
les heures modulo 60 modulo 60. Pour avoir les secondes, tu as juste à prendre le résultat de (B-A) modulo 60.
Code: Tout sélectionner
remainder(B-A,60→S

Tada, un chronomètre qui marche :D
Image
Il y a cependant un problème, c'est le passage à la minute 'le screenshot a été prit à la première seconde de la première minute)
Le "9" du "59" n'est pas effacé (c'est pareil pour le passage à l'heure).
Image
Ca pourrait se corriger avec des chaînes, mais ça serait pénible et un peu moche dans le code ... Si quelqu'un a une idée ? :p
Dernière édition par loupiot le 16 Mai 2018, 18:10, édité 2 fois.
Avatar de l’utilisateur
loupiotProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 1.9%
 
Messages: 158
Images: 4
Inscription: 30 Oct 2015, 13:23
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 2A ENS Lyon maths

Re: Probleme chronometre TI-Basic

Message non lude Bisam » 16 Mai 2018, 18:00

Par exemple :
Code: Tout sélectionner
If M<10
Then
  Output(3,4,0
  Output(3,5,M
Else
  Output(3,4,M
EndIf

et la même chose pour les secondes.
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Probleme chronometre TI-Basic

Message non lude loupiot » 16 Mai 2018, 18:08

du coup, voilà le code en basic
Code: Tout sélectionner
EffÉcran
affHeure→L₁
L₁(1)3600+L₁(2)60+L₁(3)→A
While getKey=0
affHeure→L₂
L₂(1)3600+L₂(2)60+L₂(3→B
partEnt((B-A)3600→H
Output(3,4,H
Output(3,6,":
reste(partEnt((B-A)/60),60→M
Output(3,7,M
If M<10
Output(3,8,"
Output(3,9,":
reste(B-A,60→S
Output(3,10,S
If S<10
Output(3,11,"
End
Avatar de l’utilisateur
loupiotProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 1.9%
 
Messages: 158
Images: 4
Inscription: 30 Oct 2015, 13:23
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 2A ENS Lyon maths

Re: Probleme chronometre TI-Basic

Message non lude gam » 16 Mai 2018, 19:12

Merci beaucoup, j'essaie ça tout de suite!
EDIT: j'ai fait un petit mix entre Bisam et loupiot, le temps défile et y'a plus de bug des secondes avec le 9, mais les minutes s'affichent pas et je vois pas....
créations: avec chacha: Chacha's pack, Marques(packs Oiram)
seul: Minuteur(utilitaires)
Avatar de l’utilisateur
gamAmbianceur
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 12.7%
 
Messages: 166
Inscription: 06 Déc 2017, 11:59
Localisation: Strasbourg
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Bac +2

Re: Probleme chronometre TI-Basic

Message non lude loupiot » 16 Mai 2018, 19:48

post ton code :)
Avatar de l’utilisateur
loupiotProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 1.9%
 
Messages: 158
Images: 4
Inscription: 30 Oct 2015, 13:23
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 2A ENS Lyon maths

Re: Probleme chronometre TI-Basic

Message non lude gam » 16 Mai 2018, 20:14

Nan en fait c'est bon, tout marche c'est génial merci! Je reposterai le bon code dans l'archive plus tard (sans vous oublier, bien sur!). Voilà le code actuel (en français, sorry)

Code: Tout sélectionner
EffÉcran
affHeure→L₁
L₁(1)3600+L₁(2)60+L₁(3→A
While getKey!=105
affHeure→L₂
L₂(1)3600+L₂(2)60+L₂(3→B
partEnt((B-A)/3600→H
Output(3,4,H
Output(3,6,":
reste(partEnt((B-A)/60),60→M
If M<10
Then
Output(3,8,0
Output(3,9,M
Else
Output(3,8,M
End
Output(3,10,":
reste((B-A),60→S
If S<10
Then
Output(3,11,0
Output(3,12,S
Else
Output(3,11,S
End
End

C'est possible qu'une erreur se soit glissée ici, si je la remarque ou si on me la fait remarqué, j'éditerai.
Maintenant, je vais bosser sur le minuteur!
PS: le "!=" signifie "différent de"
Dernière édition par gam le 16 Mai 2018, 20:25, édité 3 fois.
créations: avec chacha: Chacha's pack, Marques(packs Oiram)
seul: Minuteur(utilitaires)
Avatar de l’utilisateur
gamAmbianceur
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 12.7%
 
Messages: 166
Inscription: 06 Déc 2017, 11:59
Localisation: Strasbourg
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Bac +2

Re: Probleme chronometre TI-Basic

Message non lude loupiot » 16 Mai 2018, 20:17

ok, c'est donc la méthode de Bisam qui donne un chrono un peu plus propre. quelques conseils : tu n'as pas besoin de fermer les parenthèses ni les crochets à la fin des lignes et des affectations. Tu peux aussi remplacer
Code: Tout sélectionner
Output(3,11,"0"
par
Code: Tout sélectionner
Output(3,11,0
, ça change rien au code ça te fera juste économiser quelques octets
Avatar de l’utilisateur
loupiotProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 1.9%
 
Messages: 158
Images: 4
Inscription: 30 Oct 2015, 13:23
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 2A ENS Lyon maths

Suivante

Retourner vers TI-Basic

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 9 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1491 utilisateurs:
>1472 invités
>14 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)