Re: Good news :-) Message #3 Posted by Gilles Carpentier on 22 Sept 2012, 7:25 a.m., in response to message #1 by fhub
I forget how to display the rev number on mine ! It was not ON & F4 ?
Does this version correct the CASE bug ?
I agree that the landscape skin is great :)
For those interested, here is my first complex program on this device. "Le compte est bon 'in french... Countdown ...
http://en.wikipedia.org/wiki/Countdown_%28game_show%29
//================================
// Le compte est bon - HP39gII
//--------------------------------
// Variables globales
LOp:={" plus "," moins "," fois ", " divisé par "};
Sol; Cible; Ecart;MeilleurCoup,Tirage;
// Génére une liste contenant la meilleure solution
AffSol (n1,Op,n2,n3)
BEGIN
Sol:=CONCAT(Sol, ""+MAX(n1,n2)+LOp(Op)+MIN(n1,n2)+"->"+n3);
END;
// Le coeur du programme
LCB(Tab,Nb)
BEGIN
LOCAL i,j,Op,T1,r:=0;
FOR i FROM 1 TO Nb-1 DO
FOR j FROM i+1 TO Nb DO
FOR Op FROM 1 TO 4 DO
Tab=>T1;
IF Op==1 THEN // To avoid CASE problem
T1(i)+T1(j)=>T1(i);
ELSE
IF Op==2 THEN
ABS(T1(i)-T1(j))=>T1(i);
ELSE
IF Op==3 THEN
T1(i)*T1(j)=>T1(i);
ELSE
IF (T1(j)<>0) AND (T1(i) MOD T1(j)==0) THEN
T1(i)/T1(j)=>T1(i);
ELSE
IF (T1(i)<>0) AND (T1(j) MOD T1(i)==0) THEN
T1(j)/T1(i)=>T1(i);
ELSE
BREAK;
END;
END;
END;
END;
END;
IF T1(i)==Cible THEN AffSol(Tab(i),Op,Tab(j),T1(i)); r:=1; BREAK(3); END; // RETURN(1) don't work
IF ABS(T1(i)-Cible)<Ecart THEN
MeilleurCoup:=T1(i);
Ecart:=ABS(Cible-MeilleurCoup);
END;
T1(Nb)=>T1(j);
IF LCB(T1,Nb-1) THEN AffSol(Tab(i),Op,Tab(j),T1(i)); r:=1; BREAK(3); END;
END;
END;
END;
RETURN r;
END;
// Le programme principal
EXPORT Compte(t,c)
BEGIN
LOCAL n;
Cible:=c;
Ecart:=999;
MeilleurCoup:=0;
Tirage:=t;
Sol:={};
PRINT ("***** LE COMPTE EST BON *****");
PRINT (Tirage);
PRINT ("Nombre à trouver : " + Cible);
PRINT ("");
IF NOT(LCB(Tirage,6)) THEN
PRINT("Solution la plus proche :" + MeilleurCoup);
Cible:=MeilleurCoup;
Ecart:=999;
LCB(Tirage,6)
END;
REVERSE(Sol)=>Sol;
FOR n FROM 1 TO SIZE(Sol) DO
PRINT(" " + Sol(n));
END;
RETURN Sol;
END;
For exemple :
Compte({6,6,25,4,100,9}, 923}
Edited: 22 Sept 2012, 7:26 a.m.
|