Comandaments Executa i Objecte

dobrador shared this question 10 years ago
Needs Answer

Algunes observacions sobre el funcionament d'aquest comandament


Observació:

Execute[ <List of Texts> ]

Executes list of commands entered as texts.

Examples:

Execute[{"A=(1,1)","B=(3,3)","C = Midpoint[A, B]"}] creates points A, B and their midpoint C.


Execute[Join[{"f_{1} = 1", "f_{2} = 1"}, Sequence["f_{"+(i + 2) + "} = f_{" + (i+1) + "} + f_{"+ i +"}", i, 1, 10]]] creates first 10 elements of Fibonacci sequence.


Execute[ <List of Texts>, <Parameter 1>, ... , <Parameter 9> ]

Replaces %1 for parameter 1, %2 for parameter 2 and so on in each text in list. Up to 9 parameters can be specified. After the replacement, resulting scripts are executed.

Example:

Execute[{"Midpoint[%1,%2]"},A,B] creates midpoint of segment AB.


Mira't el que ve ara... (veuràs on és el problema pel qual no et funcionava)


Note:

Command names must be in English in the texts for this command to work


Dubte:

A veure si em doneu un cop de mà....


Tinc un punt lliscant ( n ) que va de 1 a 25

Tinc definides les cel·les D1 fins a la D25 (D1=100, D2=200,...)


Ara vull referir-me a les cel·les utilitzant el punt lliscant,

es a dir, voldria poder escriure Dn !!!!


Algun suggeriment


Resposta 1:


Objecte["D"+n]


A veure si m'explico:


1.- La comanda Objecte transforma un text amb objecte. És a dir, parla de l'objecte que tingui per nom "text".


2.- "D"+n variarà en funció de n.


Resposta 2:


Per cert.... saps com definir una cel·la en funció condicionada d'unes altres...

M'explico

Vull definir E1= 2*D1 si B1=1, en cas contrari E1=0

Ho estic provant amb el condicional Si.... i no m'ensurto


Resposta 3:


Jo, segurament faria:


E1=Si[B1==1,2*D1,0]


Resposta 4:

I si ho voem fer que depengui de n?


Resposta 5:

Jo ho he resolt de la següent manera:


1.- Botó dret sobre el punt lliscant (que li diré n... per exemple).

2.- Ves a la "Seqüència de comandaments"->"En actualitzar"

3.- Allà, has d'escriure:


Executa[{"E"+n+"=If[B"+n+"==1,2*D"+n+",0]"}]


Diria que et funcionarà així! He revisat el tema de les cometes, les claus i els claudators...


Si observes bé, hi ha una comanda molt interessant:


- Executa .- Executa comandes en anglès!


Resposta 6:

La comanda Executa, fa les comandes que se li envien com una llista de cadenes de caràcters.


Per exemple:


Executa[{"A=(0,0)","B=(1,1)","c_1=Circle[A,B]"}]


En aquesta ordre s'executen tres ordres:

1) Defineix A

2) Defineix B

3) Crea un cercle anomenat c_1 de centre A i radi AB.


Alerta: comandes en anglès!


En el cas anterior:


Executa[{"E"+n+"=If[B"+n+"==1,2*D"+n+",0]"}]


Només es fa una comanda:


1) Defineixes En (per a fer-ho variable "E" fixat i +n+ amb n variable). Per a definir-ho, empres el condicional Si en anglès (If)


Resposta 7:


Executa[{"E"+n+"=If[B"+n+"==1,2*D"+n+",0]"}]


- Les primes cometes són d'inici de comanda, oi?

- Les segones van enllaçes amb les terceres "+n+" oi? per què el signe + del final?


Resposta 8:

El comandament Executa[], el que fa és executar comandaments de GeoGebra, aquests comandament s'han d'introduir com a text, és per això que li diem que executi la comanda "A=(0,1)" per exemple.


A part d'això, GeoGebra fa servir el signe + per afegir una variable a un text. Abans de tenir els text dinàmics, on triem variables del desplegable, es feia així:


Afegint +n+ a la cadena de text, el que fem realment és passar la variable n a text i concatenar-lo amb les cadenes adjacents.


En el teu exemple, el "E"+n junta la n amb la E, i al mateix temps, el n+"=... el junta amb l'altre part de la cadena de text.

© 2023 International GeoGebra Institute