CSE 240 FINAL EXAM REVIEW EXAM
QUESTIONS AND ANSWERS GRADED A+
2026
Functional programming languages do NOT allow us to define: - ANS variables whose value
can be modified.
The statement "a function is a first-class object" means that a function - ANS can be placed in
a place where a value is expected.
What notation requires parentheses in order to correctly define the order of computation? -
ANS infix notation
Convert the following expression into prefix-p notation (a Scheme statement):
-5 * (2 + 1/2) + 40 - ANS (+ (* (- 5) (+ 2 (/ 1 2))) 40)
One of the major differences between the imperative and functional programming languages is
that the functional programming languages do NOT (in general!)... - ANS have side-effects.
Which of the following is a valid Scheme expression? - ANS (* 9 (/ (- 4 2) 7))
Convert the following expression into prefix-p notation (a Scheme statement):
@COPYRIGHT 2026/2027 ALLRIGHTS RESERVED 1
,10 + (5 - 3) + - ANS (+ 10 (- 5 3) (/ 2 4))
Given an expression: x1 + x2 + x3 + x4
Which language allows us to evaluate the expression in this order: (1) x1 plus x2; (2) x3 plus x4;
(3) sum of ( x1 + x2 ) plus sum of ( x3 + x4 ), without concern for producing a different result
than other evaluation orders: - ANS Scheme
What is the expected result for this expression (in Scheme)?
(string-ref "Hello World" 4) - ANS #\o
Which of the following expression will return false (#f)? - ANS (number? #\7)
Given this procedure, what is the return result?
(define (guess value)
(cond ((number? value) "I'm a number")
((char? value) "I'm a character")
((integer? value) "I'm a integer")))
(guess 10) - ANS "I'm a number"
Which of the following are typical advantages of using a REPL for software development? -
ANS They let you interact with a program after it has populated the environment to
understand what is happening.
They let you experiment with small pieces of code to understand how they work.
@COPYRIGHT 2026/2027 ALLRIGHTS RESERVED 2
, What data structure is used in Scheme for representing extremely large integers? -
ANS probably a list. Really: we shouldn't know or care.
The Scheme form (char? #\5) will return - ANS true (#t)
What statements contain non-functional features of Scheme? Select all that apply. -
ANS (begin (write x) x)
(display x)
What functional feature does the code below best exhibit?
(define start-engine (lambda ()
(error-detection (wheel-velocity (wheel-sensor)) (body-velocity)))) - ANS procedures are first
class objects.
A let-form in Scheme defines a set of - ANS local names.
A let-form in Scheme is equivalent (in giving names to values) to - ANS an unnamed/lambda
procedure.
Given the Scheme code, answer the following questions.
((lambda (x)
((lambda (x y)
(+ x y))
4 (* 6 x)))
3)
@COPYRIGHT 2026/2027 ALLRIGHTS RESERVED 3
QUESTIONS AND ANSWERS GRADED A+
2026
Functional programming languages do NOT allow us to define: - ANS variables whose value
can be modified.
The statement "a function is a first-class object" means that a function - ANS can be placed in
a place where a value is expected.
What notation requires parentheses in order to correctly define the order of computation? -
ANS infix notation
Convert the following expression into prefix-p notation (a Scheme statement):
-5 * (2 + 1/2) + 40 - ANS (+ (* (- 5) (+ 2 (/ 1 2))) 40)
One of the major differences between the imperative and functional programming languages is
that the functional programming languages do NOT (in general!)... - ANS have side-effects.
Which of the following is a valid Scheme expression? - ANS (* 9 (/ (- 4 2) 7))
Convert the following expression into prefix-p notation (a Scheme statement):
@COPYRIGHT 2026/2027 ALLRIGHTS RESERVED 1
,10 + (5 - 3) + - ANS (+ 10 (- 5 3) (/ 2 4))
Given an expression: x1 + x2 + x3 + x4
Which language allows us to evaluate the expression in this order: (1) x1 plus x2; (2) x3 plus x4;
(3) sum of ( x1 + x2 ) plus sum of ( x3 + x4 ), without concern for producing a different result
than other evaluation orders: - ANS Scheme
What is the expected result for this expression (in Scheme)?
(string-ref "Hello World" 4) - ANS #\o
Which of the following expression will return false (#f)? - ANS (number? #\7)
Given this procedure, what is the return result?
(define (guess value)
(cond ((number? value) "I'm a number")
((char? value) "I'm a character")
((integer? value) "I'm a integer")))
(guess 10) - ANS "I'm a number"
Which of the following are typical advantages of using a REPL for software development? -
ANS They let you interact with a program after it has populated the environment to
understand what is happening.
They let you experiment with small pieces of code to understand how they work.
@COPYRIGHT 2026/2027 ALLRIGHTS RESERVED 2
, What data structure is used in Scheme for representing extremely large integers? -
ANS probably a list. Really: we shouldn't know or care.
The Scheme form (char? #\5) will return - ANS true (#t)
What statements contain non-functional features of Scheme? Select all that apply. -
ANS (begin (write x) x)
(display x)
What functional feature does the code below best exhibit?
(define start-engine (lambda ()
(error-detection (wheel-velocity (wheel-sensor)) (body-velocity)))) - ANS procedures are first
class objects.
A let-form in Scheme defines a set of - ANS local names.
A let-form in Scheme is equivalent (in giving names to values) to - ANS an unnamed/lambda
procedure.
Given the Scheme code, answer the following questions.
((lambda (x)
((lambda (x y)
(+ x y))
4 (* 6 x)))
3)
@COPYRIGHT 2026/2027 ALLRIGHTS RESERVED 3