Scratch codes -- Find the value of a at the end of the program

  • Topic: Comp Sci 
  • Thread starter Thread starter Tesla In Person
  • Start date Start date
  • Tags Tags
    Program scratch Value
Join the discussion
Registration is free. Start your own thread to ask a follow-up.
8 replies · 2K views
Tesla In Person
Messages
34
Reaction score
13
Homework Statement
Find the value of a at the end of the program
Relevant Equations
No need of equations
Hi, i am really new to scratch programming so I am having difficulties in interpreting how does this code work ? I understand the first block set a = 5. But i don't know what is that " Repeat 10 " block. What does it do? So really stuck at that "repeat 10" so haven't gone further.
 
Attachments
  • 1.PNG
    1.PNG
    24.9 KB · Views: 208
Physics news on Phys.org
I think it's saying do the following block of code 10 times in a row.
 
Office_Shredder said:
I think it's saying do the following block of code 10 times in a row.
Ok so if i set a=1. Then a <3 so a*2 = 1*2 = 2. If i repeat this process 10 times , what do i have to do with the a value each time. Add them up ? 2 *10= 20 which is option c) which is wrong. The correct answer is e) 15.
 
Tesla In Person said:
Ok so if i set a=1.
There is no instruction set a to 1, the instruction inside the loop is change a by 1. What is the value of a the first time it reaches this instruction?
 
pbuk said:
There is no instruction set a to 1, the instruction inside the loop is change a by 1. What is the value of a the first time it reaches this instruction?
I thought "change a by 1" meant replace the value of 5 by 1.
"What is the value of a the first time it reaches this instruction?"- 5?
 
Tesla In Person said:
I thought "change a by 1" meant replace the value of 5 by 1.
You are not the first person to have been caught out by that, it's a confusing "feature" of Scratch.
Tesla In Person said:
"What is the value of a the first time it reaches this instruction?"- 5?
Yes.
 
pbuk said:
You are not the first person to have been caught out by that, it's a confusing "feature" of Scratch.

Yes.
So we add 1 ? It becomes 6 and 6 is not smaller then 3 so we go back and keep adding 1 ? Repeating this 10 times gives a=15 which is correct.
 
  • Like
Likes   Reactions: DrClaude, FactChecker and pbuk
Tesla In Person said:
I thought "change a by 1" meant replace the value of 5 by 1.
No, as already mentioned. There's a difference between "set" and "change by". "Set" replaces the old value of the variable by some new value. "Change by" adds or subtracts some value to a variable. In the program "change a by 1" adds 1 each time in the loop. If it had said "change a by -2" it would have subtracted 2 each time in the loop.

Tesla In Person said:
what do i have to do with the a value each time. Add them up ? 2 *10= 20 which is option c) which is wrong. The correct answer is e) 15.
In the program, a's value is always >= 5, so the if condition is never executed. Essentially what the code does is to increase a (which starts off at 5) by 1 ten times, which results in a's final value being 15.
 
  • Informative
Likes   Reactions: Tesla In Person
I believe there are tutorials for Scratch that are easy and would introduce these basic Scratch statements.
I Googled it and this looks like one.
 
  • Like
Likes   Reactions: Tesla In Person