[Résolu] Boucles minuteur

Posted:
25 May 2019, 21:26
by Larwive
Bonsoir,
j'ai fait mon programme sur le minuteur avec les contraintes décrits sur ce sujet
https://tiplanet.org/forum/viewtopic.php?f=8&t=22634&p=242495#p242495 mais le boucle "Repeat A=0" avec "A-1
![[sto>] :f91:](./images/smilies/z80/91.png)
A" après ne fonctionne plus. J'ai aussi essayé avec "While A>0" avec toujours "A-1
![[sto>] :f91:](./images/smilies/z80/91.png)
A". J'ai ensuite essayé "For(F,0,A,1) mais ça ne fonctionne toujours pas.
Je veux que le temps restant s'affiche à chaque seconde mais depuis le changement depuis le sujet cité au-dessus, le temps n'est affiché plus qu'une fois.
Merci d'avance pour vos réponses.
Re: Boucles programme

Posted:
25 May 2019, 21:27
by Larwive
Voici le code :
prgmEFFACEUR
60→M
3600→H
86400→J
Disp "MINUTE : M","HEURE : H","JOUR : J
Input "COMBIEN DE SECONDES ?",A
0→B
For(F,0,A,1)
Wait 1
ent(A/86400)→B
ent(reste(A,86400)/3600)→C
ent(reste(reste(A,86400),3600)/60)→D
A-86400B-3600C-60D→E
If B≥1
Then:Disp "J:"+versChaîne(B)+",H:"+versChaîne(C)+",M:"+versChaîne(D)+",S:"+versChaîne(E
Else:If C≥1
Then:Disp "H:"+versChaîne(C)+",M:"+versChaîne(D)+",S:"+versChaîne(E
Else:If D≥1
Then:Disp "M:"+versChaîne(D)+",S:"+versChaîne(E
Else:If E≥1
Then:Disp "S:"+versChaîne(E
End:End
If A=0
Then:Repeat B=25
Disp "C'EST FINI !
B+1→B
End
Re: Boucles programme

Posted:
25 May 2019, 21:28
by Larwive
Le programme EFFACEUR sert à supprimer les variables.
Re: Boucles programme

Posted:
25 May 2019, 21:30
by Hamza.S
ça n'a rien à voir avec la fonction du sujet précédent, c'est plutôt la façon dont tu as écrit ton programme qui pose problème
Re: Boucles programme

Posted:
25 May 2019, 21:31
by Larwive
Donc j'ai dû changer quelque chose qu'il ne fallait pas avec les changements de tout à l'heure.
Re: Boucles programme

Posted:
25 May 2019, 21:45
by Hamza.S
ton code passe de ceci :
- Code: Select all
60→M
3600→H
76800→J
Disp "MINUTE : M","HEURE : H","JOUR : J
Input "COMBIEN DE SECONDES ?",A
0→B
Repeat A=0
Wait 1
A-1→A
Disp A
End
If A=0
Then
Repeat B=25
Disp "C'EST FINI !
B+1→B
End
à cela :
- Code: Select all
prgmEFFACEUR
60→M
3600→H
86400→J
Disp "MINUTE : M","HEURE : H","JOUR : J
Input "COMBIEN DE SECONDES ?",A
0→B
For(F,0,A,1)
Wait 1
ent(A/86400)→B
ent(reste(A,86400)/3600)→C
ent(reste(reste(A,86400),3600)/60)→D
A-86400B-3600C-60D→E
If B≥1
Then:Disp "J:"+versChaîne(B)+",H:"+versChaîne(C)+",M:"+versChaîne(D)+",S:"+versChaîne(E
Else:If C≥1
Then:Disp "H:"+versChaîne(C)+",M:"+versChaîne(D)+",S:"+versChaîne(E
Else:If D≥1
Then:Disp "M:"+versChaîne(D)+",S:"+versChaîne(E
Else:If E≥1
Then:Disp "S:"+versChaîne(E
End:End
If A=0
Then:Repeat B=25
Disp "C'EST FINI !
B+1→B
End
il y a beaucoup de changement.
prend du recul pour analyser ce que doit faire ton programme et ce que tu dois rentrer dans ton programme
Re: Boucles programme

Posted:
26 May 2019, 05:43
by Larwive
Merci beaucoup,
j'ai eu une autre idée qui fonctionne.
- Code: Select all
60→M
3600→H
86400→J
Disp "MINUTE : M","HEURE : H","JOUR : J
Input "COMBIEN DE SECONDES ?",A
0→B
Lbl A
A-1→A
Wait 0.8165
ent(A/86400)→B
ent(reste(A,86400)/3600)→C
ent(reste(reste(A,86400),3600)/60)→D
A-86400B-3600C-60D→E
If B≥1
Then:Disp "J:"+versChaîne(B)+",H:"+versChaîne(C)+",M:"+versChaîne(D)+",S:"+versChaîne(E
Goto A
Else:If C≥1
Then:Disp "H:"+versChaîne(C)+",M:"+versChaîne(D)+",S:"+versChaîne(E
Goto A
Else:If D≥1
Then:Disp "M:"+versChaîne(D)+",S:"+versChaîne(E
Goto A
Else:If E≥1
Then:Disp "S:"+versChaîne(E
Goto A
Else:If A=0
Then:Repeat B=25
Disp "C'EST FINI !
B+1→B
End
Re: [Résolu] Boucles minuteur

Posted:
26 May 2019, 16:42
by UnCurieux
N'hésite pas à modifier celui que tu as uploadé :
archives_voir.php?id=2120274 si celui-là fonctionne mieux.