📖 Scenario: You are counting the number of times you toss a coin until you get heads.
🎯 Goal: Build a program that uses a repeat loop to simulate tossing a coin repeatedly and stops when it lands on heads.
📋 What You'll Learn
Create a variable tosses to count the number of coin tosses
Create a variable coin to store the result of each toss
Use a repeat loop to simulate tossing the coin
Use break to stop the loop when the coin lands on heads
Print the total number of tosses after the loop ends
💡 Why This Matters
🌍 Real World
Counting attempts until success is common in games, simulations, and quality testing.
💼 Career
Understanding loops and breaking conditions is essential for automating tasks and controlling program flow.
Progress0 / 4 steps
1
Create the toss counter
Create a variable called tosses and set it to 0 to count the number of coin tosses.
R Programming
Hint
Use the assignment operator <- to create the variable.
2
Set up the coin toss variable
Create a variable called coin and set it to an empty string "" to store the result of each toss.
R Programming
Hint
Use "" to represent an empty string in R.
3
Write the repeat loop with break
Write a repeat loop that does the following: 1. Increase tosses by 1. 2. Randomly assign coin to either "Heads" or "Tails" using sample(c("Heads", "Tails"), 1). 3. Use if to check if coin is "Heads" and use break to stop the loop if true.
R Programming
Hint
Use sample(c("Heads", "Tails"), 1) to simulate a coin toss.
4
Print the total tosses
Write a print statement to display the total number of tosses stored in tosses.
R Programming
Hint
Use print(tosses) to show the number of tosses.
Practice
(1/5)
1.
What does the repeat loop do in R?
Choose the best description.
easy
A. It runs code only once and then stops automatically.
B. It runs code repeatedly until a break statement stops it.
C. It runs code a fixed number of times without stopping early.
D. It runs code only if a condition is true at the start.
Solution
Step 1: Understand the repeat loop behavior and compare options
The repeat loop in R runs indefinitely until a break is encountered. Only "It runs code repeatedly until a break statement stops it." correctly describes that the loop runs repeatedly until break stops it.
Final Answer:
It runs code repeatedly until a break statement stops it. -> Option B
Quick Check:
repeat loop = runs until break [OK]
Hint: Remember: repeat loops run forever until break stops them [OK]
Common Mistakes:
Thinking repeat loops run a fixed number of times
Confusing repeat with for or while loops
Assuming repeat loops stop automatically without break
2.
Which of the following is the correct syntax to start a repeat loop in R?
?
easy
A. repeat { }
B. repeat() { }
C. repeat[] { }
D. repeat do { }
Solution
Step 1: Recall the syntax of repeat loops in R and check options
The correct syntax is repeat { ... } without parentheses or other symbols. Only repeat { } matches the correct syntax exactly.
Final Answer:
repeat { } -> Option A
Quick Check:
repeat loop syntax = repeat { } [OK]
Hint: repeat loops use braces {} without parentheses [OK]
Common Mistakes:
Adding parentheses after repeat
Using square brackets instead of braces
Using keywords like do with repeat
3.
What will be the output of this R code?
i <- 1
repeat {
if (i > 3) break
print(i)
i <- i + 1
}
medium
A. No output, infinite loop
B. [1] 1
[1] 2
[1] 3
[1] 4
C. [1] 1
[1] 2
D. [1] 1
[1] 2
[1] 3
Solution
Step 1: Trace the loop iterations
i starts at 1. Loop checks if i > 3, breaks if true. Otherwise, prints i and increments i by 1. When i becomes 4, condition i > 3 is true, so break stops the loop. Values printed are 1, 2, and 3 before break.
Final Answer:
[1] 1
[1] 2
[1] 3 -> Option D
Quick Check:
Prints 1 to 3 then breaks [OK]
Hint: Loop breaks when i > 3, so prints 1,2,3 only [OK]
Common Mistakes:
Expecting it to print 4
Thinking it runs infinitely
Forgetting to increment i
4.
Find the error in this R code using repeat and break:
A. The variable count is never incremented, causing an infinite loop.
B. The break statement is outside the loop.
C. The repeat loop syntax is incorrect.
D. The if condition should be count > 5.
Solution
Step 1: Check loop variable changes and behavior
The variable count is printed but never increased, so it stays 1 forever. Since count never reaches 5, break is never triggered, causing an infinite loop.
Final Answer:
The variable count is never incremented, causing an infinite loop. -> Option A
Quick Check:
Missing increment causes infinite loop [OK]
Hint: Always update loop variables to avoid infinite loops [OK]
Common Mistakes:
Forgetting to increment the loop counter
Misplacing the break statement
Incorrect loop syntax assumptions
5.
Write a repeat loop in R that prints numbers from 10 down to 1 and then stops.
Which code snippet correctly does this?
?
hard
A. i <- 10
repeat {
print(i)
i <- i - 1
if (i < 0) break
}
B. i <- 10
repeat {
print(i)
i <- i + 1
if (i == 0) break
}
C. i <- 10
repeat {
print(i)
if (i == 1) break
i <- i - 1
}
D. i <- 1
repeat {
print(i)
i <- i + 1
if (i > 10) break
}
Solution
Step 1: Understand the counting direction and check options
We want to print from 10 down to 1, then stop. So i starts at 10 and decreases by 1 each loop. i <- 10
repeat {
print(i)
i <- i - 1
if (i < 0) break
} prints i, then decrements i, and breaks when i < 0, so it prints 10 down to 0 inclusive, but since break is after decrement, it stops after printing 0. To print 10 down to 1, break should be when i < 1. i <- 10
repeat {
print(i)
if (i == 1) break
i <- i - 1
} prints i, breaks when i == 1, then decrements i, so it prints 10 down to 1 correctly and stops. Therefore, i <- 10
repeat {
print(i)
if (i == 1) break
i <- i - 1
} is the correct code snippet.
Final Answer:
i <- 10
repeat {
print(i)
if (i == 1) break
i <- i - 1
} -> Option C
Quick Check:
Counts down 10 to 1 then breaks [OK]
Hint: Break after printing 1 to include it in output [OK]
Common Mistakes:
Breaking before printing 1, missing last number
Incrementing instead of decrementing
Wrong break condition causing infinite loop
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.