📖 Scenario: You are creating a simple program that decides what to wear based on the weather temperature.
🎯 Goal: Build a Ruby program that uses if, elsif, and else statements to suggest clothing based on temperature.
📋 What You'll Learn
Create a variable called temperature with an integer value.
Create a variable called hot_threshold with an integer value.
Use if, elsif, and else statements to decide clothing.
Print the clothing suggestion.
💡 Why This Matters
🌍 Real World
Decision making based on conditions is common in apps that respond to user input or environmental data, like weather apps.
💼 Career
Understanding conditional statements is essential for programming logic in any software development role.
Progress0 / 4 steps
1
DATA SETUP: Create the temperature variable
Create a variable called temperature and set it to 30.
Ruby
Hint
Use temperature = 30 to create the variable.
2
CONFIGURATION: Create the hot_threshold variable
Create a variable called hot_threshold and set it to 25.
Ruby
Hint
Use hot_threshold = 25 to create the variable.
3
CORE LOGIC: Use if, elsif, else to decide clothing
Use if, elsif, and else statements with the variables temperature and hot_threshold to create a variable called clothing that is: - "Wear shorts" if temperature is greater than hot_threshold - "Wear a jacket" if temperature is between 15 and hot_threshold (inclusive) - "Wear a coat" if temperature is less than 15
Ruby
Hint
Use if, elsif, and else with comparisons to set clothing.
4
OUTPUT: Print the clothing suggestion
Write a puts statement to print the value of the variable clothing.
Ruby
Hint
Use puts clothing to print the suggestion.
Practice
(1/5)
1.
What does the elsif keyword do in Ruby?
easy
A. It ends the if statement.
B. It runs code only if all previous conditions were true.
C. It checks another condition if the previous if or elsif was false.
D. It repeats the if block multiple times.
Solution
Step 1: Understand the role of elsif
The elsif keyword is used to check another condition only if the previous if or elsif condition was false.
Step 2: Compare with other options
Options A, C, and D describe behaviors that do not match elsif. It does not end the statement, nor repeats code, nor runs only if all previous conditions were true.
Final Answer:
It checks another condition if the previous if or elsif was false. -> Option C
Quick Check:
elsif = check next condition [OK]
Hint: Remember: elsif checks next condition if previous false [OK]
Common Mistakes:
Thinking elsif ends the if statement
Confusing elsif with else
Assuming elsif runs only if all previous are true
2.
Which of the following is the correct syntax for an if statement with an else in Ruby?
?
easy
A. if x > 10
puts "Big"
else
puts "Small"
end
B. if (x > 10) {
puts "Big"
} else {
puts "Small"
}
C. if x > 10 then puts "Big" else puts "Small"
D. if x > 10:
puts "Big"
else:
puts "Small"
Solution
Step 1: Identify Ruby syntax for if and else
Ruby uses if condition, then code indented or on next line, and ends with end. Curly braces or colons are not used.
Step 2: Check each option
if x > 10
puts "Big"
else
puts "Small"
end matches Ruby syntax exactly. Options A, B, and C use syntax from other languages like colons (A), braces (B), or missing end (C).
Final Answer:
if x > 10
puts "Big"
else
puts "Small"
end -> Option A
score is 75. First condition: score >= 90 is false. Second: score >= 80 is false. Third: score >= 70 is true.
Step 2: Output for first true condition
Since third condition is true, it prints "Grade C" and skips the rest.
Final Answer:
Grade C -> Option D
Quick Check:
75 >= 70 is true, so output is Grade C [OK]
Hint: Check conditions top to bottom; first true runs [OK]
Common Mistakes:
Choosing Grade B or A without checking order
Ignoring that only first true condition runs
Confusing >= with >
4.
Find the error in this Ruby code snippet:
number = 10
if number > 5
puts "Big"
elsif number < 3
puts "Small"
else
puts "Medium"
medium
A. Wrong keyword elsif should be else if.
B. Missing end to close the if statement.
C. The puts statements need parentheses.
D. The comparison operators are incorrect.
Solution
Step 1: Check Ruby syntax completeness
Ruby if statements must end with end. The code snippet is missing end.
Step 2: Verify other parts
elsif is correct in Ruby. puts can be used without parentheses. Comparison operators are correct.
Final Answer:
Missing end to close the if statement. -> Option B
Quick Check:
Every if needs end [OK]
Hint: Always close if with end [OK]
Common Mistakes:
Replacing elsif with else if
Adding unnecessary parentheses to puts
Changing correct comparison operators
5.
You want to write a Ruby program that prints "Positive", "Negative", or "Zero" depending on the value of num. Which code correctly uses if, elsif, and else to do this?
hard
A. if num > 0
puts "Positive"
elsif num < 0
puts "Negative"
else
puts "Zero"
end
B. if num >= 0
puts "Positive"
elsif num <= 0
puts "Negative"
else
puts "Zero"
end
C. if num > 0
puts "Positive"
else if num < 0
puts "Negative"
else
puts "Zero"
end
D. if num > 0
puts "Positive"
elsif num > 0
puts "Negative"
else
puts "Zero"
end
Solution
Step 1: Understand the conditions needed
We want to print "Positive" if num > 0, "Negative" if num < 0, and "Zero" otherwise.
Step 2: Check each option's logic
if num > 0
puts "Positive"
elsif num < 0
puts "Negative"
else
puts "Zero"
end matches the logic exactly with correct if, elsif, and else. if num >= 0
puts "Positive"
elsif num <= 0
puts "Negative"
else
puts "Zero"
end wrongly treats zero as positive. if num > 0
puts "Positive"
else if num < 0
puts "Negative"
else
puts "Zero"
end uses invalid else if syntax in Ruby. if num > 0
puts "Positive"
elsif num > 0
puts "Negative"
else
puts "Zero"
end repeats the same condition twice, which is incorrect.
Final Answer:
if num > 0
puts "Positive"
elsif num < 0
puts "Negative"
else
puts "Zero"
end -> Option A
Quick Check:
Correct conditions and syntax = if num > 0
puts "Positive"
elsif num < 0
puts "Negative"
else
puts "Zero"
end [OK]
Hint: Use elsif for second condition, else for default [OK]
Common Mistakes:
Using else if instead of elsif
Repeating same condition in elsif
Misclassifying zero as positive or negative
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.