Comment puis-je parcourir une liste dans un programme de calculatrice TI-83

StackOverflow https://stackoverflow.com/questions/4190049

  •  10-10-2019
  •  | 
  •  

Question

Je créé un ensemble de programmes pour calculer la surface sous un graphique en utilisant différentes méthodes d'approximation (milieu, trapézoïdale, simpson) pour ma classe calcul.

Voici un exemple de l'un de mes programmes (milieu):

Prompt A,B,N
(A-B)/N->D
Input "Y1=", Y1
0->X
0->E
For(X,A+D/2,b-D/2,D)
Y1(x)+E->E
End
Disp E*D

Au lieu d'appliquer ces règles d'approximation à une fonction (Y1), je voudrais les appliquer à une liste de données (L1). Comment puis-je itérer dans une liste? Je dois être en mesure d'obtenir le dernier index de la liste pour une « boucle For » pour être bon. Je ne peux rien faire comme L1.length comme je le ferais en Java.

Était-ce utile?

La solution

Vous pouvez obtenir la longueur de la liste à l'aide dim(). Cela peut être trouvé dans 2nd->LIST->OPS->dim(. Assurez-vous que vous utilisez une variable liste sinon dim() se plaindra du type. Vous pouvez ensuite index dans la liste avec un indice.

par ex.,

{1, 2, 3, 4} -> L1
For (X, 1, dim(L1), 1)
Disp L1(X)
End

Autres conseils

La boucle est la plus simple moyen d'itérer sur une liste TI-Basic, comme dans de nombreuses langues. Jeff Mercado déjà couvert, donc je vais citer quelques techniques qui sont des outils puissants en situation spécialisée.

Cartographie sur les listes

TI-Basic prend en charge l'opération de mappage simple sur des listes qui ont le même effet en fonction de la carte dans une autre langue. TI-support de base pour cette fonction étend à la plupart des opérations arithmétiques de base, et la sélection d'autres fonctions.

La syntaxe ne pouvait pas être plus simple. Si vous souhaitez ajouter un certain nombre X à chaque élément dans une liste L1 vous tapez X+L1→L1.

suivants (

La plupart des boucles sur une liste de TI-Basic peut être remplacé par une commande de seq( habilement construit qui surpasser la boucle dans le temps et la mémoire. Les exceptions à cette règle sont des boucles contenant des variables d'E / S ou de stockage.

La syntaxe de cette commande peut être assez déroutant, donc je recommande de lire sur cette documentation avant En l'utilisant. Dans le cas où lien meurt, voici les informations les plus pertinentes.

  

Commande Résumé

     

Crée une liste en évaluant une formule avec une prise variable sur une   plage de valeurs, en sautant éventuellement par une étape spécifiée.

     

Commande Syntaxe

     

seq (formule, variable-valeur de départ, à la fin de la valeur [étape])

     

Menu Emplacement

     

Lors de l'édition d'un programme, appuyez sur:

     

2 LIST pour accéder au menu LIST droite pour accéder au sous-menu OPS 5 à   choisir seq (ou utilisez les flèches.

     

Compatibilité calculatrice

     

TI-83/84 / + / SE

     

taille de jeton

     

1 octet

La documentation doit faire un bon travail expliquant la syntaxe seq(, donc je vais juste fournir un échantillon cas d'utilisation.

Si vous voulez que le carré de chaque nombre entre 1 et 100, vous pouvez le faire

Pour boucle

DelVar L1100→dim(L1
for(A,1,100
A²→L1(A
End

ou, ce

suivants

seq(A²,A,1,100→L1

L'inconvénient de seq( est que vous ne pouvez pas faire d'E / S ou stocker des variables dans l'expression.

Prédéfini fonction d'itération de la liste

Aller au menu LIST et vérifier toutes les opérations sous OPS et MATH. Ces fonctions prédéfinies sont toujours va être plus rapide qu'une des boucles ou même une expression de seq( conçu pour faire la même chose.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top