Bird
Raised Fist0
Fluttermobile~10 mins

Control flow (if, for, while, switch) in Flutter - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to check if a number is positive.

Flutter
if (number [1] 0) {
  print('Positive');
}
Drag options to blanks, or click blank then click option'
A<
B==
C>
D<=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' instead of '>' causes wrong logic.
Using '==' checks only for zero.
2fill in blank
medium

Complete the for loop to print numbers from 0 to 4.

Flutter
for (int i = 0; i [1] 5; i++) {
  print(i);
}
Drag options to blanks, or click blank then click option'
A<
B>
C>=
D<=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<=' prints 0 to 5, which is one extra.
Using '>' causes the loop to never run.
3fill in blank
hard

Fix the error in the while loop condition to stop at 3.

Flutter
int count = 0;
while (count [1] 3) {
  print(count);
  count++;
}
Drag options to blanks, or click blank then click option'
A<
B<=
C>=
D>
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' excludes 3 from the loop.
Using '>' causes the loop to never run.
4fill in blank
hard

Fill both blanks to create a for loop that prints even numbers from 2 to 6.

Flutter
for (int i = [1]; i [2] 6; i += 2) {
  print(i);
}
Drag options to blanks, or click blank then click option'
A2
B<
C<=
D1
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' excludes 6 from printing.
Starting at 1 prints odd numbers.
5fill in blank
hard

Fill all three blanks to create a switch statement that prints the day name for 1, 2, or 3.

Flutter
switch(day) {
  case [1]:
    print('Monday');
    break;
  case [2]:
    print('Tuesday');
    break;
  case [3]:
    print('Wednesday');
    break;
  default:
    print('Invalid day');
}
Drag options to blanks, or click blank then click option'
A1
B2
C3
D4
Attempts:
3 left
💡 Hint
Common Mistakes
Using 4 causes the default case to run.
Mixing numbers changes the output.

Practice

(1/5)
1. Which control flow statement in Flutter is used to make decisions based on conditions?
easy
A. if
B. for
C. while
D. switch

Solution

  1. Step 1: Understand the purpose of control flow statements

    if statements let the app choose between actions based on conditions.
  2. Step 2: Identify the decision-making statement

    Among the options, only if directly tests a condition to decide what code runs.
  3. Final Answer:

    if -> Option A
  4. Quick Check:

    Decision making = if [OK]
Hint: Use if to check conditions and decide [OK]
Common Mistakes:
  • Confusing for loops with decision making
  • Thinking while is for choices instead of repetition
  • Assuming switch is the only decision tool
2. Which of the following is the correct syntax for a for loop in Flutter to print numbers 0 to 4?
easy
A. for (int i = 1; i < 5; i++) { print(i); }
B. for i in 0 to 4 { print(i); }
C. for (int i = 0; i < 5; i++) { print(i); }
D. for (i = 0; i <= 5; i++) print(i);

Solution

  1. Step 1: Check the loop initialization and condition

    for (int i = 0; i < 5; i++) { print(i); } initializes i at 0 and loops while i < 5, which prints 0 to 4.
  2. Step 2: Verify syntax correctness

    for (int i = 0; i < 5; i++) { print(i); } uses correct Dart syntax with types and braces.
  3. Final Answer:

    for (int i = 0; i < 5; i++) { print(i); } -> Option C
  4. Quick Check:

    Correct Dart for loop syntax = for (int i = 0; i < 5; i++) { print(i); } [OK]
Hint: Remember Dart for loops use semicolons and braces [OK]
Common Mistakes:
  • Using Python-style loops like 'for i in 0 to 4'
  • Off-by-one errors in loop conditions
  • Missing type declaration for loop variable
3. What will be the output of this Flutter Dart code?
int count = 0;
while (count < 3) {
  print(count);
  count++;
}
medium
A. 1 2 3
B. No output
C. 0 1 2 3
D. 0 1 2

Solution

  1. Step 1: Analyze the while loop condition and increments

    The loop starts with count = 0 and runs while count < 3, printing count each time.
  2. Step 2: Trace the printed values

    It prints 0, then increments to 1, prints 1, increments to 2, prints 2, increments to 3, then stops.
  3. Final Answer:

    0 1 2 -> Option D
  4. Quick Check:

    Loop prints values less than 3 = 0 1 2 [OK]
Hint: Count starts at 0 and stops before 3, so prints 0,1,2 [OK]
Common Mistakes:
  • Including 3 in output mistakenly
  • Confusing post-increment behavior
  • Thinking loop runs zero times
4. Identify the error in this Flutter Dart code snippet:
int i = 0;
while (i < 5) {
  print(i);
}
medium
A. Missing increment of i inside the loop
B. Incorrect while loop syntax
C. Variable i should be declared inside the loop
D. print() cannot be used inside loops

Solution

  1. Step 1: Check loop control variables

    The variable i is initialized but never changed inside the loop.
  2. Step 2: Understand loop behavior

    Without incrementing i, the condition i < 5 is always true, causing an infinite loop.
  3. Final Answer:

    Missing increment of i inside the loop -> Option A
  4. Quick Check:

    Loops need changing variables to stop [OK]
Hint: Always update loop variables to avoid infinite loops [OK]
Common Mistakes:
  • Forgetting to increment loop counters
  • Assuming loop ends automatically
  • Misunderstanding while loop syntax
5. You want to display a message in Flutter based on a user's score:
int score = 75;
switch (score ~/ 10) {
  case 10:
  case 9:
    print('Excellent');
    break;
  case 8:
    print('Very Good');
    break;
  case 7:
    print('Good');
    break;
  default:
    print('Keep Trying');
}

What message will be printed?
hard
A. Excellent
B. Good
C. Very Good
D. Keep Trying

Solution

  1. Step 1: Calculate the switch expression value

    score is 75, so score ~/ 10 is integer division 75/10 = 7.
  2. Step 2: Match the case for value 7

    Case 7 matches and prints 'Good'.
  3. Final Answer:

    Good -> Option B
  4. Quick Check:

    Integer division selects case 7 = 'Good' [OK]
Hint: Use integer division to group scores in switch cases [OK]
Common Mistakes:
  • Forgetting integer division operator ~/
  • Assuming score matches case directly
  • Missing break statements causing fall-through
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard