📖 Scenario: You are helping a cashier count the total number of coins collected in a jar. The jar contains coins of different values, but you only want to count coins until the total value reaches or exceeds a certain amount.
🎯 Goal: Build a MATLAB program that uses a while loop to add coin values one by one until the total reaches a target amount.
📋 What You'll Learn
Create a vector called coins with the exact values: [1, 5, 10, 25, 1, 10]
Create a variable called target and set it to 30
Use a while loop to add coin values from coins until the total is at least target
Print the final total value after the loop ends
💡 Why This Matters
🌍 Real World
Counting coins or items until a certain limit is reached is common in cash handling, inventory, and budgeting tasks.
💼 Career
Understanding while loops helps automate repetitive tasks and control program flow in many engineering and data processing jobs.
Progress0 / 4 steps
1
Create the coin values vector
Create a vector called coins with these exact values: [1, 5, 10, 25, 1, 10]
MATLAB
Hint
Use square brackets [] to create a vector with the given numbers separated by commas.
2
Set the target total value
Create a variable called target and set it to 30
MATLAB
Hint
Use the assignment operator = to set target to 30.
3
Use a while loop to sum coin values
Create variables total set to 0 and index set to 1. Then use a while loop with the condition total < target && index <= length(coins) to add coins(index) to total and increase index by 1 inside the loop.
MATLAB
Hint
Remember to initialize total and index before the loop. Use while with the condition that total is less than target and index is within the vector length.
4
Display the final total value
Use disp to print the value of total after the loop ends.
MATLAB
Hint
Use disp(total) to show the final total value on the screen.
Practice
(1/5)
1. What does a while loop do in MATLAB?
easy
A. Repeats a block of code as long as a condition is true
B. Executes code only once
C. Runs code a fixed number of times
D. Stops the program immediately
Solution
Step 1: Understand the purpose of a while loop
A while loop runs repeatedly while its condition remains true.
Step 2: Compare options with definition
Only Repeats a block of code as long as a condition is true correctly describes this behavior.
Final Answer:
Repeats a block of code as long as a condition is true -> Option A
Quick Check:
While loop = repeat while true [OK]
Hint: While loops run while condition is true, not fixed times [OK]
Common Mistakes:
Thinking while loops run a fixed number of times
Confusing while with if statement
Believing while loops run only once
2. Which of the following is the correct syntax for a while loop in MATLAB?
easy
A. while condition
statements
end
B. while (condition) {
statements
}
C. while condition:
statements
end
D. while condition do
statements
end
Solution
Step 1: Recall MATLAB while loop syntax
MATLAB uses 'while condition' followed by statements and ends with 'end'.
Step 2: Check each option
while condition
statements
end matches MATLAB syntax; others use syntax from other languages.
Final Answer:
while condition\n statements\nend -> Option A
Quick Check:
MATLAB uses 'end' to close loops [OK]
Hint: MATLAB while loops end with 'end', no braces [OK]
Common Mistakes:
Using braces {} instead of 'end'
Adding colons after condition
Using 'do' keyword
3. What will be the output of this MATLAB code?
i = 1;
while i <= 3
disp(i)
i = i + 1;
end
medium
A. 1 2 3 4
B. 1 2 3
C. 1 2
D. Error: infinite loop
Solution
Step 1: Analyze loop condition and increments
The loop runs while i is less than or equal to 3, starting at 1 and increasing by 1 each time.
Step 2: Trace output values
Values displayed are 1, then 2, then 3. When i becomes 4, condition fails and loop stops.
Final Answer:
1 2 3 -> Option B
Quick Check:
Loop prints 1 to 3 [OK]
Hint: Increment loop variable to avoid infinite loop [OK]
Common Mistakes:
Forgetting to increment i causing infinite loop
Expecting output to include 4
Confusing loop condition with < instead of <=
4. Identify the error in this MATLAB code snippet:
count = 5;
while count > 0
disp(count)
end
medium
A. disp function cannot be used inside while
B. Incorrect while syntax
C. Missing increment or decrement inside the loop
D. Variable 'count' not initialized
Solution
Step 1: Check loop condition and body
The loop condition is 'count > 0', but inside the loop count is never changed.
Step 2: Understand effect of missing update
Without changing count, the condition stays true forever, causing an infinite loop.
Final Answer:
Missing increment or decrement inside the loop -> Option C
Quick Check:
Update loop variable to avoid infinite loop [OK]
Hint: Always update loop variable inside while loop [OK]
Common Mistakes:
Forgetting to change loop variable
Assuming disp causes error
Thinking syntax is wrong
5. Write a MATLAB while loop that sums numbers from 1 to 10 and stores the result in total. Which code correctly does this?
hard
A. total = 0;
i = 1;
while i <= 10
total = total + i;
i = i - 1;
end
B. total = 0;
i = 1;
while i < 10
total = total + i;
end
C. total = 0;
for i = 1:10
total = total + i;
end
D. total = 0;
i = 1;
while i <= 10
total = total + i;
i = i + 1;
end
Solution
Step 1: Understand the goal and loop condition
We want to add numbers 1 through 10 using a while loop that stops when i > 10.
Step 2: Check each option for correctness
total = 0;
i = 1;
while i <= 10
total = total + i;
i = i + 1;
end initializes total and i, adds i to total, increments i, and stops at 10 correctly. total = 0;
i = 1;
while i < 10
total = total + i;
end misses increment causing infinite loop. total = 0;
for i = 1:10
total = total + i;
end uses for loop, not while. total = 0;
i = 1;
while i <= 10
total = total + i;
i = i - 1;
end decrements i causing infinite loop.
Final Answer:
total = 0;\ni = 1;\nwhile i <= 10\n total = total + i;\n i = i + 1;\nend -> Option D
Quick Check:
Increment i to sum 1 to 10 [OK]
Hint: Increment loop variable to reach end condition [OK]
Common Mistakes:
Forgetting to increment i
Using for loop instead of while
Decrementing i causing infinite loop
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.