de mettre le WAIT avant bonne idée aussi ça nous fait gagner un print
Code : Tout sélectionner
10 "S"INPUT"A=";A,"B=";B,"C=";C
20 D=B*B-4*A*C
30 PRINT"D=";D
40 WAIT 0:PRINT(-B+√D)/2/A;"":IF D CURSOR 25:WAIT:PRINT(-B-√D)/2/A
50 GOTO10
explication des ruses
ligne 10 : l'étiquette "S" pour un appel rapide; l'input avec plusieures variables connu
ligne 20 : au lieu de B^2 il vaut mieux utilisé B*B largement plus rapide (à tester dans une boucle)
ligne 40 : le WAIT 0 pas de pause dans les print; le ;"" à la fin du premier PRINT ça cale l'écriture à gauche (par défaut les valeurs numériques se mettent à droite); le IF D la valeur D est évaluée si elle est égale à 0 pas la suite de la ligne
remarques :
la commande INPUT du sharp est un peu spéciale
en effet lorsque la validation de l'INPUT se fait sans avoir saisie une valeur le restant de la ligne n'est pas executée (interessant mais à y penser pour les BUGs)
au passage le test à un interet limité et on pourrait encore optimiser le prog en
Code : Tout sélectionner
10 "S"INPUT"A=";A,"B=";B,"C=";C
20 D=B*B-4*A*C
30 PRINTD,(-B+√D)/2/A,√D,(-B-√D)/2/A
40 GOTO10
les quatre valeurs apparaissent alors à l'écran D,√D,S1 et S2
ou pour etre plus clair
Code : Tout sélectionner
10 "S"INPUT"A=";A,"B=";B,"C=";C
20 D=B*B-4*A*C
30 USING"#####.##"
40 WAIT0:PRINTD,(-B+√D)/2/A,√D,(-B-√D)/2/A
50 CURSOR 0:PRINT"D":CURSOR 24:PRINT"√D":CURSOR 13:PRINT"S1":CURSOR 37:WAIT:PRINT"S2
60 GOTO10