Avoid repeating similar trials
gilis
giladsabo at gmail.com
Sun May 9 11:45:30 UTC 2010
Don't repeat twice=don't repeat twice in a raw...
On May 9, 1:45 pm, gilis <gilads... at gmail.com> wrote:
> Hi,
>
> I have tried to built an experiment in which the same trial don't
> repeat twice.
>
> That's what I did:
>
> First the experiment stracture goes like that:
>
> Instructions (text object)
> BlockList procedure (list object)
>
> within the blocklist procedure:
>
> Inline dubbed "first"
>
> in this inline I only dimmed x as integer
>
> triallist procedure (list object)
>
> within the trial list the order of the trial goes like this:
>
> inline which I dubbed "conditioncheck" and goes like that (pay
> attention please):
>
> 'defining first variable as integer to count the number of trials for
> each parmutations (as will be seen next)
> dim cr as integer
> cr=0+cr
>
> 'if this is the first trial you run set number attribute value as "d"
> if cr=0 then c.setattrib "number", "D"
>
> 'defining another variable to help counting the number of each
> permutation
> dim dummy as integer
> dummy=1
>
> 'defining initial value for each permutation saparetly
>
> dim o as integer
> o=o+0
> dim t as integer
> t=t+0
> dim th as integer
> th=th+0
>
> 'defining variable for randomization purpses
> dim x as integer
>
> 'updating the number of repitations was made
> dim counter as integer
> counter=0
> cr=cr+dummy
>
> 'if the first permutation was already presented twice, don't run it
> again-if it didn't, you may choose it randomly
>
> if o<=2 then
> select case c.getattrib("number")
> case "d"
> x=random(1,3)
> select case x
>
> 'if you choosed the first/second or third permutation, update it to
> the number attribute and set text and correct attributes for the text
> object display and for the text object "correct" response option.
>
> case 1 'first permutation
> c.setattrib "text", "one"
> c.setattrib "number", "one"
> c.setattrib "correct", 1
>
> o=0+1 'update the number of times this permutation was selected
>
> case 2 'second permutation
> c.setattrib "text", "two"
> c.setattrib "number", "two"
> c.setattrib "correct", 2
> t=t+1 'update the number of times this permutation was selected
>
> case 3 'third permutation
> c.setattrib "text", "three"
> c.setattrib "number", "three"
> c.setattrib "correct", 3
> th=th+1 'update the number of times this permutation was selected
> end select '
> case "one" 'if the number attribute value is different than "d"
> randomize from the permutation were not chosen in the previous trial
> x=random(2,3)
> select case x
> case 2
> c.setattrib "text", "two"
> c.setattrib "number", "two"
> c.setattrib "correct", 2
> t=t+1
> case 3
> c.setattrib "text", "three"
> c.setattrib "number", "three"
> c.setattrib "correct", 3
> th=th+1
> end select
> case "two"
> x=random(2,3)
> select case x
> case 2
> c.setattrib "text", "one"
> c.setattrib "number", "one"
> c.setattrib "correct", 2
> t=t+1
> case 3
> c.setattrib "text", "three"
> c.setattrib "number", "three"
> c.setattrib "correct", 3
> th=th+1
> end select
> case "three"
> x=random(2,3)
> select case x
> case 2
> c.setattrib "text", "one"
> c.setattrib "number", "one"
> c.setattrib "correct", 1
> t=t+1
> case 3
> c.setattrib "text", "two"
> c.setattrib "number", "two"
> c.setattrib "correct", 2
> th=th+1
> end select
> end select
> counter=1
> else
> counter=0
> end if
> if t<=2 and counter=0 then
> select case c.getattrib("number")
> case "d"
> x=random(1,3)
> select case x
> case 1
> c.setattrib "text", "one"
> c.setattrib "number", "one"
> c.setattrib "correct", 1
> o=o+1
> case 2
> c.setattrib "text", "two"
> c.setattrib "number", "two"
> c.setattrib "correct", 2
> t=t+1
> case 3
> c.setattrib "text", "three"
> c.setattrib "number", "three"
> c.setattrib "correct", 3
> th=th+1
> end select
> case "one"
> x=random(2,3)
> select case x
> case 2
> c.setattrib "text", "two"
> c.setattrib "number", "two"
> c.setattrib "correct", 2
> t=t+1
> case 3
> c.setattrib "text", "three"
> c.setattrib "number", "three"
> c.setattrib "correct", 3
> th=th+1
> end select
> case "two"
> x=random(2,3)
> select case x
> case 2
> c.setattrib "text", "one"
> c.setattrib "number", "one"
> c.setattrib "correct", 1
> o=o+1
> case 3
> c.setattrib "text", "three"
> c.setattrib "number", "three"
> c.setattrib "correct", 3
> end select
> case "three"
> x=random(2,3)
> select case x
> case 2
> c.setattrib "text", "one"
> c.setattrib "number", "one"
> c.setattrib "correct", 1
> th=th+1
> case 3
> c.setattrib "text", "two"
> c.setattrib "number", "two"
> c.setattrib "correct", 2
> t=t+1
> end select
> end select
> counter=1 'update counter to 1
> else ' if you didn't run any of it, counter remain 0
> counter=0
> end if
>
> if th<=2 and counter=0 then
> select case c.getattrib("number")
> ' if the number attribute value is "d" then you can randomize for each
> of the three permutatuions
> case "d"
> x=random(1,3)
> select case x
> case 1
> c.setattrib "text", "one"
> c.setattrib "number", "one"
> c.setattrib "correct", 1
> o=o+1
> case 2
> c.setattrib "text", "two"
> c.setattrib "number", "two"
> c.setattrib "correct", 2
> t=t+1
> case 3
> c.setattrib "text", "three"
> c.setattrib "number", "three"
> c.setattrib "correct", 3
> th=th+1
> end select
> case "one"
> x=random(2,3)
> select case x
> case 2
> c.setattrib "text", "two"
> c.setattrib "number", "two"
> c.setattrib "correct", 2
> t=t+1
> case 3
> c.setattrib "text", "three"
> c.setattrib "number", "three"
> c.setattrib "correct", 3
> th=th+1
> end select
> case "two"
> x=random(2,3)
> select case x
> case 2
> c.setattrib "text", "one"
> c.setattrib "number", "one"
> c.setattrib "correct", 2
> o=o+1
> case 3
> c.setattrib "text", "three"
> c.setattrib "number", "three"
> c.setattrib "correct", 3
> th=th+1
> end select
> case "three"
> x=random(2,3)
> select case x
> case 2
> c.setattrib "text", "one"
> c.setattrib "number", "one"
> c.setattrib "correct", 1
> o=o+1
> case 3
> c.setattrib "text", "two"
> c.setattrib "number", "two"
> c.setattrib "correct", 2
> t=t+1
> end select
> end select
> end if
>
> 'case cr=1 and above, "d' is not relevant
>
> if cr<>0 then
>
> if o<=2 then
> select case c.getattrib("number")
> case "one"
> x=random(2,3)
> select case x
> case 2
> c.setattrib "text", "two"
> c.setattrib "number", "two"
> c.setattrib "correct", 2
> t=t+1
> case 3
> c.setattrib "text", "three"
> c.setattrib "number", "three"
> c.setattrib "correct", 3
> th=th+1
> end select
> case "two"
> x=random(2,3)
> select case x
> case 2
> c.setattrib "text", "one"
> c.setattrib "number", "one"
> c.setattrib "correct", 2
> t=t+1
> case 3
> c.setattrib "text", "three"
> c.setattrib "number", "three"
> c.setattrib "correct", 3
> th=th+1
> end select
> case "three"
> x=random(2,3)
> select case x
> case 2
> c.setattrib "text", "one"
> c.setattrib "number", "one"
> c.setattrib "correct", 1
> t=t+1
> case 3
> c.setattrib "text", "two"
> c.setattrib "number", "two"
> c.setattrib "correct", 2
> th=th+1
> end select
> end select
> counter=1
> else
> counter=0
> end if
>
> if t<=2 and counter=0 then
> select case c.getattrib("number")
> case "d"
> x=random(1,3)
> select case x
> case 1
> c.setattrib "text", "one"
> c.setattrib "number", "one"
> c.setattrib "correct", 1
> o=o+1
> case 2
> c.setattrib "text", "two"
> c.setattrib "number", "two"
> c.setattrib "correct", 2
> t=t+1
> case 3
> c.setattrib "text", "three"
> c.setattrib "number", "three"
> c.setattrib "correct", 3
> th=th+1
> end select
> case "one"
> x=random(2,3)
> select case x
> case 2
> c.setattrib "text", "two"
> c.setattrib "number", "two"
> c.setattrib "correct", 2
> t=t+1
> case 3
> c.setattrib "text", "three"
> c.setattrib "number", "three"
> c.setattrib "correct", 3
> th=th+1
> end select
> case "two"
> x=random(2,3)
> select case x
> case 2
> c.setattrib "text", "one"
> c.setattrib "number", "one"
> c.setattrib "correct", 1
> o=o+1
> case 3
> c.setattrib "text", "three"
> c.setattrib "number", "three"
> c.setattrib "correct", 3
> end select
> case "three"
> x=random(2,3)
> select case x
> case 2
> c.setattrib "text", "one"
> c.setattrib "number", "one"
> c.setattrib "correct", 1
> th=th+1
> case 3
> c.setattrib "text", "two"
> c.setattrib "number", "two"
> c.setattrib "correct", 2
> t=t+1
> end select
> end select
> counter=1
> else
> counter=0
> end if
>
> if th<=2 and counter=0 then
> select case c.getattrib("number")
> case "d"
> x=random(1,3)
> select case x
> case 1
> c.setattrib "text", "one"
> c.setattrib "number", "one"
> c.setattrib "correct", 1
> o=o+1
> case 2
> c.setattrib "text", "two"
> c.setattrib "number", "two"
> c.setattrib "correct", 2
> t=t+1
> case 3
> c.setattrib "text", "three"
> c.setattrib "number", "three"
> c.setattrib "correct", 3
> th=th+1
> end select
> case "one"
> x=random(2,3)
> select case x
> case 2
> c.setattrib "text", "two"
> c.setattrib "number", "two"
> c.setattrib "correct", 2
> t=t+1
> case 3
> c.setattrib "text", "three"
> c.setattrib "number", "three"
> c.setattrib "correct", 3
> th=th+1
> end select
> case "two"
> x=random(2,3)
> select case x
> case 2
> c.setattrib "text", "one"
> c.setattrib "number", "one"
> c.setattrib "correct", 2
> o=o+1
> case 3
> c.setattrib "text", "three"
> c.setattrib "number", "three"
> c.setattrib "correct", 3
> th=th+1
> end select
> case "three"
> x=random(2,3)
> select case x
> case 2
> c.setattrib "text", "one"
> c.setattrib "number", "one"
> c.setattrib "correct", 1
> o=o+1
> case 3
> c.setattrib "text", "two"
> c.setattrib "number", "two"
> c.setattrib "correct", 2
> t=t+1
> end select
> end select
> end if
> end if
>
> after this inline comes text object with stimulus reciving its input
> from the text object
>
> The problem is that the program can't identify any "text" attribute,
> and if I define one at some higer level (e.g., c.setattrib "text",
> "text" just before the Trialist) then it will only run "text"as
> stimulus. I truely assume that my mistake is a very stupid one and
> I'm pretty green with EPrime programing, but if anyone can assist, or
> even suggest a better solution, it would be great.
>
> Regards
> Gilis
>
> --
> You received this message because you are subscribed to the Google Groups "E-Prime" group.
> To post to this group, send email to e-prime at googlegroups.com.
> To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com.
> For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en.
--
You received this message because you are subscribed to the Google Groups "E-Prime" group.
To post to this group, send email to e-prime at googlegroups.com.
To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com.
For more options, visit this group at http://groups.google.com/group/e-prime?hl=en.
More information about the Eprime
mailing list