AP CSP 3.12 Exercise 2: Calling Procedures Applied Challenge

Big Idea 3: Algorithms and Programming · Topic 3.12 · Exercise 2

Calling Procedures: Applied Challenge

Six calls where the argument order, the return value, or the scope decides the answer.

How this one is different

Calling a procedure is easy. Knowing what comes back, and what the caller can see afterwards, is where the points are.

Applied Practice

6 questions · scenario driven · every answer is recorded for your teacher

Question 1 of 6Trace
Given PROCEDURE divide(a, b) that returns a / b, what does DISPLAY divide(20, 4) show?
Incorrect. 0.2 comes from reversing the arguments.
Incorrect. 80 is the product rather than the quotient.
Incorrect. 24 is the sum of the two arguments, and the procedure body divides rather than adds.
Correct. Arguments bind in order, so a is 20 and b is 4, giving 5.
Question 2 of 6Debug
A student calls a procedure that returns a value but nothing appears on screen.
What is most likely missing?
PROCEDURE doubleIt(n) { RETURN n * 2 } doubleIt(5)
Incorrect. Returning an expression built from a parameter is the normal case.
Incorrect. Adding a DISPLAY inside works, but it changes the procedure into one that can only print, which is a worse design than using the value the caller already receives.
Correct. A returned value goes back to the caller and is discarded unless the caller does something with it. Displaying or storing it is the fix.
Incorrect. Calling twice discards the result twice.
Question 3 of 6Analyze
A procedure declares a variable inside its body, and the caller tries to display it afterwards.
What happens and why?
Incorrect. Variables are not globally shared by default, and relying on that is what scope rules prevent.
Correct. Scope limits a local variable to the procedure that declared it, which is what makes procedures safe to reuse without collisions.
Incorrect. A procedure returns only what its RETURN statement names.
Incorrect. There is no value to display, which is a different situation from displaying zero.
Question 4 of 6Apply
A procedure is defined as PROCEDURE rectArea(width, height). Which call computes the area of a rectangle 3 wide and 8 tall?
Correct. Arguments bind to parameters in the order written, so width receives 3 and height receives 8.
Incorrect. The procedure takes two arguments, not a precomputed result.
Incorrect. Passing the parameter names is not how a call supplies values.
Incorrect. This passes the height first, which binds it to width.
Question 5 of 6Evaluate
The same twelve lines appear in four places in a program.
What is the strongest argument for moving them into a procedure?
Incorrect. Memory use is not the argument, and the difference is negligible.
Incorrect. The variable count is not what changes.
Incorrect. A procedure call is not faster than inline code, and may be marginally slower.
Correct. Duplication makes divergence possible. One definition means a fix cannot be applied partially.
Question 6 of 6Transfer
What is the difference between a procedure that returns a value and one that does not?
Incorrect. The difference shows up exactly in whether the call can appear inside a larger expression.
Incorrect. Returning procedures take parameters routinely.
Correct. A return value flows back into the expression at the call site. Without one, the call is a statement performed for its effect.
Incorrect. Either kind can be called any number of times.

Where to go next

Get in Touch

Whether you're a student, parent, or teacher — I'd love to hear from you.

Just want free AP CS resources?

Enter your email below and check the subscribe box — no message needed. Students get daily practice questions and study tips. Teachers get curriculum resources and teaching strategies.

Typically responds within 24 hours

Message Sent!

Thanks for reaching out. I'll get back to you within 24 hours.

🏫 Welcome, fellow educator!

I offer curriculum resources, practice materials, and study guides designed for AP CS teachers. Let me know what you're looking for — whether it's classroom materials, a guest speaker, or Teachers Pay Teachers resources.

Email

[email protected]

📚

Courses

AP CSA, CSP, & Cybersecurity

Response Time

Within 24 hours

Prefer email? Reach me directly at [email protected]