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

  • Context: Comp Sci 
  • Thread starter Thread starter Tesla In Person
  • Start date Start date
  • Tags Tags
    Program scratch Value
Click For Summary
SUMMARY

The discussion revolves around understanding a Scratch programming code that initializes a variable 'a' to 5 and utilizes a "Repeat 10" block to modify 'a'. Participants clarify that the "change a by 1" instruction increments 'a' by 1 during each iteration of the loop, leading to a final value of 15 after 10 repetitions. The confusion arises from the distinction between "set" and "change by," with the former replacing the variable's value and the latter modifying it. Ultimately, the correct interpretation of the code confirms that 'a' increases from 5 to 15.

PREREQUISITES
  • Basic understanding of Scratch programming concepts
  • Familiarity with variable manipulation in programming
  • Knowledge of loop structures, specifically the "Repeat" block in Scratch
  • Understanding of arithmetic operations and their application in programming
NEXT STEPS
  • Explore Scratch programming tutorials focusing on variable manipulation
  • Learn about the differences between "set" and "change by" in Scratch
  • Investigate loop structures in Scratch, particularly the "Repeat" block
  • Practice coding simple Scratch programs to reinforce understanding of variable changes
USEFUL FOR

Beginner Scratch programmers, educators teaching programming basics, and anyone looking to understand variable manipulation within loop structures in Scratch.

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: 167
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

Similar threads

Replies
3
Views
2K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 15 ·
Replies
15
Views
2K
  • · Replies 17 ·
Replies
17
Views
3K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 1 ·
Replies
1
Views
1K
Replies
7
Views
3K
  • · Replies 9 ·
Replies
9
Views
2K