CSE 240 EXAM 1 COMPREHENSIVE DATA
STRUCTURES AND ALGORITHMS STUDY GUIDE
2026
◉ What notation requires parentheses in order to correctly define
the order of computation?
Answer: infix notation
◉ Convert the following expression into prefix-p notation (a Scheme
statement):
-5 * (2 + 1/2) + 40
Answer: (+ (* (- 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!)...
Answer: have side-effects.
◉ Which of the following is a valid Scheme expression?
Answer: (* 9 (/ (- 4 2) 7))
,◉ Convert the following expression into prefix-p notation (a Scheme
statement):
10 + (5 - 3) +
Answer: (+ 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:
Answer: Scheme
◉ What is the expected result for this expression (in Scheme)?
(string-ref "Hello World" 4)
Answer: #\o
◉ Which of the following expression will return false (#f)?
Answer: (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)
Answer: "I'm a number"
◉ Which of the following are typical advantages of using a REPL for
software development?
Answer: 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.
◉ What data structure is used in Scheme for representing extremely
large integers?
Answer: probably a list. Really: we shouldn't know or care.
◉ The Scheme form (char? #\5) will return
Answer: true (#t)
◉ What statements contain non-functional features of Scheme?
Select all that apply.
Answer: (begin (write x) x)
STRUCTURES AND ALGORITHMS STUDY GUIDE
2026
◉ What notation requires parentheses in order to correctly define
the order of computation?
Answer: infix notation
◉ Convert the following expression into prefix-p notation (a Scheme
statement):
-5 * (2 + 1/2) + 40
Answer: (+ (* (- 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!)...
Answer: have side-effects.
◉ Which of the following is a valid Scheme expression?
Answer: (* 9 (/ (- 4 2) 7))
,◉ Convert the following expression into prefix-p notation (a Scheme
statement):
10 + (5 - 3) +
Answer: (+ 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:
Answer: Scheme
◉ What is the expected result for this expression (in Scheme)?
(string-ref "Hello World" 4)
Answer: #\o
◉ Which of the following expression will return false (#f)?
Answer: (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)
Answer: "I'm a number"
◉ Which of the following are typical advantages of using a REPL for
software development?
Answer: 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.
◉ What data structure is used in Scheme for representing extremely
large integers?
Answer: probably a list. Really: we shouldn't know or care.
◉ The Scheme form (char? #\5) will return
Answer: true (#t)
◉ What statements contain non-functional features of Scheme?
Select all that apply.
Answer: (begin (write x) x)