Draw a flowchart that shows how a function named 'greet' works. The function takes a name as input and prints 'Hello, [name]!'. Then show how the main program calls this function with the name 'Alice'.
5 minutes
Hint 1
Hint 2
Hint 3
Hint 4
Hint 5
Grading Criteria
Start and End symbols present for both main program and function
Function definition shown as a separate block
Parameter input to function clearly indicated
Function call from main program shown
Print statement inside function correctly shown
Flow direction arrows correctly connect steps
Solution
+-------------------+ +-------------------------+
| Start | | Start Function |
+-------------------+ +-------------------------+
| |
v v
+-------------------+ +-------------------------+
| Call greet('Alice')|--------->| Receive parameter name |
+-------------------+ +-------------------------+
| |
| v
| +-------------------------+
| | Print "Hello, [name]!" |
| +-------------------------+
| |
| +-------------------------+
| | End Function |
| +-------------------------+
v |
+-------------------+ |
| End |<-----------------+
+-------------------+
This flowchart shows two parts: the main program and the function named 'greet'.
1. The main program starts and calls the function 'greet' with the input 'Alice'.
2. The function starts and receives the input parameter called 'name'.
3. Inside the function, it prints the message "Hello, Alice!" by inserting the input name into the greeting.
4. The function ends and returns control back to the main program.
5. The main program then ends.
This shows how functions let us reuse code by defining a block that can be called with different inputs.
Variations - 2 Challenges
[intermediate] Draw a flowchart for a function named 'add' that takes two numbers as input and returns their sum. Show the main program calling 'add' with 5 and 3, then printing the result.
[advanced] Draw a flowchart for a function named 'is_even' that takes a number as input and returns 'Yes' if the number is even, or 'No' if it is odd. Show the main program calling 'is_even' with 10 and printing the result.
Practice
(1/5)
1. What is the main purpose of a function in programming?
easy
A. To display output on the screen
B. To reuse a block of code multiple times
C. To store data permanently
D. To create a new variable
Solution
Step 1: Understand what a function does
A function is a reusable block of code designed to perform a specific task.
Step 2: Identify the main purpose
Functions help avoid repeating the same code by allowing reuse whenever needed.
Final Answer:
To reuse a block of code multiple times -> Option B
Quick Check:
Function purpose = reuse code [OK]
Hint: Functions help reuse code blocks easily [OK]
Common Mistakes:
Confusing functions with variables
Thinking functions store data permanently
Believing functions only display output
2. Which of the following is the correct way to define a function named greet that takes no inputs?
easy
A. function greet() {}
B. function greet:
C. def greet()
D. def greet():
Solution
Step 1: Recognize Python function syntax
In Python, functions are defined using the keyword def, followed by the function name and parentheses with parameters (empty if none), ending with a colon.
Step 2: Check each option
def greet(): matches Python syntax. function greet() {} and function greet: use JavaScript style or incorrect syntax. def greet() misses the colon.
Final Answer:
def greet(): -> Option D
Quick Check:
Python function = def name(): [OK]
Hint: Python functions start with def and end with colon [OK]
Common Mistakes:
Omitting the colon at the end
Using JavaScript syntax in Python
Leaving out parentheses
3. What will be the output of this code?
def add(x, y):
return x + y
result = add(3, 4)
print(result)
medium
A. TypeError
B. 34
C. 7
D. None
Solution
Step 1: Understand the function call
The function add takes two inputs x and y and returns their sum.
Step 2: Calculate the return value
Calling add(3, 4) returns 3 + 4 = 7, which is stored in result. Printing result outputs 7.
Final Answer:
7 -> Option C
Quick Check:
3 + 4 = 7 [OK]
Hint: Add numbers inside function returns their sum [OK]
Common Mistakes:
Thinking it concatenates numbers as strings
Expecting a TypeError due to missing return
Assuming print shows None
4. Identify the error in this function definition:
def multiply(a, b)
return a * b
medium
A. Missing colon after function header
B. Incorrect return statement
C. Function name is invalid
D. Parameters should be in square brackets
Solution
Step 1: Check function header syntax
In Python, the function header must end with a colon (:). Here, it is missing after def multiply(a, b).
Step 2: Verify other parts
The return statement and function name are correct. Parameters use parentheses, not square brackets.
Final Answer:
Missing colon after function header -> Option A
Quick Check:
Function header ends with : [OK]
Hint: Function headers always end with a colon in Python [OK]
Common Mistakes:
Forgetting the colon at the end
Using square brackets for parameters
Misnaming the function
5. You want to create a function that returns the square of a number only if the number is positive; otherwise, it returns zero. Which function correctly implements this?
hard
A. def square_if_positive(n):
if n > 0:
return n * n
else:
return 0
B. def square_if_positive(n):
if n >= 0:
return n ** 2
else:
return n
C. def square_if_positive(n):
return n * n if n > 0 else None
D. def square_if_positive(n):
if n < 0:
return n * n
else:
return 0
Solution
Step 1: Understand the condition
The function should return the square of n only if n is positive (greater than 0). Otherwise, it returns 0.
Step 2: Check each option
def square_if_positive(n):
if n > 0:
return n * n
else:
return 0 correctly checks n > 0 and returns n * n, else 0. def square_if_positive(n):
if n >= 0:
return n ** 2
else:
return n includes zero as positive and returns n if negative, which is incorrect. def square_if_positive(n):
return n * n if n > 0 else None returns None instead of 0 when n is not positive. def square_if_positive(n):
if n < 0:
return n * n
else:
return 0 squares negative numbers and returns 0 otherwise, which is opposite.
Final Answer:
def square_if_positive(n):
if n > 0:
return n * n
else:
return 0 -> Option A
Quick Check:
Positive n squared, else zero [OK]
Hint: Check condition n > 0, return square else zero [OK]
Common Mistakes:
Including zero as positive
Returning None instead of zero
Reversing the condition logic
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.