Obtenir une déclaration appropriée
1988/10/01 Arrojeria, Eustakio - Elhuyar Zientziaren Komunikazioa | Lizaso, Pili - Informatika SailaElhuyar Fundazioa Iturria: Elhuyar aldizkaria
Nous allons faire connaître les règles du jeu:
- Un jeu numérique de 1 à 25 s'affiche. Le programme calcule la valeur numérique d'une expression composée de quatre nombres
- Vous devez obtenir une expression qui donne cette valeur en conséquence. Pour
cela, vous pouvez utiliser les opérateurs (+,–,*) et 4 numéros de l'ensemble. Comme
il peut y avoir plus d'une déclaration qui apporte la même valeur, l'une d'elles sera considérée comme bonne, même
si elle n'est pas évaluée par le programme.
et opérateurs (+,–,*) des suivants.
Observations:
- Vous ne pouvez pas répéter les nombres et les opérateurs. Tous les agents (+,–,*) doivent être utilisés.
- L'évaluation de la déclaration ne tient pas compte des niveaux de priorité des agents.
Ils seront appliqués de gauche à droite.
Ex. 3 + 4 *2 = 14 et non 11
Comme vous avez pu le constater, l'opérateur '/' n'a pas été pris en compte et c'est parce que le programme prend aléatoirement des nombres et des opérateurs dans la formulation
de l'expression et l'utilisation de '/' peut rendre les divisions à effectuer
non complètes, avec des nombres décimaux. Nous n'avons pas voulu
trop compliquer le jeu et c'est pourquoi il nous a semblé plus approprié de le laisser dehors.
Le programme est divisé en deux parties.
- 40-50: Stocker les numéros et les symboles à utiliser
- 520-600: Vérification de la réponse
60: Définir les positions des 8 numéros de l'ensemble
70-130: De 1 à 25 prendre 8 aléatoirement 140-260
: Évaluer l'émergence de la déclaration
270-320: Affichage de l'écran de présentation et réponse de l'utilisateur
330-510: Évaluer la déclaration émise par l'utilisateur
Évaluer la déclaration émise par l'utilisateur
Cette expression (ERAN$) sera une chaîne de caractères pour le programme. Par conséquent, les espaces noirs et
blancs impliqués sont également significatifs. Analyser la chaîne de caractères en caractères, en
distinguant les thèmes (chaînes numériques) et les agents (+,–,*) et en calculant simultanément la
valeur de l'expression.
Pour cette distinction, il faut tenir compte du fait que dans la
gamme de deux thèmes, il ne peut y avoir qu'agents ou espaces devant et derrière l'agent.
10(1) OBTENIR LE NUMÉRO REM
20 DIM DIG(25):DIM
AUK(8):DIM POSI(8,2):DIM
SIGNE(3) 30
CLS:SCREEN 2:KEY
OFF:RANDOMIZE TIMER
40=POSI
POSI=1AUM=1FN
PRINT "---------------"
280 CIRCLE (100,65),100
290 FOR I=1 TO 8:LOCATE
POSI(I,1),POSI(I,2):AUK La déclaration peut être: ";
530 LOCATE 25,20:PRINT "Voulez continuer (S/N/?"
540 TE$=INKEY$:WHILE TE$ "":TE$=INKEY$:WEND
550 WHILE$ "B" AND TE$ "b" AND TE$ "E" AND TE$ "e":
TE$=INKEY$:WEND
560 IF TE$="B" OR TE$="b"THEN 30
570 LOCATE 23,1:PRINT SPC(79):LOCATE 25,1:PRINT SPC(79):LOCATE 22,30:
PRINT "Au revoir! ";
OBTENIR NUMÉRO 580 END
600 REMN AMAIA